您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“RMAN怎么跨平臺(tái)傳輸數(shù)據(jù)庫(kù)和表空間”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“RMAN怎么跨平臺(tái)傳輸數(shù)據(jù)庫(kù)和表空間”吧!
一.跨平臺(tái)傳輸表空間
使用跨平臺(tái)傳輸表空間,平臺(tái)之間可以是不同的字節(jié)存儲(chǔ)順序(endian format)。當(dāng)源平臺(tái)和目的地平臺(tái)的字節(jié)存儲(chǔ)順序不同,源平臺(tái)要傳輸表空間下的數(shù)據(jù)文件的字節(jié)存儲(chǔ)順序必須轉(zhuǎn)換成和目的地平臺(tái)相同。轉(zhuǎn)換操作使用RMAN CONVERT TABLESPACE命令(在源平臺(tái)轉(zhuǎn)換)或者CONVERT DATAFILE命令(在目的地平臺(tái)轉(zhuǎn)換)。
CONVERT TABLESPACE命令必須用在源平臺(tái),CONVERT DATAFILE命令用在目的地平臺(tái)。
1.在源平臺(tái)使用CONVERT TABLESPACE... TO PLATFORM命令:
CONVERT TABLESPACE... TO PLATFORM命令用于在源平臺(tái)轉(zhuǎn)換表空間到目的地平臺(tái)格式。在源平臺(tái)數(shù)據(jù)庫(kù)調(diào)用CONVERT TABLESPACE命令指定一個(gè)或更多表空間名稱,例如:
RMAN> CONVERT TABLEPSACE ts_1, ts_2 ...
TO PLATFORM 'platform_name';
platform_name支持的值可以從V$TRANSPORTABLE_PLATFORM查詢到。
在源平臺(tái)必須轉(zhuǎn)換整個(gè)表空間,不能只轉(zhuǎn)換一個(gè)數(shù)據(jù)文件。
CONVERT TABLESPACE ... TO PLATFORM包含如下可選參數(shù):
PARALLELISM n
用于指定n個(gè)服務(wù)器會(huì)話并行執(zhí)行轉(zhuǎn)換工作,以提升性能。每個(gè)數(shù)據(jù)文件只能分配一個(gè)單獨(dú)的服務(wù)器會(huì)話進(jìn)行轉(zhuǎn)換,因此,不能通過分配一個(gè)大并行度轉(zhuǎn)換單一數(shù)據(jù)文件來提升性能。
fileNameConversionSpec
指定使用fileNameConversionSpec參數(shù),用于對(duì)轉(zhuǎn)換的數(shù)據(jù)文件生成新的文件名。
FORMAT formatSpec
提供一個(gè)格式模板用于對(duì)轉(zhuǎn)換的數(shù)據(jù)文件生成新的,唯一的文件名。如果沒有指定FORMAT,RMAN使用和平臺(tái)相關(guān)的目的地和格式。
下面在源平臺(tái)轉(zhuǎn)換表空間的例子:
1).設(shè)置傳輸表空間為只讀模式。
2).在V$TRANSPORTABLE_PLATFORM中查看目的地平臺(tái)的名稱。
SQL> SELECT PLATFORM_ID, PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM
WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX';
針對(duì)Linux在PC上的PLATFORM_NAME是'Linux IA (32bit)'。
3).使用CONVERT TABLESPACE轉(zhuǎn)換命令。
使用RMAN轉(zhuǎn)換數(shù)據(jù)文件到目的地平臺(tái)的字節(jié)存儲(chǔ)順序,F(xiàn)ORMAT參數(shù)控制轉(zhuǎn)換后數(shù)據(jù)文件的名稱和位置:
% rman TARGET /
RMAN> CONVERT TABLESPACE finance,hr
TO PLATFORM 'Linux IA (32-bit)'
FORMAT='/tmp/transport_linux/%U';
轉(zhuǎn)換后的數(shù)據(jù)文件被放在/tmp/transport_linux目錄,數(shù)據(jù)和目的地系統(tǒng)的字節(jié)存儲(chǔ)順序相同。
4).使用導(dǎo)出工具創(chuàng)建導(dǎo)出dump文件。
5).移動(dòng)轉(zhuǎn)換后的文件和導(dǎo)出的dump文件到目的地平臺(tái)主機(jī)。
6).使用導(dǎo)入工具插入表空間到新數(shù)據(jù)庫(kù)。
7).修改表空間為讀寫模式。
2.在目的地主機(jī)使用CONVERT DATAFILE... FROM PLATFORM命令:
CONVERT DATAFILE ... FROM PLATFORM用于在目的地平臺(tái)轉(zhuǎn)換源平臺(tái)的表空間字節(jié)存儲(chǔ)順序。不能在目的地平臺(tái)使用CONVERT TABLESPACE。
CONVERT DATAFILE命令可以跟上一個(gè)或多個(gè)需要轉(zhuǎn)換的數(shù)據(jù)文件,例如:
RMAN> CONVERT DATAFILE datafile_1, datafile_2 ...
FROM PLATFORM 'platform_name';
提供的FROM PLATFORM值必須匹配待轉(zhuǎn)換數(shù)據(jù)文件的真實(shí)平臺(tái),否則RMAN返回一個(gè)錯(cuò)誤,platform_name支持的值可以從V$TRANSPORTABLE_PLATFORM查詢到。
PARALLELISM、FORMAT、fileNameConversionSpec參數(shù)和CONVERT TABLESPACE在源平臺(tái)用法是相同的。
下面是在目的地平臺(tái)轉(zhuǎn)換數(shù)據(jù)文件的例子:
1).在源庫(kù)將需要轉(zhuǎn)換的表空間設(shè)置為只讀模式,表空間對(duì)應(yīng)的數(shù)據(jù)文件包括:
/tmp/transport_solaris/fin/fin01.dbf
/tmp/transport_solaris/fin/fin02.dbf
/tmp/transport_solaris/hr/hr01.dbf
/tmp/transport_solaris/hr/hr02.dbf
2).在源庫(kù)使用導(dǎo)出工具創(chuàng)建dump文件。
3).拷貝dump文件和數(shù)據(jù)文件到目的地。
4).使用RMAN CONVERT命令轉(zhuǎn)換數(shù)據(jù)文件到目標(biāo)主機(jī)格式,將轉(zhuǎn)換后的數(shù)據(jù)文件存放在/orahome/dbs目錄。
% rman TARGET /
RMAN> CONVERT DATAFILE
'/tmp/transport_solaris/fin/fin01.dbf',
'/tmp/transport_solaris/fin/fin02.dbf',
'/tmp/transport_solaris/hr/hr01.dbf',
'/tmp/transport_solaris/hr/hr02.dbf'
DB_FILE_NAME_CONVERT
'/tmp/transport_solaris/fin','/orahome/dbs/fin',
'/tmp/transport_solaris/hr','/orahome/dbs/hr';
注意:
a).FORMAT參數(shù)控制數(shù)據(jù)文件的名稱和位置。
b).當(dāng)在目的地平臺(tái)轉(zhuǎn)換數(shù)據(jù)文件時(shí),必須使用FROM PLATFORM參數(shù)指定源平臺(tái)。否則,RMAN將假設(shè)源和目的地平臺(tái)字節(jié)存儲(chǔ)順序是相同的。
5).使用導(dǎo)入工具插入轉(zhuǎn)換后的表空間到新的數(shù)據(jù)庫(kù)。
6).修改表空間為讀寫模式。
對(duì)于跨平臺(tái)傳輸表空間而言,如果源平臺(tái)和目的地平臺(tái)的字節(jié)存儲(chǔ)順序是相同,那么可以不必執(zhí)行CONVERT TABLESPACE或CONVERT DATAFILE進(jìn)行轉(zhuǎn)換,直接簡(jiǎn)單拷貝即可。
CONVERT TABLESPACE和CONVERT DATAFILE限制:
a).源和目的地?cái)?shù)據(jù)庫(kù)的COMPATIBLE初始化參數(shù)必須設(shè)置為10.0或者更高。
b).不是所有源和目的地平臺(tái)的組合都是支持的,確定源和目的地平臺(tái)是否被支持需要查詢V$TRANSPORTABLE_PLATFORM。如果源和目的地都在該視圖列表中,那么CONVERT能用于一個(gè)平臺(tái)到另一個(gè)平臺(tái)的轉(zhuǎn)換。
c).在10g版本,使用CONVERT命令將表空間傳遞到另一個(gè)平臺(tái)之前必須至少一次被設(shè)置為讀寫模式。
d).RMAN的endian轉(zhuǎn)換不能處理用戶自定義數(shù)據(jù)類型。
e).10g之前的版本,CLOBs以可變長(zhǎng)度字符集創(chuàng)建,并且依賴字節(jié)存儲(chǔ)順序存儲(chǔ),CONVERT命令不能執(zhí)行CLOBs的轉(zhuǎn)換,RMAN捕獲每個(gè)LOB字段的字節(jié)存儲(chǔ)順序,傳播它到目的地?cái)?shù)據(jù)庫(kù)。之后通過SQL層讀寫這個(gè)數(shù)據(jù),基于兩者之一的字節(jié)存儲(chǔ)順序正確翻譯數(shù)據(jù),如果表空間可寫,那么基于相關(guān)字節(jié)存儲(chǔ)順序?qū)憯?shù)據(jù)。
f).在Oracle Database 10g創(chuàng)建的CLOBs,存儲(chǔ)在AL16UTF16字符集中,具有平臺(tái)獨(dú)立性。
二.跨平臺(tái)傳輸數(shù)據(jù)庫(kù)
RMAN CONVERT DATABASE命令用于自動(dòng)從一個(gè)平臺(tái)(源平臺(tái))移動(dòng)整個(gè)數(shù)據(jù)庫(kù)到另一個(gè)平臺(tái)(目的地平臺(tái))。源和目的地平臺(tái)必須是相同的字節(jié)存儲(chǔ)順序,RMAN在目的地平臺(tái)自動(dòng)完成大多數(shù)創(chuàng)建新數(shù)據(jù)庫(kù)的步驟,確保與源數(shù)據(jù)庫(kù)有相同的數(shù)據(jù),相同的設(shè)置。
CONVERT DATABASE步驟可以在源平臺(tái)或者目的地平臺(tái)執(zhí)行。
跨平臺(tái)傳輸數(shù)據(jù)庫(kù)要求平臺(tái)之間必須有相同的字節(jié)存儲(chǔ)順序(endian format),傳輸數(shù)據(jù)庫(kù)的數(shù)據(jù)文件必須經(jīng)歷轉(zhuǎn)換過程,不能簡(jiǎn)單的從一個(gè)平臺(tái)拷貝到另一個(gè)平臺(tái),可傳輸表空間是可以的。
如果數(shù)據(jù)庫(kù)使用的是PFILE,它是可以被傳遞的。如果使用的是SPFILE,那么將基于SPFILE生成PFILE,進(jìn)行傳遞,之后在目標(biāo)主機(jī)基于PFILE的設(shè)置創(chuàng)建一個(gè)新的SPFILE。大多數(shù)情況下,PFILE中的一些參數(shù)要求手動(dòng)更新到新的數(shù)據(jù)庫(kù),例如,DB_NAME,CONTROL_FILES等。
跨平臺(tái)傳輸數(shù)據(jù)庫(kù)的限制:
a).源和目的地平臺(tái)字節(jié)存儲(chǔ)順序必須是相同的。
b).數(shù)據(jù)庫(kù)文件不能簡(jiǎn)單的直接從源拷貝到目標(biāo)主機(jī),必須經(jīng)過轉(zhuǎn)換過程。
c).源平臺(tái)的Redo日志文件和控制文件不支持傳輸,在傳輸過程中,針對(duì)新的數(shù)據(jù)庫(kù)將創(chuàng)建新的控制文件和redo日志文件,OPEN RESETLOGS執(zhí)行一次,新數(shù)據(jù)庫(kù)即被創(chuàng)建。
注意:轉(zhuǎn)換后的數(shù)據(jù)庫(kù)控制文件不會(huì)包含源庫(kù)的RMAN資料庫(kù)的拷貝信息,源數(shù)據(jù)庫(kù)的備份不能用于轉(zhuǎn)換后的新數(shù)據(jù)庫(kù)。
d).BFILEs不能被傳輸,RMAN在CONVERT DATABASE命令的輸出中包含BFILE類型的對(duì)象列表,用戶必須拷貝BFILEs到目的地平臺(tái)指定的位置。
e).屬于本地管理的臨時(shí)表空間下的臨時(shí)文件不能被傳輸,當(dāng)執(zhí)行transport script時(shí),臨時(shí)表空間將在目的地平臺(tái)被重建。
f).外部表和directory不能傳輸,RMAN在CONVERT DATABASE命令的輸出中列出了受影響的對(duì)象,用戶必須在目的地?cái)?shù)據(jù)庫(kù)重新定義。
g).密碼文件不能被傳輸。如果源庫(kù)有密碼文件,CONVERT DATABASE命令的輸出將包括密碼文件中所有用戶的列表和它們對(duì)應(yīng)的權(quán)限,用戶參考這些信息在目的地?cái)?shù)據(jù)庫(kù)中重新創(chuàng)建新的密碼文件。
1.使用DBMS_TDB包準(zhǔn)備CONVERT DATABASE操作。
DBMS_TDB PL/SQL包定義了兩個(gè)函數(shù)用于準(zhǔn)備CONVERT DATABASE操作。
1).使用DBMS_TDB.CHECK_DB檢查數(shù)據(jù)庫(kù)狀態(tài):
DBMS_TDB.CHECK_DB檢查數(shù)據(jù)庫(kù)是否能被傳輸?shù)狡谕钠脚_(tái),當(dāng)前數(shù)據(jù)庫(kù)狀態(tài)是否允許傳輸。它能在不跟任何參數(shù)的情況下被調(diào)用,查看源庫(kù)是否有任何條件輸出。
DBMS_TDB.CHECK_DB返回TRUE,表示源數(shù)據(jù)庫(kù)能使用CONVERT DATABASE傳輸,F(xiàn)ALSE表示不能被傳輸。
確保數(shù)據(jù)庫(kù)以只讀模式打開,然后再帶上合適的參數(shù)調(diào)用DBMS_TDB.CHECK_DB。
如果SERVEROUTPUT是ON,DBMS_TDB.CHECK_DB返回FALSE,那么會(huì)輸出數(shù)據(jù)庫(kù)不能被傳輸?shù)脑?。以下是可能阻止使用CONVERT DATABASE傳輸?shù)脑颍?br/> a).未知的目的地平臺(tái)名稱。
b).目的地平臺(tái)有不同的字節(jié)存儲(chǔ)順序。
c).數(shù)據(jù)庫(kù)不是以只讀模式打開。
d).數(shù)據(jù)庫(kù)有活動(dòng)或被懷疑的事務(wù)。
e).需要執(zhí)行事務(wù)回滾操作。
f).數(shù)據(jù)庫(kù)兼容版本小于10。
g).一些表空間沒有在兼容版本是10或更高的庫(kù)中以讀寫模式打開過。
如果調(diào)用DBMS_TDB.CHECK_DB在PL/SQL procedure successfully completed消息之前沒有阻止傳輸?shù)南@示,表明數(shù)據(jù)庫(kù)準(zhǔn)備好被傳輸。
2).使用DBMS_TDB.CHECK_EXTERNAL標(biāo)識(shí)外部對(duì)象:
DBMS_TDB.CHECK_EXTERNAL用于表示任何外部表,directory或者BFILEs。RMAN不能自動(dòng)傳輸這些文件。
DBMS_TDB.CHECK_EXTERNAL沒有參數(shù),當(dāng)SERVEROUTPUT設(shè)置為ON,DBMS_TDB.CHECK_EXTERNAL輸出數(shù)據(jù)庫(kù)包含的外部表,directory和BFILEs。
2.使用RMAN CONVERT DATABASE命令轉(zhuǎn)換數(shù)據(jù)庫(kù)。
在源和目的地平臺(tái)執(zhí)行CONVERT DATABASE的過程是不同的。
1).在源平臺(tái)使用CONVERT DATABASE轉(zhuǎn)換數(shù)據(jù)文件。
下面是轉(zhuǎn)換步驟:
a).準(zhǔn)備傳輸數(shù)據(jù)庫(kù),源數(shù)據(jù)庫(kù)必須以只讀方式打開。
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE OPEN READ ONLY;
b).使用DBMS_TDB.CHECK_DB檢查數(shù)據(jù)庫(kù)狀態(tài)。
使用DBMS_TDB包的CHECK_DB函數(shù)檢查數(shù)據(jù)庫(kù)是否準(zhǔn)備好了。
set serveroutput on
declare
db_ready boolean;
begin
/* db_ready is ignored, but with SERVEROUTPUT set to ON any
* conditions preventing transport will be output to console */
db_ready := dbms_tdb.check_db('Microsoft Windows IA (32-bit)',
dbms_tdb.skip_none);
end;
c).使用DBMS_TDB.CHECK_EXTERNAL標(biāo)識(shí)外部對(duì)象。
SQL> set serveroutput on
SQL> declare
external boolean;
begin
/* value of external is ignored, but with SERVEROUTPUT set to ON
* dbms_tdb.check_external displays report of external objects
* on console */
external := dbms_tdb.check_external;
end;
當(dāng)數(shù)據(jù)庫(kù)準(zhǔn)備好傳輸后,執(zhí)行RMAN CONVERT DATABASE命令,指定目的地平臺(tái)和輸出文件名稱。RMAN處理需要移動(dòng)到目的地?cái)?shù)據(jù)庫(kù)的文件,包括以下:
*數(shù)據(jù)庫(kù)數(shù)據(jù)文件的完整拷貝,準(zhǔn)備傳輸。
*用于目的地平臺(tái)新數(shù)據(jù)庫(kù)的PFILE,包括源數(shù)據(jù)庫(kù)PFILE或者SPFILE的設(shè)置:
# Please change the values of the following parameters:
control_files = "/tmp/convertdb/cf_D-NEWDBT_id-1778429277_00gb9u2s"
db_recovery_file_dest = "/tmp/convertdb/orcva"
db_recovery_file_dest_size= 10737418240
instance_name = "NEWDBT"
service_names = "NEWDBT.regress.rdbms.dev.us.oracle.com"
plsql_native_library_dir = "/tmp/convertdb/plsqlnld1"
db_name = "NEWDBT"
*transport script,包含用于在目的地平臺(tái)創(chuàng)建新數(shù)據(jù)庫(kù)SQL語(yǔ)句。
d).執(zhí)行CONVERT DATABASE操作。
以下是在源平臺(tái)使用CONVERT DATABASE的例子:
RMAN> CONVERT DATABASE NEW DATABASE 'newdb'
transport script '/tmp/convertdb/transportscript'
to platform 'Microsoft Windows IA (32-bit)'
db_file_name_convert '/disk1/oracle/dbs' '/tmp/convertdb'
;
Starting convert at 25-JAN-05
using channel ORA_DISK_1
External table SH.SALES_TRANSACTIONS_EXT found in the database
Directory SYS.DATA_PUMP_DIR found in the database
Directory SYS.MEDIA_DIR found in the database
Directory SYS.DATA_FILE_DIR found in the database
Directory SYS.LOG_FILE_DIR found in the database
BFILE PM.PRINT_MEDIA found in the database
User SYS with SYSDBA and SYSOPER privilege found in password file
User OPER with SYSDBA privilege found in password file
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00001 name=/disk1/oracle/dbs/tbs_01.f
converted datafile=/tmp/convertdb/tbs_01.f
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00002 name=/disk1/oracle/dbs/tbs_ax1.f
converted datafile=/tmp/convertdb/tbs_ax1.f
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:03
.
.
.
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00016 name=/disk1/oracle/dbs/tbs_52.f
converted datafile=/tmp/convertdb/tbs_52.f
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
Run SQL script /tmp/convertdb/transportscript on the target platform
to create database
Edit init.ora file init_00gb3vfv_1_0.ora.This PFILE will be used to
create the database on the target platform
To recompile all PL/SQL modules, run utlirp.sql and utlrp.sql on
the target platform
To change the internal database identifier, use DBNEWID Utility
Finished backup at 25-JAN-05
當(dāng)CONVERT DATABASE完成,源數(shù)據(jù)庫(kù)可以以讀寫模式被再次打開。
e).將所有處理的文件拷貝到目的地主機(jī)。
放置數(shù)據(jù)文件到目的地主機(jī)期望的位置,如果在目的地的數(shù)據(jù)文件路徑和源不同,編輯transport script引用新的數(shù)據(jù)文件位置。同時(shí)編輯PFILE修改任何針對(duì)目的地?cái)?shù)據(jù)庫(kù)的設(shè)置。
f).在目的地主機(jī)的SQL*PLUS中執(zhí)行transport scirpt創(chuàng)建新數(shù)據(jù)庫(kù)。
SQL> @transportscript
當(dāng)transport sciprt完成,新數(shù)據(jù)庫(kù)即創(chuàng)建完成。
2).在目的地主機(jī)使用CONVERT DATABASE轉(zhuǎn)換數(shù)據(jù)文件。
我們可能基于以下的原因考慮在目的地執(zhí)行CONVERT DATABASE轉(zhuǎn)換操作:
*防止在源主機(jī)執(zhí)行轉(zhuǎn)換過程帶來任何性能的開銷。
*從源系統(tǒng)分發(fā)數(shù)據(jù)庫(kù)到多個(gè)可接受的不同的平臺(tái)。
下面是轉(zhuǎn)換步驟:
a).以只讀模式打開源數(shù)據(jù)庫(kù)。
b).執(zhí)行DBMS_TDB.CHECK_DB標(biāo)識(shí)任何阻止傳輸?shù)脑颉?br/>
c).執(zhí)行DBMS_TDB.CHECK_EXTERNAL標(biāo)識(shí)外部對(duì)象。
d).在源平臺(tái)運(yùn)行RMAN CONVERT DATABASE命令指定ON TARGET PLATFORM參數(shù),下面是源主機(jī)上執(zhí)行CONVERT DATABASE ON TARGET PLATFORM的例子:
RMAN> convert database on target platform
convert script '/tmp/convertdb/convertscript-target'
transport script '/tmp/convertdb/transportscript-target'
new database 'newdbt'
format '/tmp/convertdb/%U'
;
Starting convert at 28-JAN-05
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=39 devtype=DISK
External table SH.SALES_TRANSACTIONS_EXT found in the database
Directory SYS.DATA_PUMP_DIR found in the database
Directory SYS.MEDIA_DIR found in the database
Directory SYS.DATA_FILE_DIR found in the database
Directory SYS.LOG_FILE_DIR found in the database
BFILE PM.PRINT_MEDIA found in the database
User SYS with SYSDBA and SYSOPER privilege found in password file
User OPER with SYSDBA privilege found in password file
channel ORA_DISK_1: starting to check datafiles
input datafile fno=00001 name=/disk1/oracle/dbs/tbs_01.f
channel ORA_DISK_1: datafile checking complete, elapsed time: 00:00:00
channel ORA_DISK_1: starting to check datafiles
input datafile fno=00002 name=/disk1/oracle/dbs/tbs_ax1.f
channel ORA_DISK_1: datafile checking complete, elapsed time: 00:00:00
channel ORA_DISK_1: starting to check datafiles
input datafile fno=00017 name=/disk1/oracle/dbs/tbs_03.f
channel ORA_DISK_1: datafile checking complete, elapsed time: 00:00:00
.
.
.
channel ORA_DISK_1: starting to check datafiles
input datafile fno=00015 name=/disk1/oracle/dbs/tbs_51.f
channel ORA_DISK_1: datafile checking complete, elapsed time: 00:00:00
channel ORA_DISK_1: starting to check datafiles
input datafile fno=00016 name=/disk1/oracle/dbs/tbs_52.f
channel ORA_DISK_1: datafile checking complete, elapsed time: 00:00:00
Run SQL script /tmp/convertdb/transportscript-target on the target platform to create database
Edit init.ora file /tmp/convertdb/init_00gb9u2s_1_0.ora. This PFILE will be used to create the database on the target platform
Run RMAN script /tmp/convertdb/convertscript-target on target platform to convert datafiles
To recompile all PL/SQL modules, run utlirp.sql and utlrp.sql on the target platform
To change the internal database identifier, use DBNEWID Utility
Finished backup at 28-JAN-05
在源平臺(tái)執(zhí)行CONVERT DATABASE ON TARGET PLATFORM命令產(chǎn)生transport script,包含在目的地平臺(tái)創(chuàng)建新數(shù)據(jù)庫(kù)的SQL*PLUS命令,和包含同源數(shù)據(jù)庫(kù)相同設(shè)置的新數(shù)據(jù)庫(kù)PFILE。
e).將所有要處理的文件拷貝到目的地主機(jī)。
f).執(zhí)行convert script。
CONVERT DATABASE ON TARGET PLATFORM針對(duì)被傳輸?shù)臄?shù)據(jù)庫(kù)的每個(gè)數(shù)據(jù)文件生成一個(gè)convert script,包含RMAN CONVERT DATAFILE命令。必須拷貝未轉(zhuǎn)換的源數(shù)據(jù)文件到目的地相同的位置,然后在目的地運(yùn)行轉(zhuǎn)換腳本,轉(zhuǎn)換數(shù)據(jù)文件到目的地可用的字節(jié)存儲(chǔ)順序。傳統(tǒng)的轉(zhuǎn)換命令類似以下內(nèi)容:
RUN {
CONVERT DATAFILE '/disk1/oracle/dbs/tbs_01.f'
FROM PLATFORM 'Linux IA (32-bit)'
FORMAT '/tmp/convertdb/data_D-TV_I-1778429277_TS-SYSTEM_FNO-1_7qgb9u2s';
CONVERT DATAFILE '/disk1/oracle/dbs/tbs_ax1.f'
FROM PLATFORM 'Linux IA (32-bit)'
FORMAT '/tmp/convertdb/data_D-TV_I-1778429277_TS-SYSAUX_FNO-2_7rgb9u2s';
CONVERT DATAFILE '/disk1/oracle/dbs/tbs_03.f'
FROM PLATFORM 'Linux IA (32-bit)'
FORMAT '/tmp/convertdb/data_D-TV_I-1778429277_TS-SYSTEM_FNO-17_7sgb9u2s';
.
.
.
CONVERT DATAFILE '/disk1/oracle/dbs/tbs_51.f'
FROM PLATFORM 'Linux IA (32-bit)'
FORMAT '/tmp/convertdb/data_D-TV_I-1778429277_TS-TBS_5_FNO-15_8egb9u2u';
CONVERT DATAFILE '/disk1/oracle/dbs/tbs_52.f'
FROM PLATFORM 'Linux IA (32-bit)'
FORMAT '/tmp/convertdb/data_D-TV_I-1778429277_TS-TBS_5_FNO-16_8fgb9u2u';
}
CONVERT DATABASE ON TARGET PLATFORM不能處理轉(zhuǎn)換后的數(shù)據(jù)文件拷貝。
如果源和目的地的臨時(shí)位置不同,注意修改convert script中的CONVERT和FORMAT指定的位置。
g).創(chuàng)建參數(shù)文件和執(zhí)行transport script。
在目的地平臺(tái)運(yùn)行convert script準(zhǔn)備數(shù)據(jù)文件,然后創(chuàng)建期望改變的參數(shù)文件,最后運(yùn)行transport script創(chuàng)建新數(shù)據(jù)庫(kù)。
當(dāng)transport script完成,新數(shù)據(jù)庫(kù)就創(chuàng)建。
到此,相信大家對(duì)“RMAN怎么跨平臺(tái)傳輸數(shù)據(jù)庫(kù)和表空間”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。