ORA-01122,ORA-01122,ORA-01122錯誤的解決方法!!
1 在資料庫oracle10g中用冷備份備份了資料庫中的所有的資料檔案、控制檔案、重做日誌檔案。
2 原來的資料庫的資料檔案、控制檔案、重做日誌檔案丟失了 ,把冷備份中的資料檔案、控制檔案、重做日誌檔案複製了 過來。
3 重新啟動資料庫,出現以下錯誤:
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-01122: database file 6 failed verification check
ORA-01110: data file 6: '/home/mzl/catalog/catalog_rman.bdf'
ORA-01207: file is more recent than control file - old control file
Oracle的控制檔案是隨著資料庫的開啟關閉動態更新的,所以發現目前的 控制檔案不是最新的!
主導思想:建立控制檔案,然後open資料庫。
1 刪除控制檔案
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@mzl orcl]$ rm *.ctl
2 編寫建立控制檔案的指令碼
[oracle@localhost orcl]$ vi create.sql
內容如下:
[oracle@mzl orcl]$ cat create.sql
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/example01.dbf'
CHARACTER SET AL32UTF8
;
3 執行指令碼,生成控制檔案
SQL> @create
ORA-01081: cannot start already-running ORACLE - shut it down first
Control file created.
4 開啟資料庫
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 3 needs media recovery
ORA-01110: data file 3: '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
不能直接open,看來有需要恢復的,執行recover database;
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select * from testcold;
A
----------
1
資料庫成功啟動!
中的“ORA-01207: old control file完全解決方案”
2 原來的資料庫的資料檔案、控制檔案、重做日誌檔案丟失了 ,把冷備份中的資料檔案、控制檔案、重做日誌檔案複製了 過來。
3 重新啟動資料庫,出現以下錯誤:
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-01122: database file 6 failed verification check
ORA-01110: data file 6: '/home/mzl/catalog/catalog_rman.bdf'
ORA-01207: file is more recent than control file - old control file
Oracle的控制檔案是隨著資料庫的開啟關閉動態更新的,所以發現目前的 控制檔案不是最新的!
主導思想:建立控制檔案,然後open資料庫。
首先刪除old control file,其實也可以不刪除,個人習慣,然後重建控制檔案。
重建控制檔案可以在資料庫到mount狀態下執行alter database backup controlfile to trace生成sql檔案,具體操作很簡單,不再描述。1 刪除控制檔案
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@mzl orcl]$ rm *.ctl
2 編寫建立控制檔案的指令碼
[oracle@localhost orcl]$ vi create.sql
內容如下:
[oracle@mzl orcl]$ cat create.sql
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/example01.dbf'
CHARACTER SET AL32UTF8
;
3 執行指令碼,生成控制檔案
SQL> @create
ORA-01081: cannot start already-running ORACLE - shut it down first
Control file created.
4 開啟資料庫
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 3 needs media recovery
ORA-01110: data file 3: '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
不能直接open,看來有需要恢復的,執行recover database;
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select * from testcold;
A
----------
1
資料庫成功啟動!
中的“ORA-01207: old control file完全解決方案”
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-170162/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於oracle資料庫啟動報ORA-01122,ORA-01110,ORA-01203錯誤的解決方法Oracle資料庫
- Oracle資料庫的ORA-01122 ORA-01110 ORA-01207錯誤Oracle資料庫
- 非法刪除資料檔案導致資料庫不能開啟ORA-01122 ORA-01251資料庫
- undefined reference to錯誤的解決方法Undefined
- PHP錯誤“Thisfilehasexpired”的解決方法PHP
- PbootCMS 404 錯誤解決方法boot
- 錯誤Namenodeisinsafemode的解決方法
- vsftpd 錯誤:530 and 500 錯誤解決方法FTP
- AFNetworkingErrorDomain 錯誤解決方法ErrorAI
- dbfread報錯ValueError錯誤解決方法Error
- standby新增檔案錯誤的解決方法
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- Mac上搭建chromedriver的錯誤解決方法MacChrome
- nginx出現403錯誤的解決方法Nginx
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- 【Oracle】ORA-00054 錯誤解決方法Oracle
- Android錯誤解決方法集錦Android
- hadoop日常錯誤解決方法整理Hadoop
- ORA-04098錯誤解決方法
- ORA-25154錯誤解決方法
- npm WARN unmet dependency錯誤解決方法NPM
- ORA-01950錯誤的解決方法
- Ajax中“Sys未定義”錯誤的解決方法
- 寬頻連線錯誤691解決方法
- ORA-14452錯誤及解決方法
- ubuntu網路卡啟動錯誤解決方法Ubuntu
- IMP-00098 錯誤及解決方法
- steam磁碟寫入錯誤怎麼解決 steam磁碟寫入錯誤解決方法大全
- Nginx報504 gateway timeout錯誤的解決方法NginxGateway
- oracle ORA-12899錯誤的解決方法Oracle
- ORA-01578錯誤的解決方法 ( 二)
- Oracle 常見的錯誤問題及解決方法Oracle
- 常見的80004005錯誤及其解決方法 (轉)
- 解決java5 發行錯誤最好的方法Java
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- Ocelot錯誤解決
- ORACLE匯入遇到ORACLE錯誤959解決方法Oracle
- 寬頻連線錯誤解決方法總彙