RMAN 資料庫克隆檔案位置轉換方法
在使用RMAN克隆資料庫時,如果輔助資料庫(新資料庫)使用了與目標資料庫(原資料庫)使用了不同的路徑,那麼就存在位置轉換的問題。在Oracle中,控制檔案用於定位資料檔案以及聯機重做日誌檔案,如果沒有正確的轉換,控制檔案壓根就找不到相應的資料檔案,日誌檔案。對此Oralce為我們提供了三種檔案位置的轉換方法。本文即是對這三種轉換方法的描述。
1、使用db_file_name_convert與log_file_name_convert引數
- --我們可以在輔助資料庫引數檔案spfile/pfile中定義這兩個引數用於Oracle來根據這個值進行自動轉換檔案位置
- --該引數也可以用於配置dataguard是主資料庫與standby資料庫檔案位置轉換
- --第一個字串用於定義目標資料庫檔案位置,第二個字串用於定義輔助資料庫檔案位置
- --如下面的示例
- *.db_file_name_convert =('/u01/database/sybo3','/u02/database/sybo5')
- *.log_file_name_convert =('/u01/database/sybo3','/u02/database/sybo5')
- --如果輔助資料庫檔案的位置有關的其他資訊,如載入點都是相同的,可以直接使用下面的方式來定義引數
- --target db path: /u01/database/sybo3
- --auxiliary db path: /u01/database/sybo5
- --做如下定義
- *.db_file_name_convert =('sybo3','sybo5')
- *.log_file_name_convert =('sybo3','sybo5')
- --如果是下面的情形
- --target db path:
- /u01/database/sybo3/oradata/system01.dbf
- /u01/database/sybo3/oradata/sysaux01.dbf
- /u02/database/sybo3/oradata/undotbs01.dbf
- /u02/database/sybo3/oradata/users01.dbf
- /u02/database/sybo3/oradata/example01.dbf
- --auxiliary db path:
- /u01/database/sybo5/oradata/system01.dbf
- /u01/database/sybo5/oradata/sysaux01.dbf
- /u02/database/sybo5/oradata/undotbs01.dbf
- /u02/database/sybo5/oradata/users01.dbf
- /u02/database/sybo5/oradata/example01.dbf
- --如前所述,由於載入點是相同的,依舊可以按上面的方式定義
- *.db_file_name_convert =('sybo3','sybo5')
- *.log_file_name_convert =('sybo3','sybo5')
- --下面是克隆之後的情形,最好清除這個兩個引數
- [oracle@linux3 ~]$ rman target sys/oracle@sybo3 auxiliary sys/oracle@sybo5
- RMAN> duplicate target database to sybo5; --釋出該命令後,Oracle會根據目標資料庫自動建立輔助資料庫日誌檔案以及臨時表空間資料檔案
- SQL> select name,dbid,open_mode from v$database;
- NAME DBID OPEN_MODE
- --------- ---------- --------------------
- SYBO5 2292457546 READ WRITE
- SQL> show parameter name_conve
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- db_file_name_convert string sybo3, sybo5
- log_file_name_convert string sybo3, sybo5
- SQL> alter system reset db_file_name_convert;
- System altered.
- SQL> alter system reset log_file_name_convert;
- System altered.
2、使用RMAN set newname子句
- RMAN 為我們提供了set newname 子句用於指定輔助資料庫資料檔案以及臨時表空間資料檔案的位置。
- 該命令也可以用於特定表空間或資料檔案因載入點失敗將資料檔案恢復到非故障載入點。
- 如下:
-
set newname for datafile m to '
/file_name' -
set newname for tempfile n to '
/file_name' - 如我們可以使用下面的命令來克隆資料庫
- RMAN> run
- {
- set newname for datafile 1 to '/u01/database/sybo5/oradata/system01.dbf'; -->為資料檔案指定新路徑
- set newname for datafile 2 to '/u01/database/sybo5/oradata/sysaux01.dbf';
- set newname for datafile 3 to '/u01/database/sybo5/oradata/undotbs01.dbf';
- set newname for datafile 4 to '/u01/database/sybo5/oradata/users01.dbf';
- set newname for datafile 5 to '/u01/database/sybo5/oradata/example01.dbf';
- set newname for tempfile 1 to '/u01/database/sybo5/oradata/temp01.dbf'; -->為日誌檔案指定新路徑
- duplicate target database to sybo5 -->duplicate 命令用於克隆資料庫
- logfile
- group 1 ('/u01/database/sybo5/redo/redo01a.log','/u01/database/sybo5/redo/redo01b.log') size 10m, -->可自行指定日誌組及成員數,size
- group 2 ('/u01/database/sybo5/redo/redo02a.log','/u01/database/sybo5/redo/redo02b.log') size 10m, -->如未指定logfile部分則其組數與
- group 3 ('/u01/database/sybo5/redo/redo03a.log','/u01/database/sybo5/redo/redo03b.log') size 10m; -->成員數,size等同於與目標資料庫
- switch datafile all; -->用於將上述新路徑更新到控制檔案,此句可省略(會自動更新)
- }
3、使用configure auxname命令
- configure auxname是在Oracle 11g開始提供的新命令,該配置命令會將其值儲存在目標資料庫的控制檔案中
- 用法如下:
-
configure auxname for datafile n to '
/file_name' ; - configure auxname for datafile n clear;
- --Author : Robinson
- --Blog : http://blog.csdn.net/robinson_0612
- 如下面是設定之後的結果:
- RMAN> show auxname;
- RMAN configuration parameters for database with db_unique_name SYBO3 are:
- CONFIGURE AUXNAME FOR DATAFILE '/u01/database/sybo3/oradata/system01.dbf' TO '/u01/database/sybo5/oradata/system01.dbf';
- CONFIGURE AUXNAME FOR DATAFILE '/u01/database/sybo3/oradata/sysaux01.dbf' TO '/u01/database/sybo5/oradata/sysaux01.dbf';
- CONFIGURE AUXNAME FOR DATAFILE '/u01/database/sybo3/oradata/undotbs01.dbf' TO '/u01/database/sybo5/oradata/undotbs01.dbf';
- CONFIGURE AUXNAME FOR DATAFILE '/u01/database/sybo3/oradata/users01.dbf' TO '/u01/database/sybo5/oradata/users01.dbf';
- CONFIGURE AUXNAME FOR DATAFILE '/u01/database/sybo3/oradata/example01.dbf' TO '/u01/database/sybo5/oradata/example01.dbf';
- RMAN>run
- {
- set until time = "to_date('20130725 10:09:53','yyyymmdd hh24:mi:ss')"; -->可以指定time,scn,sequence
- set newname for tempfile 1 TO '/u01/database/sybo5/oradata/temp01.dbf'; -->注意,configure auxname不支援tempfile,此處需要使用set newname
- duplicate target database to clone_db pfile=/u01/oracle/db_1/dbs/initsybo5.ora
- logfile
- '/u01/database/sybo5/redo/redo01a.log' SIZE 5M,
- '/u01/database/sybo5/redo/redo02a.log' SIZE 5M,
- '/u01/database/sybo5/redo/redo03a.log' SIZE 5M;
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062387/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 克隆資料庫之RMAN複製(二)資料庫
- 克隆資料庫之RMAN複製(一)資料庫
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- 更改資料庫裸裝置資料檔案的位置資料庫
- 【資料遷移】RMAN遷移資料庫到ASM(二)切換資料檔案到ASM資料庫ASM
- 修改資料檔案的位置的兩種方法
- 物理Standby資料庫的檔案路徑轉換(1)資料庫
- 物理Standby資料庫的檔案路徑轉換(2)資料庫
- 物理Standby資料庫的檔案路徑轉換(3)資料庫
- 資料檔案位置調整
- 2 Day DBA-介紹-資料庫檔案位置資料庫
- 克隆git工程檔案的方法Git
- rman 可否克隆rac資料庫到另外一個rac環境的資料庫中?資料庫
- 誤刪除資料檔案、控制檔案的非RMAN恢復方法
- 資料庫表格轉換成XML格式方法!資料庫XML
- 【轉】RMAN建立duplicate資料庫資料庫
- 更改資料檔案位置或改名
- Oracle使用RMAN將普通資料檔案轉成ASMOracleASM
- 11g rman備份恢復資料檔案datafile到新的位置
- 轉換RDBA的檔案和資料塊地址(轉)
- 資料庫轉換工具,不同資料庫之前任意轉換資料庫
- 織夢資料庫配置檔案修改資料庫配置方法資料庫
- 使用RMAN遷移檔案系統資料庫到ASM資料庫ASM
- 使用RMAN複製活動資料庫(檔案路徑相同)資料庫
- rman恢復資料庫--用備份的控制檔案資料庫
- 使用RMAN複製活動資料庫(檔案路徑不同)資料庫
- 資料庫學習:在資料庫中存取檔案(轉)資料庫
- 建立資料庫檔案-日誌檔案-次要資料庫檔案資料庫
- 【原創】ASM下的資料檔案轉換為普通檔案ASM
- 2.10 克隆資料庫資料庫
- 使用duplicate克隆資料庫資料庫
- 基於 RMAN 的同機資料庫克隆資料庫
- 非歸檔資料庫RMAN備份資料庫
- 誤刪資料庫資料檔案的處理方法資料庫
- 用rman從檔案系統遷移資料庫到asm資料庫ASM
- 利用RMAN將資料庫從檔案系統遷移到ASM資料庫ASM
- 使用RMAN在還原控制檔案後開啟資料庫資料庫
- 將資料庫轉換為歸檔日誌模式資料庫模式