半自動化搭建Data Guard的想法和實踐(三)
今天總算抽了些時間把半自動化的指令碼完成了大半,目前還缺少兩部分的指令碼,一部分是安裝前的檢查指令碼,可以做一個預檢查。雖然目前來看還不是必須,但是這些是標準和規範的地方,這些條件不滿足,失敗的機率會加大。另外一部分是安裝後的補充指令碼,其實安裝後還有很多需要注意的地方。
大體想了下,補充的指令碼包含下面的部分。
配置crontab,目前的常用job是定期刪除歸檔,定期檢查監聽的情況
配置iptables ,把主庫的防火牆資訊複製過來,或者作為靜態備份,需要是啟用
配置大頁,這個可以在最佳化的基礎上進行計算,在核心引數中修改。
禁用NUMA,這個是系統層面,雖然安裝不會受到影響,但是需要在grub中禁用,而且這個操作需要重啟伺服器,在最後確認無誤後操作。
指令碼的實現思路:
目前的設計思路是在中控端執行,從主庫抓取配置資訊,向備庫同步這些配置,生成便捷的搭建指令碼。目前的指令碼的核心檔案是一個配置檔案,命名為autodg.cnf
內容如下:
export db_name=statdb1
export pri_db_unique_name=statdb96
export pri_db_ip_addr=10.127.133.96
export std_db_unique_name=statdb3
export std_db_ip_addr=10.127.133.45
預期的目標是隻需要知道主備庫的IP即可,剩下的事情不用一一連線到資料庫端去檢查,我們需要明確搭建的資料庫uniqe_name
這個工作是由一個便捷的檢查指令碼來得到主庫的資訊,指令碼的執行情況如下,是否已有備庫,主庫的資訊,重要的引數等都一目瞭然。
基於這些資訊我們可以很順利的完成autodg.cnf的配置。備庫的資訊則根據自己的需要來配置即可。
接下來的指令碼就會自動讀取autodg.cnf中的配置資訊,從主庫抓取配置資訊。
主備庫的明細資訊,延遲,SCN都會抓取到,其實後臺會進行更多的配置,對listener.ora,tnsnames.ora,hosts,pfile檔案進行修改。
最後開通主備庫的防火牆互通訪問,當然這個還需要一個指令碼open_firewall.sh,主要就是iptables命令在主備庫檢查開通埠訪問許可權。
接著半自動化的指令碼來了。init_pri.sh
這個指令碼會生成提示,我們需要在主庫端做下面兩個簡單的操作,需要手動完成,全是基於安全考慮。
目前最後一個指令碼是init_std.sh,會初始化備庫的環境。
會把配置資訊複製到備庫,在啟動資料庫之前需要檢查備庫中的一些路徑是否存在
這幾個指令碼,可以一下子都執行完,或者一個一個來執行,如果不跳出規範和標準,那麼應該能夠很快在5分鐘內配置完成。
後期繼續改進,我想想怎麼能夠更加便捷,哪些工作還可以補充進去。
大體想了下,補充的指令碼包含下面的部分。
配置crontab,目前的常用job是定期刪除歸檔,定期檢查監聽的情況
配置iptables ,把主庫的防火牆資訊複製過來,或者作為靜態備份,需要是啟用
配置大頁,這個可以在最佳化的基礎上進行計算,在核心引數中修改。
禁用NUMA,這個是系統層面,雖然安裝不會受到影響,但是需要在grub中禁用,而且這個操作需要重啟伺服器,在最後確認無誤後操作。
指令碼的實現思路:
目前的設計思路是在中控端執行,從主庫抓取配置資訊,向備庫同步這些配置,生成便捷的搭建指令碼。目前的指令碼的核心檔案是一個配置檔案,命名為autodg.cnf
內容如下:
export db_name=statdb1
export pri_db_unique_name=statdb96
export pri_db_ip_addr=10.127.133.96
export std_db_unique_name=statdb3
export std_db_ip_addr=10.127.133.45
預期的目標是隻需要知道主備庫的IP即可,剩下的事情不用一一連線到資料庫端去檢查,我們需要明確搭建的資料庫uniqe_name
這個工作是由一個便捷的檢查指令碼來得到主庫的資訊,指令碼的執行情況如下,是否已有備庫,主庫的資訊,重要的引數等都一目瞭然。
基於這些資訊我們可以很順利的完成autodg.cnf的配置。備庫的資訊則根據自己的需要來配置即可。
接下來的指令碼就會自動讀取autodg.cnf中的配置資訊,從主庫抓取配置資訊。
主備庫的明細資訊,延遲,SCN都會抓取到,其實後臺會進行更多的配置,對listener.ora,tnsnames.ora,hosts,pfile檔案進行修改。
最後開通主備庫的防火牆互通訪問,當然這個還需要一個指令碼open_firewall.sh,主要就是iptables命令在主備庫檢查開通埠訪問許可權。
接著半自動化的指令碼來了。init_pri.sh
這個指令碼會生成提示,我們需要在主庫端做下面兩個簡單的操作,需要手動完成,全是基於安全考慮。
目前最後一個指令碼是init_std.sh,會初始化備庫的環境。
會把配置資訊複製到備庫,在啟動資料庫之前需要檢查備庫中的一些路徑是否存在
這幾個指令碼,可以一下子都執行完,或者一個一個來執行,如果不跳出規範和標準,那麼應該能夠很快在5分鐘內配置完成。
後期繼續改進,我想想怎麼能夠更加便捷,哪些工作還可以補充進去。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2123002/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 半自動化搭建Data Guard的想法和實踐(一)
- 半自動化搭建Data Guard的想法和實踐(二)
- 半自動化搭建Data Guard的想法和實踐(四)
- Data Guard故障自動切換的想法(r11筆記第40天)筆記
- Data guard搭建
- 單機搭建Data Guard
- DATA GUARD部署模式——DATA GUARD概念和管理模式
- 【DG】Data Guard搭建(physical standby)
- RedHat搭建物理Data GuardRedhat
- 搭建Active Data Guard環境
- 介紹ORACLE DATA GUARD——DATA GUARD概念和管理Oracle
- 容災半自動化的實現思路(一)
- 容災半自動化的實現思路(二)
- [Data Guard]Oracle10g Data Guard學習筆記(三)Oracle筆記
- 容災技術Data Guard搭建
- Data Guard搭建困境突圍(一)
- Oracle RAC + Data Guard 環境搭建Oracle
- gulp 前端自動化實踐前端
- 半抄半寫的自動化-知識儲備
- Data Guard Broker系列之二:Data Guard Broker配置實戰
- 自動化測試的最佳實踐
- 利用Python實現微信半自動化操作!Python
- Oracle10g Data Guard (Standby) 理論與實踐Oracle
- Oracle 12c Data Guard搭建(一)Oracle
- 搭建邏輯Data Guard 12c
- API自動化測試實踐API
- Oracle Data Guard和Broker概述Oracle
- Oracle10g Data Guard (Standby) 理論與實踐 2Oracle
- Data guard 配置之搭建物理備庫
- 介面自動化實戰之框架搭建框架
- Webpack自動化構建實踐指南Web
- fastlane 自動化打包工具實踐AST
- 自動化測試實踐總結
- 前端自動化混沌測試實踐前端
- UI自動化測試工程實踐UI
- Data Guard實現故障自動切換(二)(r11筆記第39天)筆記
- UI自動化技術在高德的實踐UI
- DevOps 自動化實踐:提升效率的 Botdev