ora-201 and Checker run found %n% new persistent data failures

Message from Alert.log:
Checker run found 3 new persistent data failures
ora-201 signalled during: alter database mount exclusive.

On Windows, when we stop and start the OracleService (services.msc) the above error reported.

Issue was with the permission on the controlfiles.

Moved Controlfiles to new location and issue got resolved.

Cheers !!!
Raheel Syed

Aside | Posted on by | Tagged , , , | Leave a comment

ORA-00001: unique constraint violated

IGNORE_ROW_ON_DUPKEY_INDEX hint is on rescue. This is the NEW feature in 11gR2 applied on INSERT statements, wherein duplicate values will be ignored rather causing ORA-00001 error.

Scenario: Development team wanted one of the STAGING table to be refreshed from PROD table without replacing the existing rows in the staging table.


For understanding purpose I have created table EMP_BK as STAGING table and EMP as PROD table.

Existing table data:


SQL> insert into EMP_BK (empno,ename,job,mgr,hiredate,sal,comm,deptno) 
select empno,ename,job,mgr,hiredate,sal,comm,deptno from EMP;

insert into EMP_BK (empno,ename,job,mgr,hiredate,sal,comm,deptno) 
select empno,ename,job,mgr,hiredate,sal,comm,deptno from EMP;
error at line 1:
ora-00001: unique constraint (scott.pk_emp_bk) violated

SQL> insert /*+ ignore_row_on_dupkey_index(emp_bk,pk_emp_bk) */  
into EMP_BK (empno,ename,job,mgr,hiredate,sal,comm,deptno) 
select empno,ename,job,mgr,hiredate,sal,comm,deptno from EMP;

1 row created.

SQL> commit;

Commit complete.

Verify by querying the EMP_BK table


EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH      CLERK           7902 17-DEC-80        800                    20
7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
7566 JONES      MANAGER         7839 02-APR-81       2975                    20
7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
7839 KING       PRESIDENT            17-NOV-81       5000                    10
7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
7900 JAMES      CLERK           7698 03-DEC-81        950                    30
7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
1022 RAHEEL     DBA             7782 29-DEC-13       2000          0         30

15 rows selected.


Posted in 11gR2, New Features | Tagged , , , | Leave a comment

Recovering from rm -rf on a datafile

This should save me from embarrassment.


This blog posting is entirely the credit of Frits Hoogland, who pointed out to me that this was possible.

I managed to delete a datafile, that while it had been created in a completely stupid location, was very much in use. I’m sure we’ve all been there, I mean who hasn’t run rm -rf somewhere they shouldn’t have? When I subsequently checked the database and saw no flashback database, I realised this was going to mean the database being recreated. It was non-production of course, so no real big deal, but still a bit of work none the less. Thanks to Frits’ suggestion though, I could have saved myself some of that work!

First lets create a tablespace, in a really dumb location:

So we have a schema temp_test with a simple table that was created in the temp_test datafile (this was default tablespace of temp_test user). Now we…

View original post 295 more words

Posted in Troubleshooting | Tagged , , | Leave a comment

Sangam 13 – Oracle Users Conference in India

Registration is now open for Largest Oracle users conference in India – Sangam ’13.

Conference Dates: 8th – 9th Nov 2013

Location: Hyderabad, India

Click here for more details and agenda.

Cheers !!


Posted in Conference | Tagged , , , , | Leave a comment

Tools to aggregate Oracle CRS logfiles in one file, filter it, sort it, and display it.

Oracle ... as usual

If you already faced RAC problems, you had to analyze log files from the entry points which are the alert.log files.

But as Oracle clusterware logs its events in many logfiles (usually one per process), and you have a logfile directory on each server, it can be difficult to detect the causes, and specially the root cause of a specific problem.

Recently I created a little perl script that will help me for this purpose. This script is named “crs_log_aggregator.pl” and is available for download at this URL : https://app.box.com/s/xi3h7bpssrqtkp55q43c.

This script works like this. As input, it takes one or n directories to analyze recursively. Those directories are containing all crs log files of all cluster nodes you want to analyze.

For each directory, it parses each log files (except the alert.log) and each history log files (with file extension: l??). Parsing will get the timestamp mentioned in the…

View original post 1,384 more words

Posted in Uncategorized | Leave a comment

Oracle 12c RAC On your laptop By Yury Velikanov


This is the most quickest hands-on on RAC 12c by Yury Velikanov

Link: Oracle 12c RAC On your laptop, Step by Step Guide.


Cheers !!
Posted in 12c, RAC | Tagged , , | 2 Comments

Restore and Recover Table Using RMAN


While scanning through Oracle Database 12c New Feature guide, one feature that caught my attention Table-Level Recovery from Backups

RMAN can restore and recover table or set of tables from existing disk or tape backups using RECOVER TABLE option.




Posted in 12, RMAN | Tagged , , , , | 4 Comments