大并發(fā)高可用負(fù)載均衡系統(tǒng)部署方案.doc_第1頁(yè)
大并發(fā)高可用負(fù)載均衡系統(tǒng)部署方案.doc_第2頁(yè)
大并發(fā)高可用負(fù)載均衡系統(tǒng)部署方案.doc_第3頁(yè)
大并發(fā)高可用負(fù)載均衡系統(tǒng)部署方案.doc_第4頁(yè)
大并發(fā)高可用負(fù)載均衡系統(tǒng)部署方案.doc_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

大并發(fā)高可用負(fù)載均衡系統(tǒng)(實(shí)施部署方案)目錄一、 方案說(shuō)明2二、 系統(tǒng)架構(gòu)描述21、 系統(tǒng)整體結(jié)構(gòu)圖22、 WEB端高可用負(fù)載均衡32.1 Nginx負(fù)載均衡簡(jiǎn)介32.2 高可用方案簡(jiǎn)介43、 數(shù)據(jù)庫(kù)高可用方案介紹5三、 WEB端負(fù)載均衡及高可用系統(tǒng)部署53.1 前端調(diào)度服務(wù)器Nginx部署53.1.1 安裝說(shuō)明53.1.2 Nginx安裝53.1.3 啟動(dòng)配置63.1.4 測(cè)試、維護(hù)73.2 高可用keepalive部署7四、 數(shù)據(jù)高可用方案部署7五、 運(yùn)行維護(hù)事項(xiàng)8上???20151、 方案說(shuō)明 為滿足公司業(yè)務(wù)平臺(tái)的發(fā)展需要,應(yīng)對(duì)業(yè)務(wù)平臺(tái)的多用戶大并發(fā)量的訪問(wèn)請(qǐng)求,需要一套高效可靠的系統(tǒng)部署方案。 目前各業(yè)務(wù)平臺(tái)存在的問(wèn)題有,業(yè)務(wù)系統(tǒng)(web數(shù)據(jù)庫(kù))單機(jī)運(yùn)行,單臺(tái)應(yīng)用服務(wù)器提供的訪問(wèn)能力有限,存在單點(diǎn)故障,雖然現(xiàn)在能做到故障急時(shí)報(bào)警,但出現(xiàn)故障后恢復(fù)時(shí)間較見(jiàn);另外業(yè)務(wù)數(shù)據(jù)存在安全隱患,數(shù)據(jù)定時(shí)備份,數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)服務(wù)器故障后存在數(shù)據(jù)留失風(fēng)險(xiǎn),僅故障恢復(fù)時(shí)間較常等。 本套部署方案旨在加固業(yè)務(wù)系統(tǒng)的可靠性、可擴(kuò)展性,提高業(yè)務(wù)系統(tǒng)的并發(fā)訪問(wèn),提高業(yè)務(wù)數(shù)據(jù)安全性。2、 系統(tǒng)架構(gòu)描述1、 系統(tǒng)整體結(jié)構(gòu)圖2、 WEB端高可用負(fù)載均衡2.1 Nginx負(fù)載均衡簡(jiǎn)介 nginx是一款高性能的HTTP和反向代理服務(wù)器軟件,截止到2014年底,Nginx僅次于apache成為第二大web服務(wù)器軟件,而在全球最忙碌top10000網(wǎng)站中使用比例更是高達(dá)42.7%。其發(fā)展速度和流行程度已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)其它同類軟件,成為大型網(wǎng)站和高并發(fā)網(wǎng)站的首選。Nginx的優(yōu)勢(shì)l 輕量級(jí) 安裝文件小 運(yùn)行時(shí)CPU內(nèi)存使用率低l 性能強(qiáng),支持多核心,處理靜態(tài)文件效率高,內(nèi)核采用 的poll模型最大可以支持50K并發(fā)連接l 支持熱部署,同時(shí)啟動(dòng)速度快,可以不間斷服務(wù)的情況下對(duì)軟件和配置進(jìn)行升級(jí)l 支持負(fù)載均衡,支持容錯(cuò)和健康檢查l 代理功能強(qiáng)大,支持無(wú)緩存的反向代理。主流的負(fù)載均衡方案優(yōu)缺點(diǎn)參考:/uid-27022856-id-3236257.html2.2 高可用方案簡(jiǎn)介 單臺(tái)調(diào)度服務(wù)器如果出現(xiàn)故障就會(huì)造成業(yè)務(wù)不可訪問(wèn),在關(guān)鍵的業(yè)務(wù)環(huán)境里通常都會(huì)提供一臺(tái)備用調(diào)度服務(wù)器,用來(lái)降低單點(diǎn)故障給業(yè)務(wù)系統(tǒng)帶來(lái)的風(fēng)險(xiǎn)。這里推薦使用開(kāi)源軟件Keepalive來(lái)提供nginx調(diào)度服務(wù)器的高可用,當(dāng)主nginx宕機(jī)后,keepalive會(huì)將調(diào)度業(yè)務(wù)切換至備用調(diào)度主機(jī),繼續(xù)提供用戶訪問(wèn)。 Keepalived的作用是檢測(cè)web服務(wù)器的狀態(tài),如果有一臺(tái)web服務(wù)器死機(jī),或工作出現(xiàn)故障,Keepalived將檢測(cè)到,并將有故障的web服務(wù)器從系統(tǒng)中剔除,當(dāng)web服務(wù)器工作正常后Keepalived自動(dòng)將web服務(wù)器加入到服務(wù)器群中,這些工作全部自動(dòng)完成,不需要人工干涉,需要人工做的只是修復(fù)故障的web服務(wù)器。官方網(wǎng)址:/download.html3、 數(shù)據(jù)庫(kù)高可用方案介紹3、 WEB端負(fù)載均衡及高可用系統(tǒng)部署3.1 前端調(diào)度服務(wù)器Nginx部署3.1.1 安裝說(shuō)明nginx安裝有源碼安裝和系統(tǒng)匹配的安裝包安裝,這里為了方便采用redhat下的RPM包安裝。3.1.2 Nginx安裝1) nginx下載地址/en/linux_packages.html2) 下載相關(guān)的安裝包wget /packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm3)安裝nginx官方提供的yum源,用yum安裝rpm -ivh nginx-release-rhel-6-0.el6.ngx.noarch.rpmyum install nginx4) 查看安裝文件rootRH01 # rpm -ql nginx-1.8.0-1.el6.ngx.x86_64/etc/logrotate.d/nginx/etc/nginx/etc/nginx/conf.d/etc/nginx/conf.d/default.conf/etc/nginx/conf.d/example_ssl.conf/etc/nginx/fastcgi_params/etc/nginx/koi-utf/etc/nginx/koi-win/etc/nginx/mime.types/etc/nginx/nginx.conf/etc/nginx/scgi_params/etc/nginx/uwsgi_params/etc/nginx/win-utf/etc/rc.d/init.d/nginx/etc/sysconfig/nginx/usr/sbin/nginx/usr/share/nginx/usr/share/nginx/html/usr/share/nginx/html/50x.html/usr/share/nginx/html/index.html/var/cache/nginx/var/log/nginx3.1.3 啟動(dòng)配置1) 啟動(dòng)服務(wù)# service nginx start 2) 查看進(jìn)程rootRH01 # ps -ef|grep nginx root 30622 1 0 10:56 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.confnginx 30623 30622 0 10:56 ? 00:00:00 nginx: worker process 以上信息顯示一個(gè)主進(jìn)程和一個(gè)工作進(jìn)程rootRH01 # lsof -i:80COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnginx 30622 root 6u IPv4 70955 0t0 TCP *:http (LISTEN)nginx 30623 nginx 6u IPv4 70955 0t0 TCP *:http (LISTEN)3) 刪除或重命名默認(rèn)配置文件#mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak4) 修改配置文件rootRH01 # vim /etc/nginx/nginx.conf default_type application/octet-stream; log_format main $remote_addr - $remote_user $time_local $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;upstream tomcat ip_hash; server :80 weight=10; server :8080 weight=10; server listen 80; server_name locahost;location / proxy_pass http:/tomcat; 3.1.4 測(cè)試、維護(hù)3.2 高可用keepalive部署3.2.1 keepalive安裝1) 安裝前請(qǐng)配置yum源2) yum install -y keepalived 3) 查看安裝文件路徑# rpm -ql keepalived/etc/keepalived/etc/keepalived/keepalived.conf/etc/rc.d/init.d/keepalived/etc/sysconfig/keepalived/usr/bin/genhash/usr/libexec/keepalived/usr/sbin/keepalived/usr/share/doc/keepalived-1.2.13/usr/share/doc/keepalived-1.2.13/AUTHOR/usr/share/doc/keepalived-1.2.13/CONTRIBUTORS/usr/share/doc/keepalived-1.2.13/COPYING/usr/share/doc/keepalived-1.2.13/ChangeLog/usr/share/doc/keepalived-1.2.13/NOTE_vrrp_vmac.txt/usr/share/doc/keepalived-1.2.13/README/usr/share/doc/keepalived-1.2.13/TODO/usr/share/doc/keepalived-1.2.13/VERSION/usr/share/doc/keepalived-1.2.13/keepalived.conf.SYNOPSIS/usr/share/doc/keepalived-1.2.13/samples/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.HTTP_GET.port/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.IPv6/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.SMTP_CHECK/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.SSL_GET/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.fwmark/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.inhibit/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.misc_check/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.misc_check_arg/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.quorum/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.sample/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.status_code/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.track_interface/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.virtual_server_group/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.virtualhost/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.localcheck/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.lvs_syncd/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.routes/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.scripts/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.static_ipaddress/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.sync/usr/share/doc/keepalived-1.2.13/samples/sample.misccheck.smbcheck.sh/usr/share/man/man1/genhash.1.gz/usr/share/man/man5/keepalived.conf.5.gz/usr/share/man/man8/keepalived.8.gz/usr/share/snmp/mibs/KEEPALIVED-MIB.txt4) 修改配置文件主調(diào)度主機(jī)配置文件rootRH01 # cat /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs notification_email notification_email_from smtp_server smtp_connect_timeout 30 router_id #對(duì)端主機(jī)IPvrrp_instance VI_1 state MASTER #主調(diào)度服務(wù)器 interface eth0 virtual_router_id 51 priority 100 # 主調(diào)度服務(wù)器使用高優(yōu)先級(jí) advert_int 1 authentication auth_type PASS auth_pass 1111 #交互密碼 virtual_ipaddress # 虛擬IP地址 備機(jī)配置文件:rootRH04 # cat /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs notification_email notification_email_from smtp_server smtp_connect_timeout 30 router_id vrrp_instance VI_1 state BACKUP interface eth0 virtual_router_id 51 priority 90 advert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipaddress 5) 啟動(dòng)服務(wù)# /etc/init.d/keepalived start 在主備機(jī)同時(shí)啟動(dòng)服務(wù),查看主機(jī)是否掛載浮動(dòng)IP6) 測(cè)試查看主機(jī)是否掛載浮動(dòng)IP,停止主機(jī)keepalivd進(jìn)程,查看備機(jī)是否掛載浮動(dòng)IP,再恢復(fù)主機(jī)進(jìn)程,查看浮動(dòng)IP是否又回到主機(jī)。3.2.2 配置監(jiān)控nginx進(jìn)程1) 經(jīng)過(guò)前面的配置,如果主服務(wù)器的keepalived停止服務(wù),備服務(wù)器會(huì)自動(dòng)接管VIP對(duì)外服務(wù);一旦主服務(wù)器的keepalived恢復(fù),會(huì)重新接管VIP。 但如果nginx服務(wù)故障,備用調(diào)度服務(wù)器將無(wú)法發(fā)覺(jué),所以我們要做到當(dāng)主服務(wù)器故障或nginx進(jìn)程停止,備機(jī)能全權(quán)接管提供對(duì)處服務(wù)。2)使用nmap檢查nginx端口來(lái)判斷nginx的狀態(tài),記得要首先安裝nmap,#yum install nmap -y 3)加入監(jiān)控腳本如下:rootRH01 # vim /etc/keepalived/nginx_chk.sh#!/bin/sh#check nginx server status#NGINX=/usr/sbin/nginx#如果發(fā)現(xiàn)nginx不正常,先重啟進(jìn)程,等3秒再檢查,仍然失敗不再嘗試!PORT=80nmap localhost -p $PORT |grep $PORT/tcp openif $? -ne 0 ;then /etc/init.d/nginx restart sleep 3 nmap localhost -p $PORT |grep $PORT/tcp open $? -ne 0 & /etc/init.d/keepalived stopfi*主備機(jī)都要添加4) 為腳本添加執(zhí)行權(quán)限chmod +x /etc/keepalived/nginx_chk.sh 5) 在keepalive中加入腳本配置vim /etc/keepalived/keepalived.confvrrp_script chk_http_port script /etc/keepalived/nginx_chk.sh #監(jiān)控腳本 interval 2 #時(shí)間 weight 2track_script chk_http_port全部配置文件如:global_defs notification_email notification_email_from smtp_server smtp_connect_timeout 30 router_id vrrp_script chk_http_port script /etc/keepalived/nginx_chk.sh interval 2 weight 2vrrp_instance VI_1 state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipaddress track_script chk_http_port 6)更進(jìn)一步,為了避免啟動(dòng)keepalived之前沒(méi)有啟動(dòng)nginx , 可以在/etc/init.d/keepalived的start中首先啟動(dòng)nginx:start() /etc/init.d/nginx start sleep 3 -x $exec | exit 5 -e $config | exit 6 echo -n $Starting $prog: daemon $exec $KEEPALIVED_OPTIONS retval=$? echo $retval -eq 0 & touch $lockfile return $retval6) 測(cè)試維護(hù)查看檢測(cè)日志:# tail -f /var/log/messages4、 數(shù)據(jù)高可用方案部署1、主庫(kù)準(zhǔn)備工作Host IP DB_NAME DB_UNIQUE_NAME Net Service Name(網(wǎng)絡(luò)服務(wù)名)主庫(kù)28 ORCLDB WENDING db_wending備庫(kù)29 ORCLDB PHYSTDBY db_phystdby保護(hù)模式:默認(rèn)最大性能模式注意DataGuard啟動(dòng)順序:?jiǎn)?dòng)順序: 先standby ,后primary;關(guān)閉順序: 先primary ,后standby;1.1、檢查數(shù)據(jù)庫(kù)是否支持Data Guard(企業(yè)版才支持),是否歸檔模式,Enable force logging$ sqlplus /as sysdbaSQL select * from v$option where parameter = Managed Standby; 確認(rèn)主庫(kù)處于歸檔模式 SQL archive log list (先檢查是否歸檔模式,不是則修改) startup mount alter database archivelog; alter database open; 將primary數(shù)據(jù)庫(kù)置為FORCE LOGGING模式 SQL alter database force logging; (強(qiáng)制產(chǎn)生日志)1.2、如果主庫(kù)沒(méi)有密碼文件則建立密碼文件,從而可以O(shè)S驗(yàn)證的方式登陸$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc entries=51.3、配置standby redolog(最佳性能模式可以忽略,如果將來(lái)變成備庫(kù)且要轉(zhuǎn)為其它兩種模式則要建立)SQL alter database add standby logfile group 4 (/orahome/oradata/WENDING/stdby_redo04.log) size 50m, group 5 (/orahome/oradata/WENDING/stdby_redo05.log) size 50m, group 6 (/orahome/oradata/WENDING/stdby_redo06.log) size 50m, group 7 (/orahome/oradata/WENDING/stdby_redo07.log) size 50m;standby redolog的組數(shù)參考公式:(online redolog組數(shù) + 1) * 數(shù)據(jù)庫(kù)線程數(shù);單機(jī)線程數(shù)為1,RAC一般為2。standby redolog的組成員數(shù)和大小也盡量和online redolog一樣。1.4、設(shè)置主庫(kù)初始化參數(shù)$ sqlplus /as sysdbaSQL create pfile=/home/oracle/pfile.ora from spfile; (備份參數(shù)文件)SQL alter system set LOG_ARCHIVE_CONFIG=DG_CONFIG=(WENDING,PHYSTDBY) scope=spfile; (啟動(dòng)db接受或發(fā)送redo data,包括所有庫(kù)的db_unique_name)SQL alter system set LOG_ARCHIVE_DEST_1=LOCATION=/orahome/arch1/WENDING VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WENDING scope=spfile; (主庫(kù)歸檔目的地)SQL alter system set LOG_ARCHIVE_DEST_2=SERVICE=db_phystdby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PHYSTDBY scope=spfile; (當(dāng)該庫(kù)充當(dāng)主庫(kù)角色時(shí),設(shè)置物理備庫(kù)redo data的傳輸目的地)SQL alter system set LOG_ARCHIVE_MAX_PROCESSES=5 scope=spfile; (最大ARCn進(jìn)程數(shù))SQL alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=spfile; (允許redo傳輸服務(wù)傳輸數(shù)據(jù)到目的地,默認(rèn)是enable)SQL alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=spfile; (同上)SQL alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile; (exclusive or shared,所有庫(kù)sys密碼要一致,默認(rèn)是exclusive)-以下是主庫(kù)切換為備庫(kù),充當(dāng)備庫(kù)角色時(shí)的一些參數(shù)設(shè)置,如果不打算做數(shù)據(jù)庫(kù)切換就不用設(shè)置了SQL alter system set FAL_SERVER=db_phystdby scope=spfile; (配置網(wǎng)絡(luò)服務(wù)名,假如轉(zhuǎn)換為備庫(kù)角色時(shí),從這里獲取丟失的歸檔文件)SQL alter system set FAL_CLIENT=db_wending scope=spfile; (配置網(wǎng)絡(luò)服務(wù)名,fal_server拷貝丟失的歸檔文件到這里)SQL alter system set DB_FILE_NAME_CONVERT=PHYSTDBY,WENDING scope=spfile; (前為切換后的主庫(kù)路徑,后為切換后的備庫(kù)路徑,如果主備庫(kù)目錄結(jié)構(gòu)完全一樣,則無(wú)需設(shè)定)SQL alter system set LOG_FILE_NAME_CONVERT=PHYSTDBY,WENDING scope=spfile; (同上,這兩個(gè)名字轉(zhuǎn)換參數(shù)是主備庫(kù)的路徑映射關(guān)系,可能會(huì)是路徑全名,看情況而定)SQL alter system set STANDBY_FILE_MANAGEMENT=auto scope=spfile; (auto后當(dāng)主庫(kù)的datafiles增刪時(shí)備庫(kù)也同樣自動(dòng)操作,且會(huì)把日志傳送到備庫(kù)standby_archive_dest參數(shù)指定的目錄下,確保該目錄存在,如果你的存儲(chǔ)采用文件系統(tǒng)沒(méi)有問(wèn)題,但是如果采用了裸設(shè)備,你就必須將該參數(shù)設(shè)置為manual)SQL alter system set STANDBY_ARCHIVE_DEST=LOCATION=/orahome/arch1/WENDING scope=spfile; (一般和LOG_ARCHIVE_DEST_1的位置一樣,如果備庫(kù)采用ARCH傳輸方式,那么主庫(kù)會(huì)把歸檔日志傳到該目錄下)有了以上參數(shù)設(shè)置,則無(wú)論該庫(kù)充當(dāng)主庫(kù)角色還是備庫(kù)角色都無(wú)需再修改了。然后重啟數(shù)據(jù)庫(kù):SQL shutdown immediateSQL startup;1.5、備份主庫(kù)數(shù)據(jù)文件關(guān)閉應(yīng)用服務(wù)器,停止監(jiān)聽(tīng),開(kāi)始rman備份:$ lsnrctl stop$ rman target /RMAN backup full database format /backup/backup_%T_%s_%p.bak;#RMAN sql alter system archive log current;#RMAN backup archive log all format=/backup/arch_%T_%s_%p.bak;1.6、在主庫(kù)上建立備庫(kù)控制文件(控制文件通常需要有多份,手工將文件復(fù)制幾份)$ sqlplus /as sysdbaSQL alter database create standby controlfile as /backup/stdby_control01.ctl;$ cd /backup/$ cp sdtby_control01.ctl stdby_control02.ctl$ cp sdtby_control01.ctl stdby_control03.ctl1.7、為備庫(kù)準(zhǔn)備init參數(shù)$ sqlplus /as sysdbaSQL create pfile = /backup/initPHYSTDBY.ora from spfile;$ cd /backup/$ vi initPHYSTDBY.ora 注意主備庫(kù)不同角色的屬性配置,注意文件路徑等,注意db_name要和主庫(kù)一致,主要是以下參數(shù):audit_file_dest=/u01/app/oracle/admin/PHYSTDBY/adumpbackground_dump_dest=/u01/app/oracle/admin/PHYSTDBY/bdumpcore_dump_dest=/u01/app/oracle/admin/PHYSTDBY/bdumpuser_dump_dest=/u01/app/oracle/admin/PHYSTDBY/udump-control_files=/orahome/oradata/stdby_control01.ctl,/orahome/oradata/stdby_control02.ctl,/orahome/oradata/stdby_control03.ctldb_unique_name=PHYSTDBYlog_archive_config=DG_CONFIG=(PHYSTDBY,WENDING)log_archive_dest_1=LOCATION=/orahome/arch1/PHYSTDBY VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PHYSTDBYlog_archive_dest_2=SERVICE=db_wending LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=WENDING-fal_client=DB_PHYSTDBYfal_server=DB_WENDINGdb_file_name_convert=WENDING,PHYSTDBYlog_file_name_convert=WENDING,PHYSTDBYstandby_archive_dest=LOCATION=/orahome/arch1/PHYSTDBY另外,如果備庫(kù)將來(lái)要打開(kāi)成只讀模式,需要確認(rèn)audit_trail參數(shù)不是含db,應(yīng)該設(shè)成os或none。1.8、拷貝上面生成的文件backup_%T.bak、stdby_control01/02/03.ctl、initPHYSTDBY.ora到備庫(kù)所在主機(jī)注意rman備份的文件在主備庫(kù)主機(jī)上目錄要一致。$ scp backup*.bak 29:/backup/$ scp initPHYSTDBY.ora 29:$ORACLE_HOME/dbs/$ scp stdby_control*.ctl 29:/orahome/oradata/1.9、建立主庫(kù)監(jiān)聽(tīng)和主備庫(kù)的網(wǎng)絡(luò)服務(wù)名(必須是dedicated的),并啟動(dòng)監(jiān)聽(tīng)$ netca (是圖形界面,或者手工從別的庫(kù)把listener.ora和tnsnames.ora拷過(guò)來(lái)修改也行)$ lsnrctl start$ tnsping db_wending$ tnsping db_phystdby (此時(shí)tnsping還不通物理備庫(kù))tnsping對(duì)方的時(shí)候,有可能linux防火墻限制了,會(huì)提示TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤。臨時(shí)禁用防火墻方法:# service iptables stop永久禁用防火墻方法:# chkconfig -list iptables# chkconfig -level 345 iptables off2、建立備庫(kù)2.1、設(shè)置環(huán)境變量并建立備庫(kù)一些必需目錄$ export ORACLE_BASE=/u01/app/oracle$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1$ export ORACLE_SID=PHYSTDBY$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/bdump$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/cdump$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/udump-以下目錄要看哪些地方可能會(huì)存放數(shù)據(jù)庫(kù)文件,注意不能少建$ mkdir -p /orahome/oradata/$ORACLE_SID$ mkdir -p /u01/app/oracle/oradata/$ORACLE_SID$ mkdir -p /orahome/arch1/$ORACLE_SID2.2、在備庫(kù)主機(jī)上生成密碼文件,且sys密碼和主庫(kù)得一致$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc entries=52.3、在備庫(kù)上建立監(jiān)聽(tīng),和主備庫(kù)網(wǎng)絡(luò)服務(wù)名(必須是dedicated的),并啟動(dòng)監(jiān)聽(tīng)$ netca (是圖形界面,或者手工從別的庫(kù)把listener.ora和tnsnames.ora拷過(guò)來(lái)修改也行)$ lsnrctl start$ tnsping db_wending$ tnsping db_phystdby2.4、在備庫(kù)上建立spfile$ sqlplus /as sysdbaSQL create spfile from pfile;如果pfile沒(méi)有放到$ORACLE_HOME/dbs/下,而是放在別的位置:SQL create spfile from pfile=/backup/initPHYSTDBY.ora;2.5、啟動(dòng)物理備庫(kù)SQL startup nomountSQL alter database mount standby database;2.6、備庫(kù)做rman恢復(fù)$ rman target / (要求主備庫(kù)rman備份文件的存放路徑和文件名一致)RMAN restore database;#RMAN restore archivelog all;介質(zhì)恢復(fù)后,rman 自動(dòng)將standby 數(shù)據(jù)庫(kù)打開(kāi)到mount 狀態(tài)。2.7、配置standby redolog(最佳性能模式可以忽略,如果要轉(zhuǎn)為其它兩種模式則要建立)SQL alter database add standby logfile group 4 (/orahome/oradata/PHYSTDBY/stdby_redo04.log) size 50m, group 5 (/orahome/oradata/PHYSTDBY/stdby_redo05.log) size 50m, group 6 (/orahome/oradata/PHYSTDBY/stdby_redo06.log) size 50m, group 7 (/orahome/oradata/PHYSTDBY/stdby_redo07.log) size 50m;standby redolog的組數(shù)參考公式:(online redolog組數(shù) + 1) * 數(shù)據(jù)庫(kù)線程數(shù);單機(jī)線程數(shù)為1,RAC一般為2。standby redolog的組成員數(shù)和大小也盡量和online redolog一樣。2.8、在備庫(kù)上,啟動(dòng)redo applySQL alter database recover managed standby database disconnect from session;到此物理備庫(kù)創(chuàng)建完畢!3、主備庫(kù)各參數(shù)文件內(nèi)容3.1、主備庫(kù)listener.ora一樣,如果有不一樣也是host不一樣-SID_LIST_LISTENER =(SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) )LISTENER =(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0) )-3.2、主備庫(kù)tnsnames.ora一樣,如果有不一樣也是host和port不一樣-DB_WENDING =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 28)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = wending.lk) )DB_PHYSTDBY =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 29)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論