歸檔模式下的手工備份及完全恢復

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

手工備份:
SQL> alter database begin backup;
數據庫已更改。

SQL> create table t124(id number);

表已創建。

手工拷貝數據文件 datafile-->datafile-副本

SQL> alter database end backup;

數據庫已更改。

SQL>
SQL> insert into t124 values(1);

已創建 1 行。

SQL> commit;

提交完成。
SQL> alter system switch logfile;

系統已更改。

SQL>

備份歸檔日誌 archivelog-->archivelog-副本

-----以上手工備份完成,搞點破壞


SQL> insert into t124 values(2);

已創建 1 行。

SQL> commit;

提交完成。

SQL>

把所有的數據文件和歸檔都刪掉。  --Windows下在庫正常運行的時候無法刪除數據文件,停庫後刪除

刪完之後啓動數據庫:
SQL> startup
ORACLE 例程已經啓動。

Total System Global Area 5060792320 bytes
Fixed Size                  2289960 bytes
Variable Size            1040191192 bytes
Database Buffers         4009754624 bytes
Redo Buffers                8556544 bytes
數據庫裝載完畢。
ORA-01157: 無法標識/鎖定數據文件 1 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 1:
'D:\APP\LIMING\ORADATA\ORCL\DATAFILE\O1_MF_SYSTEM_DDYY3MWX_.DBF'

那麼開始恢復:

	1. 將備份的數據文件拷貝回去
	2. 將歸檔拷貝回去
	3. 啓動數據庫到mount模式 ---已爲mount模式
	4. 恢復數據庫 

SQL> recover database
ORA-00279: 更改 12289488 (在 12/15/2017 11:34:18 生成) 對於線程 1 是必需的
ORA-00289: 建議: D:\ORCL\ARCHIVELOG\2017_12_15\O1_MF_1_171_F36WRL45_.ARC
ORA-00280: 更改 12289488 (用於線程 1) 在序列 #171 中


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 12302871 (在 12/16/2017 15:47:28 生成) 對於線程 1 是必需的
ORA-00289: 建議: D:\ORCL\ARCHIVELOG\2017_12_16\O1_MF_1_174_F3B6RB6O_.ARC
ORA-00280: 更改 12302871 (用於線程 1) 在序列 #174 中


ORA-00279: 更改 12325653 (在 12/16/2017 21:09:28 生成) 對於線程 1 是必需的
ORA-00289: 建議: D:\ORCL\ARCHIVELOG\2017_12_18\O1_MF_1_175_F3GC6W7G_.ARC
ORA-00280: 更改 12325653 (用於線程 1) 在序列 #175 中


已應用的日誌。
完成介質恢復。

	1. 啓動數據庫

SQL> alter database open;

數據庫已更改。

檢查:

SQL> select * from t124;

        ID
----------
         1
         2





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