Thursday, November 7, 2013

Delete Duplicate rows in Oracle

Rank Method

Delete from NEWREFDB.BRANCH
 where rowid in (
SELECT ROWID FROM (
SELECT BRNCH_NUM, BANK_NUM, ROWID,
ROW_NUMBER() OVER (PARTITION BY BANK_NUM, BRNCH_NUM ORDER BY BANK_NUM, BRNCH_NUM) DUP
FROM NEWREFDB.BRANCH )
WHERE DUP > 1

Self Join Method

DELETE FROM
   table_name A
WHERE
  a.rowid >
   ANY (
     SELECT
        B.rowid
     FROM
        table_name B
     WHERE
        A.col1 = B.col1
     AND
        A.col2 = B.col2
        ); 


Wednesday, October 30, 2013

KSH example to look for Oracle errors in the log file and run a script

errno=$(grep ORA- $1|wc -l)
if [[ $errno -gt 0 ]]; then
echo $errno
echo "There are errors in logs"
else
echo "There are no errors in logs"
sqlplus ksomaiy2@usfbdev @MASTER_DBCR.sql
fi