10gR2rman backup as copy移動資料檔案,非常方便!

warehouse發表於2007-01-12

RMAN> CONNECT TARGET /

連線到目標資料庫: UTF (DBID=1000919928)

RMAN> backup as copy tablespace 'TEST' format 'E:trans_tbsbaktt_copy_%U';

啟動 backup 於 11-1月 -07
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=272 devtype=DISK
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00005 name=E:ORACLEPRODUCT10.2.0ORADATAUTFTEST.DBF
輸出檔名 = E:TRANS_TBSBAKTT_COPY_DATA_D-UTF_I-1000919928_TS-TEST_FNO-5_0T
9ACF 標記 = TAG20070111T235558 recid = 21 時間戳 = 611625360
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:01
完成 backup 於 11-1月 -07

啟動 Control File and SPFILE Autobackup 於 11-1月 -07
段 handle=E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAUTFAUTOBACKUP2007_01_
O1_MF_S_611625360_2TDQJLH4_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 於 11-1月 -07

RMAN> switch tablespace 'TEST' TO COPY;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: switch to copy 命令 (在 01/11/2007 23:57:21 上) 失敗
RMAN-06572: 資料庫已開啟且資料檔案 5 沒有處於離線狀態

RMAN> SQL 'ALTER DATABASE DATAFILE 5 OFFLINE';

sql 語句: ALTER DATABASE DATAFILE 5 OFFLINE

RMAN> switch tablespace 'TEST' TO COPY;

資料檔案 5 已切換成資料檔案副本 "E:TRANS_TBSBAKTT_COPY_DATA_D-UTF_I-100091992
8_TS-TEST_FNO-5_0TI79ACF"

RMAN> SQL 'ALTER DATABASE DATAFILE 5 onLINE';

sql 語句: ALTER DATABASE DATAFILE 5 onLINE
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: sql 命令 (default 通道上, 在 01/11/2007 23:59:27 上) 失敗
RMAN-11003: 在分析/執行 SQL 語句期間失敗: ALTER DATABASE DATAFILE 5 onLINE
ORA-01113: 檔案 5 需要介質恢復
ORA-01110: 資料檔案 5: 'E:TRANS_TBSBAKTT_COPY_DATA_D-UTF_I-1000919928_TS-TEST
_FNO-5_0TI79ACF'

RMAN> recover datafile 5;

啟動 recover 於 11-1月 -07
使用通道 ORA_DISK_1

正在開始介質的恢復
介質恢復完成, 用時: 00:00:04

完成 recover 於 11-1月 -07

RMAN> SQL 'ALTER DATABASE DATAFILE 5 onLINE';

sql 語句: ALTER DATABASE DATAFILE 5 onLINE

RMAN> backup as copy datafile 5 format 'E:trans_tbsbakTEST.DBF';

啟動 backup 於 12-1月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00005 name=E:TRANS_TBSBAKTT_COPY_DATA_D-UTF_I-1000919928_TS-
TEST_FNO-5_0TI79ACF
輸出檔名 = E:TRANS_TBSBAKTEST.DBF 標記 = TAG20070112T000117 recid = 23 時間
戳 = 611625678
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:01
完成 backup 於 12-1月 -07

RMAN> SWITCH DATAFILE 5 TO COPY;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: switch to copy 命令 (在 01/12/2007 00:02:08 上) 失敗
RMAN-06572: 資料庫已開啟且資料檔案 5 沒有處於離線狀態

RMAN> SQL 'ALTER DATABASE DATAFILE 5 OFFLINE';

sql 語句: ALTER DATABASE DATAFILE 5 OFFLINE

RMAN> SWITCH DATAFILE 5 TO COPY;

資料檔案 5 已切換成資料檔案副本 "E:TRANS_TBSBAKTEST.DBF"

RMAN> SQL 'ALTER DATABASE DATAFILE 5 ONLINE';

sql 語句: ALTER DATABASE DATAFILE 5 ONLINE
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: sql 命令 (default 通道上, 在 01/12/2007 00:03:07 上) 失敗
RMAN-11003: 在分析/執行 SQL 語句期間失敗: ALTER DATABASE DATAFILE 5 ONLINE
ORA-01113: 檔案 5 需要介質恢復
ORA-01110: 資料檔案 5: 'E:TRANS_TBSBAKTEST.DBF'

RMAN> RECOVER DATAFILE 5;

啟動 recover 於 12-1月 -07
使用通道 ORA_DISK_1

正在開始介質的恢復
介質恢復完成, 用時: 00:00:02

完成 recover 於 12-1月 -07

RMAN> SQL 'ALTER DATABASE DATAFILE 5 ONLINE';

sql 語句: ALTER DATABASE DATAFILE 5 ONLINE

RMAN> backup as copy tablespace 'TEST' FORMAT 'E:trans_tbsbaktest_tbs_copy_%U
';

啟動 backup 於 12-1月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00005 name=E:TRANS_TBSBAKTEST.DBF
輸出檔名 = E:TRANS_TBSBAKTEST_TBS_COPY_DATA_D-UTF_I-1000919928_TS-TEST_FNO-
5_10I79BAT 標記 = TAG20070112T001212 recid = 25 時間戳 = 611626333
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:01
完成 backup 於 12-1月 -07

RMAN> SQL 'ALTER TABLESPACE TEST OFFLINE';

sql 語句: ALTER TABLESPACE TEST OFFLINE

RMAN> switch tablespace 'TEST' TO COPY;

資料檔案 5 已切換成資料檔案副本 "E:TRANS_TBSBAKTEST_TBS_COPY_DATA_D-UTF_I-100
0919928_TS-TEST_FNO-5_10I79BAT"

RMAN> SQL 'ALTER TABLESPACE TEST ONLINE';

sql 語句: ALTER TABLESPACE TEST ONLINE

結論:透過rman備份的方式移動資料檔案應該說可以縮短傳統複製datafile的時間,其他的我覺得沒有什麼,原理都一樣!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-61721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章