Oracle Dataguard搭建(上)


背景

主備庫均為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  -->如果成功登陸證明安裝成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM