ORA-15177: cannot operate on system aliases (DBD ERROR: OCIStmtExecute)

環境:ORACLE 11.2.0.1  但實例的ASM存儲

故障:由於修改數據庫參數設置錯誤,重啓數據庫導致無法啓動

解決步驟:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create pfile='/tmp/pfile01.txt' from spfile;
create pfile='/tmp/pfile01.txt' from spfile
*
ERROR at line 1:
ORA-01565: error in identifying file
'?/dbs/[email protected]'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

SQL> create pfile='/tmp/pfilehidb' from spfile='+hi_data/hidb/spfilehidb.ora';

File created.

修改/tmp/pfilehidb內容正確後,重建spfiel

SQL> create spfile='+hi_data' from pfile='/tmp/pfilehidb';

File created.

用grid用戶登錄查看

ASMCMD> ls -al
Type           Redund  Striped  Time             Sys  Name
                                                 Y    ARCHIVELOG/
                                                 Y    CONTROLFILE/
                                                 Y    DATAFILE/
                                                 Y    ONLINELOG/
                                                 Y    TEMPFILE/
                                                 N    spfilehidb.ora => +HI_DATA/DB_UNKNOWN/PARAMETERFILE/SPFILE.256.786449611
ASMCMD> cd ..
ASMCMD> ls
ASM/
DB_UNKNOWN/
HIDB/

發現自動創建了一個DB_UNKNOWN文件夾,通過查找資料發現是數據庫沒啓動導致的,所以刪除DB_UNKNOWN文件夾,重新來過

ASMCMD> rm DB_UNKNOWN
ORA-15032: not all alterations performed
ORA-15177: cannot operate on system aliases (DBD ERROR: OCIStmtExecute)

ASMCMD> cd hidb
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
TEMPFILE/
spfilehidb.ora
ASMCMD> rm spfilehidb.ora
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
TEMPFILE/
ASMCMD> cd ..
ASMCMD> ls
ASM/
DB_UNKNOWN/
HIDB/
ASMCMD> rm DB_UNKNOWN
ORA-15032: not all alterations performed
ORA-15177: cannot operate on system aliases (DBD ERROR: OCIStmtExecute)    --無法刪除此空目錄,可以使用rm -rf 強行刪除

ASMCMD> rm -r DB_UNKNOWN
You may delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> ls
ASM/
HIDB/

啓動數據庫重建spfiel

SQL> startup pfile='/tmp/pfilehidb'
ORACLE instance started.

Total System Global Area 8217530368 bytes
Fixed Size      2214856 bytes
Variable Size   1476396088 bytes
Database Buffers  6710886400 bytes
Redo Buffers     28033024 bytes
Database mounted.
Database opened.
SQL> create spfile='+hi_data/hidb/spfilehidb.ora' from pfile='/tmp/pfilehidb';

File created.

SQL> create spfile='+hi_data/hidb/spfilehidb.ora' from pfile='/tmp/pfilehidb';

File created.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 8217530368 bytes
Fixed Size      2214856 bytes
Variable Size   1476396088 bytes
Database Buffers  6710886400 bytes
Redo Buffers     28033024 bytes
Database mounted.
Database opened.

正常啓動

查看asm存儲

ASMCMD> pwd
+hi_data/hidb
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfilehidb.ora
ASMCMD> ls -al
Type           Redund  Striped  Time             Sys  Name
                                                 Y    CONTROLFILE/
                                                 Y    DATAFILE/
                                                 Y    ONLINELOG/
                                                 Y    PARAMETERFILE/
                                                 Y    TEMPFILE/
                                                 N    spfilehidb.ora => +HI_DATA/HIDB/PARAMETERFILE/spfile.271.786452791


ORACLE自動創建了一個PARAMETERFILE文件夾,並在hidb文件夾下啓了一個spfilehidb.ora別名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章