Tuesday 21 October 2014

Errors: ORA-00301, ORA-17502, ORA-15005 name is already used by an existing alias

Errors: ORA-00301, ORA-17502, ORA-15005

SQL> ALTER DATABASE ADD LOGFILE THREAD 2
 GROUP 5 ('+TEST_REDO/TEST_redo_t2g1m1',
  2    3           '+TEST_REDO/TEST_redo_t2g1m2') size 20M,
  4   GROUP 6 ('+TEST_REDO/TEST_redo_t2g2m1',
  5           '+TEST_REDO/TEST_redo_t2g2m2') size 20M,
  6   GROUP 7 ('+TEST_REDO/TEST_redo_t2g3m1',
  7           '+TEST_REDO/TEST_redo_t2g3m2') size 20M,
  8   GROUP 8 ('+TEST_REDO/TEST_redo_t2g4m1',
  9           '+TEST_REDO/TEST_redo_t2g4m2') size 20M;
ALTER DATABASE ADD LOGFILE THREAD 2
*
ERROR at line 1:
ORA-00301: error in adding log file '+TEST_REDO/TEST_redo_t2g1m1' - file cannot be created
ORA-17502: ksfdcre:4 Failed to create file +TEST_REDO/TEST_redo_t2g1m1
ORA-15005: name "TEST_redo_t2g1m1" is already used by an existing alias

The problem is because the logfile exists in the ASM disks as below

servTEST501:grid $ asmcmd
ASMCMD> cd TEST_REDO
ls
ASMCMD> TEST/
TEST_def_temp_01
TEST_redo_t1g1m1
TEST_redo_t1g1m2
TEST_redo_t1g2m1
TEST_redo_t1g2m2
TEST_redo_t1g3m1
TEST_redo_t1g3m2
TEST_redo_t1g3m3
TEST_redo_t1g3m4
TEST_redo_t1g4m1
TEST_redo_t1g4m2
TEST_redo_t2g1m1
TEST_redo_t2g1m2
TEST_redo_t2g2m1
TEST_redo_t2g2m2
TEST_redo_t2g3m1
TEST_redo_t2g3m2
TEST_redo_t2g4m1
TEST_redo_t2g4m2
TEST_temp_01
ASMCMD> rm TEST_redo_t2g1m1
ASMCMD> rm TEST_redo_t2g1m2
;
:
ASMCMD>rm TEST_redo_t2g4m2

remove the logfiles created for thread 2 in the asm and recreate the logfiles

SQL> ALTER DATABASE ADD LOGFILE THREAD 2
 GROUP 5 ('+TEST_REDO/TEST_redo_t2g1m1',
         '+TEST_REDO/TEST_redo_t2g1m2') size 20M,
  2    3    4   GROUP 6 ('+TEST_REDO/TEST_redo_t2g2m1',
  5           '+TEST_REDO/TEST_redo_t2g2m2') size 20M,
  6   GROUP 7 ('+TEST_REDO/TEST_redo_t2g3m1',
  7           '+TEST_REDO/TEST_redo_t2g3m2') size 20M,
  8   GROUP 8 ('+TEST_REDO/TEST_redo_t2g4m1',
  9           '+TEST_REDO/TEST_redo_t2g4m2') size 20M;

Database altered.

Explanation: Though we drop the logs using the sql command it is registered as dropped in the controlfile but the physical file exists which has to be removed manually.



No comments: