資源描述:
《oracle 11g data guard 物理備庫快速配置指南》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、Oracle11gDataGuard物理備庫快速配置指南(上)June26,2012緣起最近做了10g和11g的物理備庫配置實驗,發(fā)現(xiàn)DataGuard其實很容易,但是缺少好文檔。我是參考官方文檔做的實驗,覺得它寫的不是很清楚的。Google出來兩個pdf文檔,讀了覺得比官方文檔強很多。翻譯下,也許會對某些朋友有用。翻譯的同時我也好更熟悉下這兩個文檔。好久沒翻譯過英文了,可以順便練練手。原文檔下載地址(墻外):·ConfigureDataguard11gR2PhysicalStandbyPart1·ConfigureData
2、guard11gR2PhysicalStandbyPart2第一部分簡介DataGuard是Oracle數據庫的一個功能,能夠提供數據庫的冗余。冗余是通過創(chuàng)建一個備用(物理復制)數據庫實現(xiàn),備庫最好是在不同的地理位置或者在不同的磁盤上。備庫通過應用主庫上的變化來保持數據同步。備庫可以使用重做日志應用(物理備庫)或SQL應用同步(邏輯備庫)。本文旨在說明DataGuard的配置并不復雜,不需要特殊的技能或者培訓才能學會搭建。它將快速展示給讀者搭建一個物理備庫的過程。我的目標是,即使你第一次接觸DataGuard,剛考慮要使用它
3、或擔心它會不會很難配置,本文將幫助你快速搭建起一個正常運行起來的物理備庫。為什么使用DataGuard每種Oracle高可用性工具都有其目的。使用DataGuard的理由有:·整個數據庫的冗余·故障時的快速恢復·故障后客戶端能自動重連·在備庫運行備份·較好的故障平均修復時間·并不復雜系統(tǒng)環(huán)境在寫完本文后,我使用DBCA創(chuàng)建了一個新數據庫?JED,然后重新運行了文中的配置步驟,確認其對一個基本的Oracle11g數據庫適用。主庫叫?JED,運行在一臺叫?dev-db1的服務器上。備庫叫JED2,運行在一臺叫?dev-db2?的
4、服務器上。不需要提的基本前提有一些任何生產庫都應該有的基本的設置。其中一個就是歸檔模式。對于生產庫,這應該是一個明顯的必須配置。如果你的生產庫沒有適用歸檔模式,你要么需要馬上開始讀點書,要么你得有一個非常非常好的理由。我不大確定誰真能找出一個理由,但任何準則都有例外。如何修改你的數據庫為歸檔模式:SQL>shutdownimmediateSQL>startupmountSQL>alterdatabasearchivelog;SQL>alterdatabaseopen;SQL>archiveloglist;主庫準備首先,備庫要
5、成為主庫的完全相同的復制,它必須接收來自主庫的重做日志。Oracle數據庫中,一個用戶可以用指定某操作不產生日志(比如使用?NOLOGGING?語句)。對于備庫來說,這是個問題。你必須確認用戶無法指示數據庫不產生重做日志,這需要啟用數據庫的強制日志功能。啟用方法如下:SQL>alterdatabaseforcelogging;SQL>selectname,force_loggingfromv$database;你應該看到?force_logging?列為?YES。其次,你要確認當主庫添加或刪除數據文件時,這些文件也會在備庫添
6、加或刪除。啟用此功能的方法如下:SQL>altersystemsetstandby_file_management='AUTO';再次,我們要確認書庫有備用日志文件(StandbyLogFiles)。備庫使用備用日志文件來來保存從主庫接收到的重做日志。主庫上也建立備用日志文件有兩個原因,一是主庫可能轉換成備庫,備庫需要備用日志,二是如果主庫建了備用日志,備庫會自動建。備用日志應該跟在線日志一樣大,組數應該至少跟在線日志一樣多,或者更多。我喜歡給備用日志一個跟在線日志不同范圍的編號,比如在線日志組是1到6,備用日志就是11到1
7、6。創(chuàng)建備用日志的方法如下:SQL>alterdatabaseaddstandbylogfilegroup11('/oradata/JED/g11m01.sdo','/oradata/JED/g11m02.sdo')size50M;如果你不是使用?SSL?做重做日志傳輸驗證(一般來說不會),那么你需要使用密碼文件做驗證。你必須創(chuàng)建密碼文件,并且設置參數?REMOTE_LOGIN_PASSWORDFILE?為?EXCLUSIVE?或?SHARED。一般數據庫默認就有密碼文件,并且此參數默認為?EXECUSIVE。先檢查下這兩項
8、,如果不是默認,設置方法如下:SQL>altersystemsetremote_login_passwordfile=exclusivescope=spfile;OS>orapwdpassword=最后,檢查數據庫的?db_unique_name?參數是否設置。如果沒有,