測試rman transport tablespace命令時遇著的小問題~~

junsansi發表於2007-11-20

windows平臺下的oracle 10.2.0.1測試transport tablespace建立可傳輸表空間

E:oracleScriptbackup>set oracle_sid=jssweb

E:oracleScriptbackup>rman target /

連線到目標資料庫: JSSWEB (DBID=3402005373)

RMAN> transport tablespace jssweb

2> tablespace destination 'd:backuptd'

3> auxiliary destination 'd:backupad'

4> ;

看,不需要太複雜,就是這麼簡單。

使用目標資料庫控制檔案替代恢復目錄

RMAN-05026: 警告: 假定以下表空間集適用於指定的時間點

表空間列表要求具有 UNDO 段

表空間 SYSTEM

表空間 UNDOTBS1

使用 SID='gEDa' 建立自動例項

供自動例項使用的初始化引數:

db_name=JSSWEB

compatible=10.2.0.1.0

db_block_size=8192

db_files=200

db_unique_name=tspitr_JSSWEB_gEDa

large_pool_size=1M

shared_pool_size=110M

#No auxiliary parameter file used

db_create_file_dest=d:backupad

control_files=d:backupad/cntrl_tspitr_JSSWEB_gEDa.f

啟動自動例項 JSSWEB

...

...

記憶體指令碼的內容:

{

# set the until clause

set until scn 1672677;

# restore the controlfile

restore clone controlfile;

# mount the controlfile

sql clone 'alter database mount clone database';

# archive current online log for tspitr to a resent until time

sql 'alter system archive log current';

# avoid unnecessary autobackups for structural changes during TSPITR

sql 'begin dbms_backup_restore.AutoBackupFlag(FALSE); end;';

}

正在執行記憶體指令碼

正在執行命令: SET until clause

..

...

sql 語句: begin dbms_backup_restore.AutoBackupFlag(FALSE); end;

釋放的通道: ORA_AUX_DISK_1

記憶體指令碼的內容:

{

# generated tablespace point-in-time recovery script

# set the until clause

set until scn 1672677;

# set an omf destination filename for restore

set newname for clone datafile 1 to new;

...

...

# make the controlfile point at the restored datafiles, then recover them

recover clone database tablespace "JSSWEB", "SYSTEM", "UNDOTBS1", "SYSAUX" delete archivelog;

alter clone database open resetlogs;

# PLUG HERE the creation of a temporary tablespace if export fails due to lack

# of temporary space.

# For example in Unix these two lines would do that:

#sql clone "create tablespace aux_tspitr_tmp

# datafile ''/tmp/aux_tspitr_tmp.dbf'' size 500K";

}

正在執行記憶體指令碼

正在執行命令: SET until clause

正在執行命令: SET NEWNAME

...

...

介質恢復完成, 用時: 00:00:10

完成 recover 於 19-11月-07

資料庫已開啟

記憶體指令碼的內容:

{

#mark read only the tablespace that will be exported

sql clone "alter tablespace JSSWEB read only";

# create directory for datapump export

sql clone "create or replace directory STREAMS_DIROBJ_DPDIR as ''

d:backuptd''";

# export the tablespaces in the recovery set

host 'expdp userid="/@(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=oracle)(ARGV0=oraclegEDa)(ARGS=^

'(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))^')(ENVS=^'ORACLE_SID=gEDa^'))(CONNECT_DATA=(SID=g

EDa))) as sysdba" transport_tablespaces=

JSSWEB dumpfile=

dmpfile.dmp directory=

STREAMS_DIROBJ_DPDIR logfile=

explog.log';

}

正在執行記憶體指令碼

sql 語句: alter tablespace JSSWEB read only

...

...

主機命令完成

/*

The following command may be used to import the tablespaces.

Substitute values for and .

impdp directory= dumpfile= 'dmpfile.dmp' transport_datafiles= d:backuptdJSS

WEB.DBF

*/

--------------------------------------------------------------

-- Start of sample PL/SQL script for importing the tablespaces

--------------------------------------------------------------

-- creating directory objects

CREATE DIRECTORY STREAMS$DIROBJ$1 AS 'd:backuptd';

...

...

DROP DIRECTORY STREAMS$DIROBJ$DPDIR;

刪除自動例項

關閉自動例項

Oracle 例項已關閉

自動例項已刪除

刪除自動例項

自動例項已刪除

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: tranport tablespace 命令 (在 11/19/2007 15:23:45 上) 失敗

ORA-27056: 無法刪除檔案

OSD-04024: 無法刪除檔案。

O/S-Error: (OS 32) 另一個程式正在使用此檔案,程式無法訪問。

莫明其妙報了這個錯誤,網上多方搜尋也沒能找著原因,後來在metalink中找到一篇文章,介紹說O/S-Error: (OS 32)通常跟windows平臺有關,嘗試換用linux平臺執行...........一切正常!幸好從linux平臺的執行日誌中能夠看出,報錯是在刪除輔助例項檔案時,此時傳輸集已經生成了,不會影響我們後續操作。那我們就手工刪除這些檔案好了,基本上就是auxiliary destination引數指定路徑下的檔案,乾脆直接連這個目錄也刪掉


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

相關文章