歡迎您光臨本站 註冊首頁

詳解:Oracle 11g物理備用資料庫「實況克隆」

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
相比Oracle 8i和Oracle 9i,Oracle 11g在資料庫備份方面做出了極大的改善,特別是作為Oracle最大可用性架構(MAA)一部分的真正應用集群(RAC)特性.Oracle 11g現在創建一個備用資料庫變得更加簡單了,因為恢復管理器(RMAN)支持直接從主資料庫使用DUPLICATE DATABASE命令集通過網路克隆一個備用資料庫,只要目標資料庫是活動的即可.這意味著再也不用先生成,再傳輸,在備用資料庫上通過複雜的手工方式還原和恢復主資料庫的RMAN備份集了,相反,RMAN在主站點上自動生成一個轉換腳本在內存中,然後在備用站點上使用這個腳本管理克隆操作,實際上不用DBA進行任何干預.

  下文將集中精力講解備用資料庫「實況克隆」特性.筆者的硬體基本情況是:雙核AMD Athlon 64位CPU(Winchester 420),4GB內存,主機運行的是Windows xp系統,運行VMWare Server 1.0.8訪問訪問虛擬資料庫伺服器環境,每個虛擬機使用1個CPU,1200M內存,我選擇Oracle Enterprise Linux (OEL) 4.5.1(Linux內核版本2.6.9-55.0.0.0.2.ELsmp)作為虛擬機客戶端操作系統.

  每個VMWare虛擬機配置好后,在每個虛擬機的/etc/hosts文件中添加合適的條目,讓主站點(training)和備用站點(11gStdby)之間建立起網路連接,然後在每個節點上都安裝Oracle 11g資料庫,,在主站點上創建好標準的11g R1種子資料庫,包括標準的示例方案.這個資料庫的ORACLE_SID是orcl,接下來就可以開始執行實況克隆操作了.

  克隆前準備工作:調整主資料庫

  在克隆主資料庫到對應的備用環境中之前,我需要對主資料庫做一些調整,下面的步驟未做特別說明沒有先後順序,只要在發出DUPLICATE DATABASE命令前這些步驟都執行完了即可,在克隆操作過程中應該沒有什麼讓人意外的東西出現.



  強制記錄所有的交易

  大多數組織實施數據衛士配置的主要原因是保證所有交易都不丟失,但遺憾的是,默認情況下,Oracle資料庫是運行在NOFORCE LOGGING模式下的,這意味著對對象的改變可能丟失,因為他們的存儲屬性被設為NOLOGGING,為了確保所有的改變都被記錄下來,我將執行ALTER DATABASE FORCE LOGGING命令,這個命令需要在執行ALTER DATABASE ARCHIVELOG命令將資料庫ARCHIVELOG模式前執行,這些命令如清單1所示.

  清單1 將主資料庫切換到ARCHIVELOG模式


  --為歸檔日誌文件設置一個合適的格式
  ALTER SYSTEM SET log_archive_format = 'log_%s_%t_%r.arc' SCOPE=SPFILE;
  --設置新的DB_UNIQUE_NAME參數,它不能動態修改
  ALTER SYSTEM SET db_unique_name = 'orcl' SCOPE=SPFILE;
  SHUTDOWN IMMEDIATE;
  STARTUP MOUNT;
  ALTER DATABASE FORCE LOGGING;
  ALTER DATABASE ARCHIVELOG;
  ALTER DATABASE OPEN;


  創建備用重做日誌組

  自從Oracle 9i R2開始支持備用重做日誌(standby redo log 即SRL)組開始,Oracle就建議配置它,SRL對於實時應用(Real Time Apply)特性是需要的,或DBA想要實現重做日誌串聯目的時也需要,除此之外,它任然是備用資料庫配置選項.Oracle 11g另一個優點是如果SRL在主資料庫上已經配置好,那麼DUPLICATE DATABASE命令將會在備用資料庫上自動創建它們.清單2顯示了我在主資料庫上創建SRL的命令,注意我也使用了多個重SRL文件保護整個SRL組,避免數據丟失,這一點和在線重做日誌組類似.

  清單2 在主資料庫上創建備用重做日誌文件


[火星人 ] 詳解:Oracle 11g物理備用資料庫「實況克隆」已經有612次圍觀

http://coctec.com/docs/linux/show-post-58597.html