在遠端主機 (RMAN 模式) 上建立重複資料庫的案例

在此案例中,您可以使用與原始資料庫相同的目錄結構,在遠端主機上複製資料庫。 在此範例中,原始資料庫是 orcl,而原始資料庫的主機名稱是 host1,原始資料庫 orcl 使用 host2 上的 RMAN 復原目錄資料庫 catdb。 重複的資料庫名稱將是 dup ,而重複資料庫的主機名稱是 host3

在遠端主機上建立重複的資料庫

  1. 在 host1 上,使用 CA ARCserve Oracle Agent 對目標資料庫 orcl 執行一次完整備份,以確定我們具有需要的備份及封存的重做日誌。 您可以在此處啟動 Oracle 代理程式配置公用程式,以允許從 RMAN 主控台提交工作及配置 Oracle 代理程式。
    C:\> rman catalog rman/rman@catdb target sys/sys_pwd@orcl
    RMAN> run {
    allocata channel dev1 type "sbt_tape"
    backup database plus archivelog;
    release channel dev1;}
    

    附註:確定您必須啟用 rman 目錄才能執行完整備份,以及從 GUI 執行完整備份。

  2. 在 host3 上,使用 oradim 建立一個輔助執行個體。
    oradim -new -sid dup
    
  3. 在 host3 上,為輔助執行個體建立一個 Oracle 密碼檔案。 例如:
    Orapwd file="c:\oracle\product\10.2.0\db_1\database\PWDdup.ora" password=sys_pwd entries=5
    
  4. 建立 Oracle 網路與輔助執行個體之間的連線。
  5. 在 host3 上,為輔助執行個體 dup 建立初始化參數檔案 initdup.ora。

    重複資料庫的初始化參數設定範例如下:

    db_name=dup
    db_unique_name=dup
    background_dump_dest='C:\oracle\product\10.2.0\admin\dup\bdump'
    compatible='10.2.0.1.0'
    control_files='C:\oracle\product\10.2.0\oradata\dup\control01.ctl','C:\oracle\product\10.2.0\oradata\dup\control02.ctl','C:\oracle\product\10.2.0\oradata\dup\control03.ctl'
    core_dump_dest='C:\oracle\product\10.2.0\admin\dup\cdump'
    user_dump_dest='C:\oracle\product\10.2.0\admin\dup\udump'
    DB_FILE_NAME_CONVERT=('c:\oracle\product\10.2.0\oradata\orcl','C:\oracle\product\10.2.0\oradata\dup\')
    LOG_FILE_NAME_CONVERT=('c:\oracle\product\10.2.0\oradata\orcl','C:\oracle\product\10.2.0\oradata\dup\')
    
  6. 現在在 host3 上,啟動輔助執行個體

    在開始 RMAN 複製之前,請使用 SQL*Plus 連線到輔助執行個體,並在 NOMOUNT 模式中啟動它 (指定參數檔案)。 在此範例中,sys_pwd 是含有 SYSDBA 權限的使用者密碼,而 dup 是輔助執行個體的網路服務名稱。

    SQL> connect sys/sys_pwd@dup
    SQL> startup nomount pfile=' c:\oracle\product\10.2.0\db_1\database\PWDdup.ora ';
    

    附註:由於輔助執行個體沒有控制檔案,您只能在 NOMOUNT 模式中啟動該執行個體。 請勿建立控制檔案或嘗試裝載或開啟輔助執行個體。

  7. 您可以在 host3 上安裝 CA ARCserve Oracle 代理程式及啟動 Oracle 代理程式配置公用程式。 請確定勾選執行個體 dup 納入保護。
  8. 修改目錄 %Oracle_Agent_Home% 中的 config.xml 以啟用替用還原。

    在 config.xml 檔案中尋找下列區段:

    <AlternateRestore>
    	     <IsAnyOriginalHost>0</IsAnyOriginalHost>
    	     <OriginalHost\>
    
    	</AlternateRestore>
    

    您可以使用 [將 OriginalHost 設為等於 host1] 或 [將 IsAnyOriginalHost 設為 1] 來執行替代還原。

  9. 在 host1 上,使用 RMAN 以連線到目標資料庫、重複資料庫,以及復原目錄資料庫,並發出 Duplicate 指令。
    C:\> rman catalog rman/rman@catdb target sys/sys_pwd@orcl auxiliary sys/sys_pwd@dup 
    連線到目標資料庫:ORCL (DBID=1143972091)
    連線到復原目錄資料庫
    連線到輔助資料庫:DUP (未裝載)
    RMAN> run 
    {
    allocate auxiliary channel aux1 type "sbt_tape";
    duplicate target database to dup;
    release channel aux1;
    }
    
  10. 資料庫複製已完成。 您現在可以在 host3 上執行下列指令:
    C:\> sqlplus / as sysdba
    

    連接到:

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

    含有 [磁碟分割]、[OLAP] 及 [資料挖掘] 選項

    SQL> select status from v$database;
    狀態
    ----------
    OPEN
    SQL> select status from v$database;STATUS
    名稱
    ---------
    
    DUP