2006年05月18日

rman 備份、還原單一tablespace

os:win2000
oracle:10.2.0.1.0
archive:enable

測試目標:備份單一tablespace和還原tablespace

C:\Documents and Settings\binhu>sqlplus /nolog
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
這時不必離開sqlplus  ,再開一個視窗進rman


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

Posted by my_work at 樂多Roodo! │12:09 │回應(0)引用(0)DB
樂多分類:網路/3C 共同主題:Oracle 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/1629139