Oracle資料庫聯機日誌檔案丟失處理方法(1)
試驗一:用命令清空日誌組方法
1、檢視原來表中資料SQL>; conn test/test Connected. SQL>; select * from test;
TEL
----------
1 2 3 2、插入新資料SQL>; insert into test values(4);
1 row created.
SQL>; commit;
Commit complete.
SQL>
3、 正常關閉資料庫
4、 利用os command刪除所有redo檔案
5、 啟動資料庫
SQL>; startup
ORACLE instance started.
Total System Global Area 353862792 bytes
Fixed Size 730248 bytes
Variable Size 285212672 bytes
Database Buffers 67108864 bytes
Redo Buffers 811008 bytes
Database mounted.
ORA- 00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/T3/ORACLE/oradata/ORA9/redo01.log'
6、 檢視當前日誌狀態
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
1 1 2 104857600 1 YES INACTIVE 487837 01-9月 -05
2 1 4 104857600 1 NO CURRENT 487955 01-9月 -05
3 1 3 104857600 1 YES INACTIVE 487839 01-9月 -05看來redo01.log不是當前日誌,對於這類非當前日誌可以直接clear,系統會重新自動生成一個redo檔案
7、SQL>; alter database clear logfile group 1;
Database altered.
繼續啟動db
SQL>; alter database open;
alter database open * ERROR at line 1:
ORA- 00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/T3/ORACLE/oradata/ORA9/redo02.log'
8、 看來redo也得恢復,但是redo02是當前redo,直接clear是不行的
SQL>; alter database clear logfile group 2;
alter database clear logfile group 2
* ERROR at line 1:ORA-00350: log 2 of thread 1 needs to be archived
ORA-00312: online log 2 thread 1: '/T3/ORACLE/oradata/ORA9/redo02.log'嘗試clear unarchived logfile group ,報錯:
SQL>; alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 2 * ERROR at line 1:ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/T3/ORACLE/oradata/ORA9/redo02.log' ORA-27037: unable to obtain file status SVR4 Error:
2: No such file or directory Additional information:
3看來他是因為找不到這個檔案,從有效的備份中cp一個過來看看
SQL>; host cp /T3/ORACLE/oradatabak/redo02* /T3/ORACLE/oradata/ORA9
SQL>; alter database clear unarchived logfile group 2;
Database altered.搞定………。
9、 按照oracle的某些做法也是可以的SQL>; alter database clear unarchived logfile group 1 unrecoverable datafile;
Database altered.
10、但是對於非當前日誌就都可以,下面看看redo03 SQL>; alter database clear logfile group 3;
Database altered.
結論:如果資料庫是正常shutdown,非當前日誌都可以直接clear來重新生成,而且不丟失資料,因為正常關閉db,資料已經寫入dbf檔案了。唯獨當前日誌不可以,當前日誌必須首先從有效的備份中複製一個日誌檔案過來,然後用alter database clear unarchived logfile group n 或alter database clear unarchived logfile group n,除此之外,還可以用下面的方法來做[@more@]
1、檢視原來表中資料SQL>; conn test/test Connected. SQL>; select * from test;
TEL
----------
1 2 3 2、插入新資料SQL>; insert into test values(4);
1 row created.
SQL>; commit;
Commit complete.
SQL>
3、 正常關閉資料庫
4、 利用os command刪除所有redo檔案
5、 啟動資料庫
SQL>; startup
ORACLE instance started.
Total System Global Area 353862792 bytes
Fixed Size 730248 bytes
Variable Size 285212672 bytes
Database Buffers 67108864 bytes
Redo Buffers 811008 bytes
Database mounted.
ORA- 00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/T3/ORACLE/oradata/ORA9/redo01.log'
6、 檢視當前日誌狀態
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
1 1 2 104857600 1 YES INACTIVE 487837 01-9月 -05
2 1 4 104857600 1 NO CURRENT 487955 01-9月 -05
3 1 3 104857600 1 YES INACTIVE 487839 01-9月 -05看來redo01.log不是當前日誌,對於這類非當前日誌可以直接clear,系統會重新自動生成一個redo檔案
7、SQL>; alter database clear logfile group 1;
Database altered.
繼續啟動db
SQL>; alter database open;
alter database open * ERROR at line 1:
ORA- 00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/T3/ORACLE/oradata/ORA9/redo02.log'
8、 看來redo也得恢復,但是redo02是當前redo,直接clear是不行的
SQL>; alter database clear logfile group 2;
alter database clear logfile group 2
* ERROR at line 1:ORA-00350: log 2 of thread 1 needs to be archived
ORA-00312: online log 2 thread 1: '/T3/ORACLE/oradata/ORA9/redo02.log'嘗試clear unarchived logfile group ,報錯:
SQL>; alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 2 * ERROR at line 1:ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/T3/ORACLE/oradata/ORA9/redo02.log' ORA-27037: unable to obtain file status SVR4 Error:
2: No such file or directory Additional information:
3看來他是因為找不到這個檔案,從有效的備份中cp一個過來看看
SQL>; host cp /T3/ORACLE/oradatabak/redo02* /T3/ORACLE/oradata/ORA9
SQL>; alter database clear unarchived logfile group 2;
Database altered.搞定………。
9、 按照oracle的某些做法也是可以的SQL>; alter database clear unarchived logfile group 1 unrecoverable datafile;
Database altered.
10、但是對於非當前日誌就都可以,下面看看redo03 SQL>; alter database clear logfile group 3;
Database altered.
結論:如果資料庫是正常shutdown,非當前日誌都可以直接clear來重新生成,而且不丟失資料,因為正常關閉db,資料已經寫入dbf檔案了。唯獨當前日誌不可以,當前日誌必須首先從有效的備份中複製一個日誌檔案過來,然後用alter database clear unarchived logfile group n 或alter database clear unarchived logfile group n,除此之外,還可以用下面的方法來做[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017273/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫聯機日誌檔案丟失處理方法(3)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(2)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(4)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(5)Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(總結)!Oracle資料庫
- Oracle資料庫聯機日誌檔案丟失處理方法(總結)(轉)Oracle資料庫
- [原創] Oracle資料庫聯機日誌檔案丟失處理方法(總結)!Oracle資料庫
- Oracle聯機日誌檔案丟失或損壞的處理方法Oracle
- ORACLE聯機日誌檔案丟失或損壞的處理方法(轉)Oracle
- Oracle聯機日誌檔案丟失或損壞的處理方法 (轉)Oracle
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- 記一次Oracle 聯機日誌檔案丟失的處理方案Oracle
- 聯機日誌檔案丟失解決方法
- 聯機日誌檔案丟失解決方法(二)
- 聯機日誌檔案丟失解決方法(一)
- Oracle聯機日誌檔案丟失解決方法一例Oracle
- Oracle恢復例項之一:資料檔案、控制檔案、聯機日誌丟失Oracle
- rman恢復:資料檔案丟失,控制檔案丟失,聯機日誌檔案丟失(非當前使用與當前使用)
- 丟失聯機重做日誌檔案的恢復
- 解決Oracle資料庫日誌檔案丟失恢復問題Oracle資料庫
- 控制檔案丟失處理方法
- 丟失已歸檔日誌檔案下恢復資料庫資料庫
- oracle歸檔日誌丟失後的資料庫恢復Oracle資料庫
- 非歸檔下日誌檔案丟失的處理辦法
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- Oracle恢復例項之二:Inactive聯機日誌檔案丟失Oracle
- Oracle恢復例項之三:active或current聯機日誌檔案丟失Oracle
- ORACLE 回滾段表空間資料檔案丟失或損壞處理方法(1) (轉)Oracle
- 分析Oracle資料庫日誌檔案(1)(轉)Oracle資料庫
- 分析Oracle資料庫日誌檔案(1) [轉]Oracle資料庫
- 【redo】日誌檔案的丟失解決方法
- oracle丟失日誌檔案的恢復( 轉)Oracle
- 丟失當前current重做日誌檔案下恢復資料庫資料庫
- oracle 聯機重做日誌檔案Oracle
- 【Oracle】 Oracle11gR2 擴充套件資料庫聯機日誌檔案Oracle套件資料庫
- 聯機重做日誌丟失的恢復
- UNDO表空間資料檔案丟失處理(二)正常關閉資料庫資料庫
- oracle 案例-控制檔案丟失故障處理過程Oracle