ORACLE startup報錯之ORA-01261&&ORA-01263&&ORA-00202&&ORA-00205

清風艾艾發表於2017-08-08
    系統環境:windows server 2008R2
   資料庫環境:oracle 11.2.0.1
   問題描述:一測試資料庫oradb啟動時報錯ORA-01261&&ORA-00202,報錯日誌如下:
C:\Users\localadmin>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 8月 8 10:12:29 2017
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
已連線到空閒例程。
SQL> startup;
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01263: Name given for file destination directory is invalid
OSD-04018: ??????????????????????????
O/S-Error: (OS 2) ??????????????????????
SQL> 
   startup報錯ORA-01261&&ORA-01263的意思是:當前資料庫開啟了閃回區,但是當前閃回區引數db_recovery_file_dest設定的目錄不存在了ORA-01263: Name given for file destination directory is invalid
   解決方法很簡單,檢視啟動引數檔案pfile(ORACLE_HOME/dbs/initoradb.ora),看db_recovery_file_dest的檔案目錄配置,檢視儲存並建立改目錄 
*.aq_tm_processes=0
*.audit_file_dest='C:\oracle\admin\oradb\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='C:\oracle\oradata\oradb\control01.ctl','C:\oracle\flash_recovery_area\oradb\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='oradb'
*.db_recovery_file_dest='C:\oracle\flash_recovery_area'
*.db_recovery_file_dest_size=4294967296
*.diagnostic_dest='C:\oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oradbXDB)'
*.job_queue_processes=0
*.log_archive_format='ARC%S_%R.%T'
*.memory_target=3294625792
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.optimizer_use_sql_plan_baselines=TRUE
*.processes=200
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'

需要注意的是,還需要在flash_recovery_area目錄下建立oradb資料夾,然後從資料檔案目錄複製最新的控制檔案到oradb下並重新命名為control02.ctl
否則,啟動資料庫時會報錯:
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 3290345472 bytes
Fixed Size                  2180224 bytes
Variable Size            1979714432 bytes
Database Buffers         1291845632 bytes
Redo Buffers               16605184 bytes
ORA-00205: ?????????, ??????, ???????

告警日誌內容:
Tue Aug 08 10:14:41 2017
MMNL started with pid=16, OS id=11856 
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
ORACLE_BASE from environment = C:\oracle
Tue Aug 08 10:14:41 2017
ALTER DATABASE   MOUNT
ORA-00210: ???????????
ORA-00202: ????: ''C:\ORACLE\FLASH_RECOVERY_AREA\ORADB\CONTROL02.CTL''
ORA-27041: ??????
OSD-04002: 無法開啟檔案
O/S-Error: (OS 3) 系統找不到指定的路徑。
ORA-205 signalled during: ALTER DATABASE   MOUNT...
   然後,再次啟動資料庫能夠正常啟動:
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 3290345472 bytes
Fixed Size                  2180224 bytes
Variable Size            1979714432 bytes
Database Buffers         1291845632 bytes
Redo Buffers               16605184 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL>

總結:可能是儲存或者人為誤刪除導致資料庫損失閃回區目錄,資料庫無法啟動,需要按照引數檔案配置修復儲存目錄及相應的控制檔案即可。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2143229/,如需轉載,請註明出處,否則將追究法律責任。

相關文章