背景
主備庫均為Aix操作系統
數據庫版本為11gR2
主庫已搭建完成,這里主要是備庫的搭建和配置
由於字數限制,Oracle Goldengate搭建分為上、下兩部分,本文是上半部分
第一章:環境要求
1、操作系統版本與主庫一致(不必完全一致,基本相同即可)
主庫:
uname -a AIX hlsthxffdb01 1 7 00F955C04C00 顯示系統名稱(AIX)、節點名稱(nlthxffdb01)、版本(7.1)、計算機ID(00F955C04C00) |
備庫:
uname -a AIX hunands 1 7 00F7E1D84C00 |
2、分發庫和副本庫端口能互通(21 22 端口測通)
因為主庫需要往備庫傳送歸檔文件,這就要求主庫到備庫網絡端口暢通
telnet ip 21/22 如果測試不通應協調相關人員進行開通進行開通。 |
3、查看主庫數據文件大小,預估備份集大小,主庫和備庫保證有足夠的空間存放備份文件
備份集大小大約=數據文件大小 * 0.11
預留備份空間大小=數據文件大小 * 0.11 * 2
查看數據文件大小的兩種方法:
1)asm存儲 su - grid asmcmd lsdg 2)通過數據庫查詢 sqlplus / as sysdba select name,total_mb-free_mb from V$asm_diskgroup; select sum(bytes)/1024/1024/1024 from dba_segments; |
檢查主庫磁盤空間大小
df -g |
第二章:備份前的准備工作(主庫執行)
1、關閉主庫庫刪除歸檔的定時任務
備庫adg搭建完成后,主庫的歸檔文件會傳送到備庫,並被備庫所應用,因此主庫備份點以后的歸檔文件是必須的
2、聯系主庫負責人不要刪除歸檔,並通知其協調其他備份廠商不要刪除備份,並且不要更改備份策略。
如果有足夠空間,可以將歸檔文件自行進行備份。
3、查看並修改備份策略。
rman target / RMAN> show all; --查看rman備份策略(第三行) CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default -->1代表只保留一份歸檔,若主庫已經備份了一份歸檔,再次備份會覆蓋上一次的歸檔 --修改rman備份策略 CONFIGURE RETENTION POLICY TO REDUNDANCY 3; # default -->3代表保留三分歸檔 --查看rman備份介質 CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default;-->此此處若為tape(磁帶),則改為disk(磁盤) --修改rman備份介質CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default; |
第三章:備份傳輸(主庫執行)
1、創建備份目錄,更改權限
su - root cd /backup -->該目錄要求容量大小合適,放得下備份文件,多大才算放的下呢?-->查看數據量在最上面 mkdir rman chown -R oracle:oinstall /backup/rman chmod -R 777 rman |
2、編輯備份腳本(不備份歸檔日志)
腳本中環境變量的內容要參考主庫環境變量
vi /backup/rman/rman.sh #!/bin/ksh umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ORACLE_UNQNAME=sxlthxff export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH export PS1=`hostname`:'$PWD'"$" export ORACLE_SID=sxlthxff1 rman target / log=/backup/rman/rman_backup_`date +%Y%m%d`.log <<EOF -->存放備份log的目錄,自己選 run { allocate channel ch1 type disk maxpiecesize =20480M; allocate channel ch2 type disk maxpiecesize =20480M; allocate channel ch3 type disk maxpiecesize =20480M; allocate channel ch4 type disk maxpiecesize =20480M; allocate channel ch5 type disk maxpiecesize =20480M; allocate channel ch6 type disk maxpiecesize =20480M; allocate channel ch7 type disk maxpiecesize =20480M; allocate channel ch8 type disk maxpiecesize =20480M; allocate channel ch9 type disk maxpiecesize =20480M; allocate channel ch10 type disk maxpiecesize =20480M; backup AS COMPRESSED BACKUPSET database filesperset 10 format '/backup/rman/%d_DF_%T_%s_%p.bak'; -->數據文件的存放目錄和命名格式 backup format '/backup/rman/ctrl_st' current controlfile for standby; -->控制文件的存放目錄和命名格式 release channel ch1; release channel ch2; release channel ch3; release channel ch4; release channel ch5; release channel ch6; release channel ch7; release channel ch8; release channel ch9; release channel ch10; } exit EOF |
3、主庫執行備份腳本
給腳本添加執行權限:
chmod +x /backup/rman/rman.sh |
后台運行備份腳本:
nohup /backup/rman/rman.sh >/backup/u01/rman.log& |
查看備份日志:
cd /backup/rman/ tail -f /backup/rman/rman_backup_*.log 檢查日志中是否存在error |
4、傳輸備份到備庫
su - root cd /u01 mkdir rman chmod -R 777 rman scp /backup/rman/* 100.12.98.118:/u01/rman 注:備份文件較多,傳輸時開多個窗口並行傳輸以加快速度 |
第四章:主機檢查(備庫執行)
1、操作系統檢查,看主備庫是否一致
xmgsfbk[/u01/sw/patch]# oslevel -s 7100-03-05-1524 7100-03-05-1524 |
2、cpu核心數檢查
lsdev -C | grep proc | wc -l --> 2 |
3、檢查內存、SWAP、/TMP空間大小
計算機內存檢查:
/usr/sbin/lsattr -HE -l sys0 -a realmem --> attribute value description user_settable realmem 12582912 Amount of usable physical memory in Kbytes False |
計算機swap分區大小:
/usr/sbin/lsps -a Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum hd6 hdisk0 rootvg 16384MB 1 yes yes lv 0 |
tmp目錄空間大小:
df -g /tmp Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd3 10.00 9.77 3% 144 1% /tmp |
4、檢查系統安裝包-->會提示有一個包沒安裝,可忽略
lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat \ bos.perf.perfstat bos.perf.proctools rsct.basic.rte rsct.compat.clients.rte \ xlC.aix61.rte gpfs.base |
5、檢查已安裝的系統補丁
xmgsfbk[/u01/sw/patch]# /usr/sbin/instfix -i -k "IZ87216 IZ87564 IZ89165 IZ97035" All filesets for IZ87216 were found. All filesets for IZ87564 were found. All filesets for IZ89165 were found. All filesets for IZ97035 were found. |
6、檢查內核參數
vmo -L minperm% vmo -L maxperm% vmo -L maxclient% vmo -L strict_maxclient vmo -L strict_maxperm 如參數不合適修改命令為: vmo -p -o minperm%=3 vmo -p -o maxperm%=90 vmo -p -o maxclient%=90 vmo -p -o strict_maxclient=1 vmo -p -o strict_maxperm=0 |
7、檢查網絡參數
no -a | fgrep rfc1323 no -a | fgrep ipqmaxlen no -a | fgrep sb_max no -a | fgrep tcp_recvspace no -a | fgrep tcp_sendspace no -a | fgrep udp_recvspace no -a | fgrep udp_sendspace no -a | fgrep ephemeral |
如參數不合適修改命令為:
no -r -o rfc1323=1 no -r -o ipqmaxlen=512 no -p -o sb_max=4194304 no -p -o tcp_recvspace=1048576 no -p -o tcp_sendspace=1048576 no -p -o udp_recvspace=262144 no -p -o udp_sendspace=262144 # /usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500 # /usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500 |
8、檢查&修改內核參數
lsattr -E -l sys0 -a ncargs lsattr -E -l sys0 -a maxuproc 注:lsattr命令可顯示設備屬性;-E顯示當前有效值,從用戶定義數據庫讀取;-l <設備>邏輯設備名;-a <屬性值> |
如參數不合適修改命令為:
chdev -l sys0 -a ncargs=256 chdev -l sys0 -a maxuproc=16384 |
重啟服務器使參數生效后,重新檢查第六步以后的參數。
重啟命令為:reboot
第五章:數據庫軟件安裝(備庫執行)
1 、創建用戶組和用戶
mkgroup -'A' id='501' adms='root' oinstall mkgroup -'A' id='502' adms='root' asmadmin mkgroup -'A' id='503' adms='root' asmdba mkgroup -'A' id='504' adms='root' asmoper mkgroup -'A' id='505' adms='root' dba mkuser id='502' pgrp='oinstall' groups='dba,asmdba' home='/home/oracle' fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle passwd oracle Changing password for "oracle" oracle's New password: -->設為oracle123 Enter the new password again: |
2、創建目錄
**介質存放目錄**
mkdir -p /u01/sw/db -->oracle軟件安裝包 mkdir -p /u01/sw/psu -->補丁包 mkdir -p /u01/sw/patch -->補丁工具包 mkdir -p /u01/sw/rpm -->rpm包,一般為空 chmod -R 777 /u01/sw |
***Oracle inventory 目錄***
mkdir -p /u01/app/oraInventory -->是和oracle base平級的目錄,用於保存本機上安裝的oracle軟件的目錄清單;本機上安裝的所有oracle都共享該目錄 chown -R oracle:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory |
***Oracle Base 目錄***
mkdir -p /u01/app/oracle -->oracle軟件安裝的最頂層目錄,該目錄下可以安裝多個版本的oracle軟件 mkdir /u01/app/oracle/cfgtoollogs chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle |
***Oracle Rdbms Home 目錄***
mkdir -p /u01/app/oracle/product/11.2.0/db_1 -->與product平級的目錄有:sdmin/cfgtoollogs/checkpoints/diag和product目錄 chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1 chmod -R 775 /u01/app/oracle/product/11.2.0/db_1 |
3、檢查創建的用戶
# id oracle uid=502(oracle) gid=501(oinstall) groups=503(asmdba),505(dba) |
4、檢查權限
# lsuser -a capabilities oracle oracle capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE |
5、設置oracle用戶的環境變量 -->由主庫復制而來
vi .profile PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:. export PATH umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss" export ORACLE_SID=xmsthxff export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/home/oracle/ggs:$PATH export PS1=`hostname`:'$PWD'"$" |
6、檢查圖形界面是否可以啟動 -->一般選用第二種方法,需安裝vnc
第一種調用圖形方法:
xmanage 啟動 Xmanager - Passive su - oracle --export DISPLAY=100.12.56.114:0.0 export DISPLAY=100.12.56.128:0.0 測試 xclock |
第二種調圖形方法
1.將RPM包傳到/tmp下 scp /tmpvnc-3.3.3r2-6.aix5.1.ppc.rpm oracle@99.12.100.252:tmp -->將vnc的安裝包從青海地稅scp過來 2.安裝RPM包(root用戶?):rpm -ivh vnc-3.3.3r2-6.aix5.1.ppc.rpm 3.輸入vncserver設置密碼 -->需輸入兩次 123456 123456 4.將客戶端安裝到window桌面 -->window上也許安裝vnc 5.打開window客戶端的vnc登錄。 注:Linux和Unix的vnc是不一樣的 |
7、確定數據庫版本,根據數據庫版本傳輸相應的介質 -->根據主庫而定,在sqlplus鏈接數據庫時 ,會顯示數據庫版本
需要傳輸的文件有: -->若分發庫為40,就傳40,若分發庫為30,就找30的來傳,寧夏可能是30
數據庫介質壓縮包:
/u01/sw/db/p13390677_112040_AIX64-5L_1of7.zip
/u01/sw/db/p13390677_112040_AIX64-5L_2of7.zip
解壓文件:
/u01/sw/unzip
打補丁工具壓縮包:
/u01/sw/patch/p6880880_112000_AIX64-5L.zip
補丁包:
/u01/sw/psu/p18706488_11203011_AIX64-5L.zip
如果數據庫版本為:11.2.0.3.0都去上海稅務副本庫去取ip為:99.12.100.197
8、解壓數據庫安裝包
su - root chmod 775 /u01/sw/db/unzip su - oracle cd /u01/sw/db/ unzip p13390677_112040_AIX64-5L_1of7.zip -->默認解壓到當前目錄,解壓后才能安裝 unzip p13390677_112040_AIX64-5L_2of7.zip |
9、安裝數據庫軟件 -->在VNC打開的圖形界面上執行
cd /u01/sw/db/database 啟動圖形界面:在圖形界面下執行。 ./runInstaller |
10、安裝打補丁工具
su - oracle cd /u01/sw/patch/ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME -->解壓到ORACLE_HOME/下 |
11、打補丁
cd /u01/sw/psu/ 解壓補丁包: unzip p18706488_11203011_AIX64-5L.zip 修改打補丁工具的權限: chmod 777 $ORACLE_HOME/OPatch/opatch 打補丁: $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/sw/psu/18522512/18522512 |
12、執行圖形界面出現的兩個腳本:
su - root sh /u01/app/oraInventory/orainstRoot.sh sh /u01/app/oracle/product/11.2.0/db_1/root.sh 點擊圖形界面的ok |
13、檢驗軟件是否安裝成功:
sqlpplus / as sysdba -->如果成功登陸證明安裝成功。