2006年05月18日
rman 備份、還原單一tablespace
os:win2000
oracle:10.2.0.1.0
archive:enable
測試目標:備份單一tablespace和還原tablespace
oracle:10.2.0.1.0
archive:enable
測試目標:備份單一tablespace和還原tablespace
C:\Documents and Settings\binhu>sqlplus /nolog
SQL> conn / as sysdba
SQL> create table testback2 (id number) tablespace testback; (建立測試table和指定放在那個tablespace上)
SQL> insert into testback2 values (1); (放入一些測試資料)
SQL> insert into testback2 values (2);
SQL> commit;
SQL> select * from testback2;
SQL> select table_name,tablespace_name from tabs where table_name='TESTBACK2'; (查尋是否測試環境如設定)
SQL> select file_name,file_id,tablespace_name from dba_data_files where tablespace_name ='TESTBACK'; (查尋是否測試環境如設定)
SQL> exit
進行備份
C:\Documents and Settings\binhu>rman target / nocatalog
RMAN> run {
2> allocate channel c1 type disk;
3> backup format 'd:/rman_back/tab_back_%u_%u_%p'
4> tablespace testback;
5> release channel c1;
6> }
RMAN> show all;
RMAN> exit
C:\Documents and Settings\binhu>sqlplus /nolog
SQL> conn / as sysdba
SQL> select * from testback2;
SQL> insert into testback2 values(3);(再增加一些資料)
SQL> insert into testback2 values(4);
SQL> commit;
SQL> select * from testback2;
SQL> shutdown immediate; (因為windows中,無法直接殺檔,現在db的檔案都被lock住了,所以要先shutdown,再進行刪除D:\ORACLE\PRODUCT\10.2.0\BINHU\TESTBACK1.DBF)
SQL> startup ( 刪除放tablespace的檔案後動oracle)
SQL> select * from v$recover_file;
SQL> select status from v$instance;
這時不必離開sqlplus ,再開一個視窗進rman
C:\Documents and Settings\binhu>rman target / nocatalog
RMAN> run{
2> allocate channel c1 type disk;
3> restore datafile 6;
4> recover datafile 6;
5> release channel c1;
6> }
RMAN>exit
SQL> alter database open;
SQL> select * from testback2; (包含備份點後增加的資料也回覆了)
| SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 5月 18 11:12:50 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. |
SQL> conn / as sysdba
| 已連線. |
SQL> create table testback2 (id number) tablespace testback; (建立測試table和指定放在那個tablespace上)
| 已建立表格. |
SQL> insert into testback2 values (1); (放入一些測試資料)
| 已建立 1 個資料列. |
SQL> insert into testback2 values (2);
| 已建立 1 個資料列. |
SQL> commit;
| 確認完成. |
SQL> select * from testback2;
| ID ---------- 1 2 |
SQL> select table_name,tablespace_name from tabs where table_name='TESTBACK2'; (查尋是否測試環境如設定)
| TABLE_NAME TABLESPACE_NAME ----------------- ------------------------- TESTBACK2 TESTBACK |
SQL> select file_name,file_id,tablespace_name from dba_data_files where tablespace_name ='TESTBACK'; (查尋是否測試環境如設定)
| FILE_NAME FILE_ID TABLESPACE_NAME --------------- ---------- -------------------------- D:\ORACLE\PRODUCT\10.2.0\BINHU\TESTBACK1.DBF 6 TESTBACK |
SQL> exit
進行備份
C:\Documents and Settings\binhu>rman target / nocatalog
| 復原管理員: Release 10.2.0.1.0 - Production on 星期四 5月 18 11:27:40 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. 已連線到目標資料庫: BINHU (DBID=604948062) 使用目標資料庫控制檔替代復原目錄 |
RMAN> run {
2> allocate channel c1 type disk;
3> backup format 'd:/rman_back/tab_back_%u_%u_%p'
4> tablespace testback;
5> release channel c1;
6> }
| 配置的通道: c1 通道 c1: sid=159 devtype=DISK 開始 backup, 於 18-5月 -06 通道 c1: 啟動完整資料檔備份集 通道 c1: 正在指定備份集中的資料檔 輸入資料檔 fno=00006 名稱=D:\ORACLE\PRODUCT\10.2.0\BINHU\TESTBACK1.DBF 通道 c1: 啟動部份 1, 在 18-5月 -06 通道 c1: 已完成部份 1, 在 18-5月 -06 片段處理=D:\RMAN_BACK\TAB_BACK_12HJCGB8_12HJCGB8_1 標記=TAG20060518T113048 註解=NONE 通道 c1: 備份集完成, 經歷時間: 00:00:01 完成 backup, 於 18-5月 -06 開始 Control File and SPFILE Autobackup, 於 18-5月 -06 處理片=D:\RMAN_BACK\C-604948062-20060518-00 註解=NONE 完成 Control File and SPFILE Autobackup, 於 18-5月 -06 釋出的通道: c1 |
RMAN> show all;
| RMAN 組態參數是: CONFIGURE RETENTION POLICY TO REDUNDANCY 2; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/rman_back/%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SNCFBINHU.O RA'; # default |
RMAN> exit
C:\Documents and Settings\binhu>sqlplus /nolog
| SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 5月 18 11:31:44 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. |
SQL> conn / as sysdba
| 已連線. |
SQL> select * from testback2;
| ID ---------- 1 2 |
SQL> insert into testback2 values(3);(再增加一些資料)
| 已建立 1 個資料列. |
SQL> insert into testback2 values(4);
| 已建立 1 個資料列. |
SQL> commit;
| 確認完成. |
SQL> select * from testback2;
| ID ---------- 3 4 1 2 |
SQL> shutdown immediate; (因為windows中,無法直接殺檔,現在db的檔案都被lock住了,所以要先shutdown,再進行刪除D:\ORACLE\PRODUCT\10.2.0\BINHU\TESTBACK1.DBF)
| 資料庫關閉. 資料庫已卸載. 已關閉 ORACLE 執行處理. |
SQL> startup ( 刪除放tablespace的檔案後動oracle)
| ORACLE 執行處理已啟動. Total System Global Area 281018368 bytes Fixed Size 1248552 bytes Variable Size 100664024 bytes Database Buffers 176160768 bytes Redo Buffers 2945024 bytes 資料庫已掛載. ORA-01157: 無法識別/鎖定資料檔 6 - 請參閱 DBWR 追蹤檔 ORA-01110: 資料檔 6: 'D:\ORACLE\PRODUCT\10.2.0\BINHU\TESTBACK1.DBF' |
SQL> select * from v$recover_file;
| FILE# ONLINE ONLINE_STATUS ERROR CHANGE# TIME 6 ONLINE ONLINE FILE NOT FOUND 0 |
SQL> select status from v$instance;
| STATUS ------------------------ MOUNTED |
C:\Documents and Settings\binhu>rman target / nocatalog
| 復原管理員: Release 10.2.0.1.0 - Production on 星期四 5月 18 11:39:17 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. 已連線目標資料庫: BINHU (DBID=604948062, 未開啟) 使用目標資料庫控制檔替代復原目錄 |
RMAN> run{
2> allocate channel c1 type disk;
3> restore datafile 6;
4> recover datafile 6;
5> release channel c1;
6> }
| 配置的通道: c1 通道 c1: sid=154 devtype=DISK 開始 restore, 於 18-5月 -06 通道 c1: 正在啟動資料檔備份集回復 通道 c1: 正在設定要從備份集回復的資料檔 正在將資料檔 00006 回復為 D:\ORACLE\PRODUCT\10.2.0\BINHU\TESTBACK1.DBF 通道 c1: 從備份 D:\RMAN_BACK\TAB_BACK_12HJCGB8_12HJCGB8_1 讀取 通道 c1: 已回復備份 1 片斷處理=D:\RMAN_BACK\TAB_BACK_12HJCGB8_12HJCGB8_1 標記=TAG20060518T113048 通道 c1: 回復完成, 經歷時間: 00:00:02 完成 restore, 於 18-5月 -06 開始 recover, 於 18-5月 -06 啟動媒體恢復 媒體復原完成, 經歷時間: 00:00:03 完成 recover, 於 18-5月 -06 釋出的通道: c1 |
RMAN>exit
SQL> alter database open;
| 已更改資料庫. |
SQL> select * from testback2; (包含備份點後增加的資料也回覆了)
| ID ---------- 3 4 1 2 |
引用URL
http://cgi.blog.roodo.com/trackback/1629139