溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

RMAN怎么跨平臺(tái)傳輸數(shù)據(jù)庫(kù)和表空間

發(fā)布時(shí)間:2021-09-01 17:20:05 來源:億速云 閱讀:118 作者:chen 欄目:建站服務(wù)器

本篇內(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í)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI