Oracle 障害回復 データファイル 時間ベースの回復
Oracle において 障害回復 データファイル 時間ベースの回復 とは以下を示します。
- 障害状況
- 障害回復手順
- 実例
障害状況
- およそ21:00過ぎにユーザーエラーにより、ある表が削除された。
- 21:00以降は、そのユーザーエラー以外でデータベースの構造は変更されていない。
障害回復手順
- 不完全リカバリを実行する前に以下を設定する。
> SET NLS_DATE_FORMAT=YYYY/MM/DD HH24:MI:SS
- データベースがオープンされている場合は、データベースを停止する。
SQL> SHUTDOWN ABORT
- 不完全リカバリの失敗に備えて、現在のデータベース全体のバックアップを取得する。
- 全てのデータファイルをリストアする
- データベースをMOUNTする
- 不完全リカバリを実行する
RECOVER DATABASE UNTIL TIME ‘2005/07/20 21:00:00’
- データベースをRESETLOGSオプションを付けてオープンする。
実例
- 2005年9月28日 15時33分00秒 BONUS表を削除
SQL> CONN /AS SYSDBA Connected. SQL> SELECT GROUP#,THREAD#,SEQUENCE#,MEMBERS,ARCHIVED,STATUS,FIRST_CHANGE# SQL> FROM V$LOG; GROUP# THREAD# SEQUENCE# MEMBERS ARC STATUS FIRST_CHANGE# ---------- ---------- ---------- ---------- --- ---------------- ------------- 1 1 4 2 YES INACTIVE 724638 2 1 5 2 YES INACTIVE 724653 3 1 6 2 NO CURRENT 731373 SQL> CONN SCOTT/TIGER Connected. SQL> SELECT TABLE_NAME FROM USER_TABLES; TABLE_NAME ------------------------------ SALGRADE BONUS EMP DEPT SQL> DROP TABLE BONUS CASCADE CONSTRAINTS PURGE; Table dropped.
- データベースがオープンされている場合は、データベースを停止する。
既に停止状態である。
- 不完全リカバリの失敗に備えて、現在のデータベース全体のバックアップを取得する。
OSレベルでバックアップを取得する。
- 全てのデータファイルをリストアする
OSレベルでリストアする。
- データベースをMOUNTする
SQL> STARTUP MOUNT ORACLE instance started. Total System Global Area 171966464 bytes Fixed Size 787988 bytes Variable Size 145488364 bytes Database Buffers 25165824 bytes Redo Buffers 524288 bytes Database mounted.
- 不完全リカバリを実行する
SQL> RECOVER DATABASE UNTIL TIME '2005/09/28 15:30:00' ORA-00279: change 724203 generated at 09/28/2005 11:34:07 needed for thread 1 ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\TESTOEM\ARCHIVELOG\2005_09_28\O1_MF _1_1_%U_.ARC ORA-00280: change 724203 for thread 1 is in sequence #1 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} AUTO ORA-00279: change 724610 generated at 09/28/2005 13:05:03 needed for thread 1 ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\TESTOEM\ARCHIVELOG\2005_09_28\O1_MF _1_2_%U_.ARC ORA-00280: change 724610 for thread 1 is in sequence #2 ORA-00278: log file 'C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\TESTOEM\ARCHIVELOG\2005_09_28\O1_M F_1_1_1MN5MJ1G_.ARC' no longer needed for this recovery ORA-00279: change 724631 generated at 09/28/2005 13:05:36 needed for thread 1 ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\TESTOEM\ARCHIVELOG\2005_09_28\O1_MF _1_3_%U_.ARC ORA-00280: change 724631 for thread 1 is in sequence #3 ORA-00278: log file 'C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\TESTOEM\ARCHIVELOG\2005_09_28\O1_M F_1_2_1MN5NJNJ_.ARC' no longer needed for this recovery Log applied. Media recovery complete.
- データベースをRESETLOGSオプションを付けてオープンする。
SQL> ALTER DATABASE OPEN RESETLOGS; Database altered. SQL> CONN SCOTT/TIGER Connected. SQL> SELECT TABLE_NAME FROM USER_TABLES; TABLE_NAME ------------------------------ SALGRADE BONUS EMP DEPT
ご訪問頂き有難う御座います。
当サイトを効率良く使うためにまずは FrontPage を見て下さい。
検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage