不停機進行Oracle資料庫複製的實驗

來源:互聯網
上載者:User

目標:主庫不停機,搭建出一個測試環境,允許少量的資料不同步,不用邏輯匯入匯出,使用rman實現同機複製資料庫-131伺服器上將PROD庫通過rman-duplicate target database to PRODDUP1的方式進行複製

131伺服器是建在VMware上的Linux虛擬機器

伺服器192.168.182.131

OEL5.8_32

Oracle 11.2.0.1.0 32bit
 [oracle@oelr5u8-1 admin]$ uname -a
 Linux oelr5u8-1.localdomain 2.6.32-300.10.1.el5uek #1 SMP Wed Feb 22 17:22:40 EST 2012 i686 i686 i386 GNU/Linux
 
SYS@PROD>select * from v$version;

BANNER
 --------------------------------------------------------------------------------
 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
 PL/SQL Release 11.2.0.1.0 - Production
 CORE    11.2.0.1.0      Production
 TNS for Linux: Version 11.2.0.1.0 - Production
 NLSRTL Version 11.2.0.1.0 - Production

 


過程中會經過幾種測試:
 1. 嘗試不作任何配置,直接執行duplicate target database to PRODDUP1;
 RMAN> duplicate target database to PRODDUP1;

Starting Duplicate Db at 05-APR-14
 RMAN-00571: ===========================================================
 RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
 RMAN-00571: ===========================================================
 RMAN-03002: failure of Duplicate Db command at 04/05/2014 11:10:29
 RMAN-06174: not connected to auxiliary database
 --DUPLICATE命令作為RMAN中的一個命令,要建立Duplicate資料庫,首先就得保證RMAN用戶端能夠正常串連到目標資料庫(PROD)和啟動到NOMOUNT狀態的輔助執行個體(即上面報錯的“auxiliary database”)
 
2.  嘗試完整的實戰-參考三思的教程,感謝!
 本地建立Duplicate資料庫
 複雜度最高,由於本地建立Duplicate資料庫,新建立的檔案路徑不能與目標資料庫相同,本地建立需要注意輔助執行個體初始化參數中DB_NAME與目標資料庫不能相同。
 核心要求:
 保證輔助執行個體的初始化參數中檔案路徑的正確有效
 執行DUPLICATE命令時,注意與輔助執行個體初始化參數設定的配合

2.1)  建立輔助執行個體 auxiliary instance
 2.1.1) 建立輔助執行個體的密鑰檔案
 orapwd file=orapwPRODDUP1 password=oracle
 2.1.2) 指定環境變數ORACLE_SID--auxiliary instance
 export ORACLE_SID=PRODDUP1
 2.1.3) 配置初始化參數檔案
 由於11g與10g管理目錄的區別,在11g庫中查詢:
 audit_file_dest                      string      /u01/app/oracle/admin/PROD/adump
 background_dump_dest                string      /u01/app/oracle/diag/rdbms/prod/PROD/trace
 core_dump_dest                      string      /u01/app/oracle/diag/rdbms/prod/PROD/cdump
 user_dump_dest                      string      /u01/app/oracle/diag/rdbms/prod/PROD/trace
 並且參數檔案initPROD.ora中只指定了audit_file_dest,我們這裡只手工建立路徑adump,其他路徑看ORACLE是否能夠自動建立
 cd $ORACLE_BASE/admin
 mkdir -p ./PRODDUP1/adump

下面建立其他資料庫檔案(控制檔案、記錄檔、資料檔案)的路徑:
 mkdir -p /u01/app/oracle/oradata/PRODDUP1/disk1
 mkdir -p /u01/app/oracle/oradata/PRODDUP1/disk2
 mkdir -p /u01/app/oracle/oradata/PRODDUP1/disk3
 mkdir -p /u01/app/oracle/oradata/PRODDUP1/disk4
 mkdir -p /u01/app/oracle/oradata/PRODDUP1/disk5

下面修改參數檔案內容,先進行複製
 cd $ORACLE_HOME/dbs
 cp initPROD.ora initPRODDUP1.ora
 vi initPRODDUP1.ora
 PROD.__db_cache_size=230686720
 PROD.__java_pool_size=4194304
 PROD.__large_pool_size=4194304
 PROD.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
 PROD.__pga_aggregate_target=314572800
 PROD.__sga_target=419430400
 PROD.__shared_io_pool_size=0
 PROD.__shared_pool_size=163577856
 PROD.__streams_pool_size=8388608
 *.audit_file_dest='/u01/app/oracle/admin/PROD/adump'
 *.audit_trail='db'
 *.compatible='11.2.0'
 *.control_files='/u01/app/oracle/oradata/PROD/disk1/control01.ctl','/u01/app/oracle/oradata/PROD/disk2/control02.ctl','/u01/app/oracle/oradata/PROD/disk3/control03.ctl'
 *.db_block_size=8192
 *.db_domain=''
 *.db_name='PROD'
 *.db_recovery_file_dest='/home/oracle/flash'
 *.db_recovery_file_dest_size=2G
 *.diagnostic_dest='/u01/app/oracle'
 *.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
 *.local_listener='listener2'
 *.log_archive_dest_1='location=/home/oracle/arch'
 *.memory_target=700M
 *.open_cursors=300
 *.processes=150
 *.remote_login_passwordfile='EXCLUSIVE'
 *.sga_target=400M
 *.undo_management='auto'
 *.undo_tablespace='UNDOTBS1'

改為:
 PRODDUP1.__db_cache_size=230686720
 PRODDUP1.__java_pool_size=4194304
 PRODDUP1.__large_pool_size=4194304
 PRODDUP1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
 PRODDUP1.__pga_aggregate_target=314572800
 PRODDUP1.__sga_target=419430400
 PRODDUP1.__shared_io_pool_size=0
 PRODDUP1.__shared_pool_size=163577856
 PRODDUP1.__streams_pool_size=8388608
 *.audit_file_dest='/u01/app/oracle/admin/PRODDUP1/adump'
 *.audit_trail='db'
 *.compatible='11.2.0'
 *.control_files='/u01/app/oracle/oradata/PRODDUP1/disk1/control01.ctl','/u01/app/oracle/oradata/PRODDUP1/disk2/control02.ctl','/u01/app/oracle/oradata/PRODDUP1/disk3/control03.ctl'
 *.db_block_size=8192
 *.db_domain=''
 *.db_name='PRODDUP1'
 *.db_recovery_file_dest='/home/oracle/flash'
 *.db_recovery_file_dest_size=2G
 *.diagnostic_dest='/u01/app/oracle'
 *.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
 *.local_listener='listener2'
 *.log_archive_dest_1='location=/home/oracle/arch'
 *.memory_target=700M
 *.open_cursors=300
 *.processes=150
 *.remote_login_passwordfile='EXCLUSIVE'
 *.sga_target=400M
 *.undo_management='auto'
 *.undo_tablespace='UNDOTBS1'
 ## add for duplicate
 DB_FILE_NAME_CONVERT='PROD','PRODDUP1'
 LOG_FILE_NAME_CONVERT='PROD','PRODDUP1'

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.