Oracle 11g rac 生產環境部署詳錄(1)


基本規划

◎設備選型

1、服務器:Dell R620 兩台。cpu 8 core,內存64G,600G 15000轉sas硬盤,雙電源,hba卡一塊,連接存儲線纜一根(連接hba卡和共享存儲)。

2、存儲:dell MD3200 一台。雙控制器,12塊600G 15000轉sas硬盤。為追求最高可用性,使用的raid級別是raid10.

3、交換機:華為3com兩台,型號為h3c S5048E。注意:網絡端口最好是全千兆。

4、網線:2-3米機制6類線數根。--曾遇到網線不夠,問IDC機房要了根網管自己做的六類線,質量不行,結果導致rac節點之間心跳檢查時好時壞。

5、輔助設備:vpn及kvm over ip各一個


(1)小型簡單的vpn,DI-8200 上網行為管理認證路由器。價格1000多,便宜穩定。很適合拿來配vpn,用於登錄系統,管理各個服務器。

(2)kvm overip型號為ATEN cn8000。在系統不能遠程登錄的時候,打電話給IDC技術人員,讓他們把這個設備連接到故障機,然后通過瀏覽器進行各種處理,如重裝系統、查看屏幕信息、ctrl + Alt + Del重啟等。這跟直接去機房連顯示器和鍵盤是一樣的效果。我敢保證,打車去機房現場處理,一定沒電話給IDC機房,讓人給接上這個設備快.

◎網絡規划

1、網卡綁定:2個網卡綁定在一起,服務器的四個網卡,正好全部用上。即有效利用了帶寬,又能增強可用性。

2、ip地址分配:應用連接網絡地址為172.16.208.0/24,節點間心跳網絡地址為 192.168.208.0/24。

3、網絡連接及管理

(1)心跳網絡與應用網絡物理分離,各接一個交換機。

(2)服務器沒有公網地址,必須通過vpn撥號,才能進行系統登錄管理。

◎系統及所需工具

1、服務器操作系統:centos 5.9 64位,定制安裝系統,選件包括xwindow及gnome。因安裝oracle時需要圖形用戶界面,一個好的選擇就是vncserver。在進行正式部署前,最好確保安裝好了vncserver。一個定制好的系統的分區為:

[root@rac70 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda6 29G 16G 12G 60% /

/dev/sda9 362G 215G 129G 63% /u01

/dev/sda8 15G 165M 14G 2% /tmp

/dev/sda7 19G 15G 3.9G 79% /home

/dev/sda5 29G 2.5G 25G 10% /usr

/dev/sda3 29G 321M 27G 2% /var

/dev/sda1 99M 19M 75M 21% /boot

tmpfs 32G 18G 15G 55% /dev/shm

2、oracle軟件:

(1)集群管理軟件linux.x64_11gR2_grid.zip,從oracle官網下載(需要注冊為境外的電子郵件)

(2)數據庫軟件 linux.x64_11gR2_database,從oracle官網下載(需要注冊為境外的電子郵件)

(3)存儲管理軟件 mdstoragemanager,從供貨商獲得光盤或者從dell的官網下載

(4)oracle asm相關軟件:oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm、oracleasmlib-2.0.4-1.el5.x86_64.rpm、oracleasm-support-2.1.7-1.el5.x86_64.rpm。這三個軟件,一定要跟操作系統內核版本相一致,否則不能進行后邊的操作。

◎分區使用及文件系統

1、oracle數據庫及集群軟件安裝在本地硬盤/u01分區。

(1)集群軟件路徑 /u01/app/grid

(2)數據庫軟件路徑 /u01/app/oracle/product/11.2.0

(3)集群軟件和數據庫軟件base路徑為都為 /u01/app/oracle。因為軟件安裝路徑(ORACLE_HOME)不能與BASE是同一個目錄,因此這里弄得有點混亂,甚至有點別扭。幸運的是,這樣令人疑惑的設置也能正常工作。希望將來的項目,可以提前把這樣的設置規划得更規范些。打開一個安裝好的環境,進入ORACLE_BASE目錄,其子目錄如下:

[root@db40 oracle]# ll

total 20

drwxr-x--- 3 oracle oinstall 4096 Mar 2 23:52 admin

drwxr-x--- 6 oracle oinstall 4096 Mar 2 23:52 cfgtoollogs

drwxr-xr-x 2 oracle oinstall 4096 Mar 2 23:20 checkpoints

drwxrwxr-x 5 oracle oinstall 4096 Mar 2 23:52 diag

drwxr-xr-x 3 oracle oinstall 4096 Mar 2 23:12 product

再進入目錄diag,有三個子目錄存在:

[root@db40 diag]# ll

total 12

drwxr-x--- 3 oracle oinstall 4096 Mar 2 21:50 asm

drwxr-x--- 3 oracle oinstall 4096 Mar 2 23:52 rdbms

drwxr-xr-x 3 oracle oinstall 4096 Mar 2 21:53 tnslsnr

瞧,asm文件系統、數據庫以及監聽器的告警日志都能在這里找到。如asm告警日志/u01/app/oracle/diag/asm/+asm/+ASM2/alert/log.xml。

2、數據存儲使用oracle自家ASM(自動存儲管理),划分三個asm磁盤組:OCR、FLASH、DATA(OCR占據空間最小大約分配500M;FLASH次之,分配大概300G;剩余的全部分配給DATA)。其中:

◆OCR存儲集群注冊信息

ASMCMD> pwd

+OCR/db1-scan

ASMCMD> ls

ASMPARAMETERFILE/

OCRFILE/

◆FLASH存儲歸檔日志及rman默認備份集

ASMCMD> cd FLASH

ASMCMD> ls

ZYZF/

ASMCMD> cd ZYZF

ASMCMD> ls

ARCHIVELOG/

BACKUPSET

◆DATA存儲oracle數據庫元數據及用戶數據

ASMCMD> cd DATA

ASMCMD> ls

ZYZF/

ASMCMD> cd ZYZF

ASMCMD> ls

CONTROLFILE/

DATAFILE/

ONLINELOG/

PARAMETERFILE/

TEMPFILE/

control01.ctl

control02.ctl

………此處輸出省略若干…………….

redo07.log

redo08.log

spfilezyzf.ora

3、Dell MD3200存儲管理軟件使用默認安裝路徑 /opt/dell/mdstoragesoftware。

4、asm管理軟件使用rpm包安裝,安裝文件自然滿山放羊,到處都有:比如配置文件在/etc/sysconfig/oracleasm,設備名在目錄/dev/oracleasm/disks,可執行文件在這里/etc/init.d/oracleasm。

◎拓撲圖

執行步驟

  • 准備運行環境;
  • 准備及配置共享存儲;
  • 准備數據庫存儲空間;
  • 安裝集群工具grid;
  • 安裝和創建oracle數據庫
  • 特別說明:因為文檔為后期撰寫,為了描述更詳盡,截圖可能來自不同的運行環境,因此如果出現圖片中ip地址與描述不一致的情況,請勿過多質疑。

    (一)、准備運行環境

    這里的運行環境環境主要包括遠程桌面環境(我使用的是vnc服務)、安裝軟件所需的依賴工具、創建相關的帳號及目錄、設置網絡連接等。

    ◎設置網絡(每個節點都需要設置)

    ◆修改文件 /etc/modprobe.conf,使其內容為:

    alias scsi_hostadapter mpt2sas

    alias eth0 tg3

    alias eth1 tg3

    alias eth2 tg3

    alias eth3 tg3

    alias scsi_hostadapter1 megaraid_sas

    alias scsi_hostadapter2 ahci

    alias scsi_hostadapter3 usb-storage

    # Begin Dell MD Modification

    options scsi_dh_rdac blacklist="DELL:MD3000,DELL:MD3000i"

    # End Dell MD Modification

    alias bond0 bonding

    options bond0 miimon=100 mode=0

    alias bond1 bonding

    options bond1 miimon=100 mode=0

    ◆修改網絡接口文件,使其內容如下(為了描述方便,數個文件一起貼出)

    [root@rac70 network-scripts]# more ifcfg-eth0

    # Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

    DEVICE=eth0

    #HWADDR=E0:DB:55:20:E7:10

    ONBOOT=yes

    TYPE=Ethernet

    USERCTL=no

    MASTER=bond0

    SLAVE=yes

    TYPE=Ethernet

    [root@rac70 network-scripts]# more ifcfg-eth1

    # Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

    DEVICE=eth1

    BOOTPROTO=none

    #HWADDR=e0:db:55:20:e7:11

    ONBOOT=yes

    TYPE=Ethernet

    USERCTL=no

    MASTER=bond0

    SLAVE=yes

    TYPE=Ethernet

    [root@rac70 network-scripts]# more ifcfg-eth2

    # Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

    DEVICE=eth2

    BOOTPROTO=none

    #HWADDR=e0:db:55:20:e7:12

    ONBOOT=yes

    TYPE=Ethernet

    USERCTL=no

    MASTER=bond1

    SLAVE=yes

    TYPE=Ethernet

    [root@rac70 network-scripts]# more ifcfg-eth3

    # Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

    DEVICE=eth3

    #HWADDR=E0:DB:55:20:E7:13

    ONBOOT=yes

    HOTPLUG=no

    BOOTPROTO=none

    TYPE=Ethernet

    MASTER=bond1

    SLAVE=yes

    TYPE=Ethernet

    ◆創建新的網絡配置文件,其完整內容如下:

    [root@rac70 network-scripts]# more ifcfg-bond0

    # Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

    DEVICE=bond0

    BOOTPROTO=none

    BROADCAST=172.16.208.255

    IPADDR=172.16.208.70

    NETMASK=255.255.255.0

    NETWORK=172.16.208.0

    ONBOOT=yes

    GATEWAY=172.16.208.201

    TYPE=Ethernet

    [root@rac70 network-scripts]# more ifcfg-bond1

    # Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

    DEVICE=bond1

    BOOTPROTO=none

    ONBOOT=yes

    DHCP_HOSTNAME=oracle70

    TYPE=Ethernet

    USERCTL=no

    IPADDR=192.168.208.70

    NETMASK=255.255.255.0

    ◆追加下面的行到/etc/rc.local文件

    modprobe bonding miimon=100 mode=0

    配置完畢后,重啟一下系統,檢查配置的正確性及聯通性。正確配置的輸出如下圖所示:

    ◎配置vnc服務(每個rac節點都需要配置)

    1、確保安裝了vncserver軟件。測試方法:任意路徑執行命令 vncserver,如果命令不存在,則運行命令yum install vncserver安裝一下。

    2、執行 vncserver啟動服務,如果是第一次啟動,需要設置vnc服務的密碼,這里建議設置跟系統root相同的密碼(要用復雜密碼喲!)。

    3、修改文件/root/.vnc/xstart,使其內容為:

    #!/bin/sh

    # Uncomment the following two lines for normal desktop:

    unset SESSION_MANAGER

    exec /etc/X11/xinit/xinitrc

    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

    [ -r HOME/.Xresources ] && xrdb<?XML:NAMESPACE PREFIX = "[default] http://www.w3.org/1998/Math/MathML" NS = "http://www.w3.org/1998/Math/MathML" />HOME/.Xresources ] && xrdbHOME/.Xresources

    xsetroot -solid grey

    vncconfig -iconic &

    xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

    #twm &

    gnome start&

    4、重啟系統,再啟動vncserver,然后在windows機器啟用vnc客戶端,遠程連接,看是否能出現遠程服務器的圖形桌面。

    ◎創建安裝軟件所需的帳號、目錄、依賴軟件等。為了節省時間和避免出錯,我把這些步驟寫成一個粗糙的腳本,執行一次就可以了。腳本的內容如下:

    [root@db40 oracle_rac]# more oracle_rac_rep.sh

    #!/bin/bash

    #writed by sery 2012-05-16

    #########################################

    #install depending packages #

    #########################################

    yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc \ glibc-common glibc-devel gcc gcc-c++ libaio-devel \

    libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel \

    pdksh numactl-devel glibc-headers

    ########################################

    #add groups,user and create dir #

    ########################################

    /usr/sbin/groupadd -g 501 oinstall

    /usr/sbin/groupadd -g 502 dba

    /usr/sbin/groupadd -g 504 asmadmin

    /usr/sbin/groupadd -g 506 asmdba

    /usr/sbin/groupadd -g 507 asmoper

    useradd -u 1000 -g oinstall -G dba,asmdba oracle

    useradd -u 1006 -g oinstall -G asmadmin,asmdba,asmoper grid

    mkdir /u01/app/

    chown -R grid:oinstall /u01/app/

    chmod -R 775 /u01/app/

    mkdir -p /u01/app/oraInventory

    chown -R grid:oinstall /u01/app/oraInventory

    chmod -R 775 /u01/app/oraInventory

    mkdir -p /u01/app/grid

    mkdir -p /u01/app/oracle

    chown -R grid:oinstall /u01/app/grid

    chown -R oracle:oinstall /u01/app/oracle

    chmod -R 775 /u01/app/oracle

    chmod -R 775 /u01/app/grid

    ##############################################

    #modify sysctl.conf #

    ##############################################

    cat >> /etc/sysctl.conf <<done

    fs.file-max = 6815744

    kernel.shmall = 2097152

    #kernel.shmmax = 536870912

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    net.ipv4.ip_local_port_range = 9000 65500

    net.core.rmem_default = 262144

    net.core.rmem_max = 4194304

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048576

    fs.aio-max-nr = 1048576

    done

    sysctl -p

    ###############################################

    #modify /etc/security/limits.conf #

    ###############################################

    cat >> /etc/security/limits.conf << done

    grid soft nproc 2047

    grid hard nproc 16384

    grid soft nofile 1024

    grid hard nofile 65536

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

    done

    ################################################

    #modify /etc/pam.d/login #

    ################################################

    echo "session required pam_limits.so">>/etc/pam.d/login

    ################################################

    # setting user oracle env #

    ################################################

    cat >> /home/oracle/.bash_profile <<done

    export ORACLE_SID=zyzf1

    export ORACLE_UNQNAME=zyzf1

    export ORACLE_base=/u01/app/oracle

    export ORACLE_HOME=/u01/app/oracle/product/11.2.0

    export PATH=ORACLEHOME/bin:ORACLEHOME/bin:PATH

    done

    ###############################################

    #setting user grid env #

    ###############################################

    cat >> /home/grid/.bash_profile <<done

    export ORACLE_SID=+ASM1

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=/u01/app/grid

    export PATH=ORACLEHOME/bin:ORACLEHOME/bin:PATH

    done

    ◎設置相關主機名及ip映射(每個節點都要進行)

    修改文件/etc/hosts,使其內容為:

    [root@db40 oracle_rac]# more /etc/hosts

    # Do not remove the following line, or various programs

    # that require network functionality will fail.

    127.0.0.1 db40 localhost.localdomain localhost

    ::1 localhost6.localdomain6 localhost6

    # Pubic

    172.16.5.40 db40

    172.16.5.50 db50

    # Private

    10.16.5.40 db40-priv

    10.16.5.50 db50-priv

    # Virtual

    172.16.5.41 db40-vip

    172.16.5.51 db50-vip

    # SCAN

    172.16.5.55 db1-scan

    #dghost

    172.16.5.60 datadg

    (二)、准備及配置共享存儲

    ◆確保服務器與存儲設備做好了物理連接:通過查看設備指示燈獲得信息。正常情況下,hba卡的指示燈、存儲設備連線處的指示燈,都應該顯示綠色。

    ◆主機安裝存儲管理軟件powervault。注意:每個rac節點都需要安裝,否則未安裝的節點將不能發現共享磁盤。具體的過程如下:

    ◎遠程vnc連接服務器

    ◎進入軟件目錄,執行命令./md_launcher_rhel_x86_64.bin

    彈出安裝窗口;

    鼠標點擊Install MD Storage Software;

    選默認的情況就行;

    選擇sas(我用的是MD3200,正好匹配),后邊的安裝就很容易了,這里不在贅述。安裝完系統后,將在桌面生成圖標,點擊圖表,就可以進行存儲管理。

    如果不幸出現如下錯誤,請修改/etc/hosts文件解決

    ◎配置共享存儲(在一個節點上執行即可)

    1、雙擊圖標,啟動存儲管理工具

    2、選擇手動Manual,然后選擇帶內管理

    3、此處輸入連接磁盤陣列的主機ip地址

    4、創建磁盤組,選擇raid級別為RAID10,把12個盤都選擇上,這個過程很費時間

    5、虛擬磁盤映射到主機,目的是要連接到陣列的主機都能訪問到虛擬磁盤組

    6、填入一個容易標識的名稱

    7、鼠標右鍵點擊剛創建的主機組名稱,調出主機定義

    8、輸入主機名(以/etc/hosts為准)

    9、選擇連接端口,這里需要注意,弄錯了,主機識別不到磁盤組的

    10、鼠標點擊按鈕"Add"

    定義好第一個主機后的界面為

    用同樣的方法,把余下的主機也定義好。

    11、定義附件映射,亦即是給主機分配可訪問的磁盤空間

    12、點擊附加映像

    13、選定虛擬磁盤(前邊做raid創建出來的),然后鼠標點擊Add

    ◎檢查rac節點服務器是否識別上述步驟創建的虛擬磁盤(每個節點都要檢查,確保其正確性)。在主機上執行fdisk –l

    如果沒有識別,重啟一下系統就好了。

    ◎主機磁盤分區(僅需在一個主機進行,完成后在其它主機查看分區情況)

    因為容量大於2TB,因此需要使用parted進行分區。根據規划,我們需要分6個分區,分別用來存儲OCR、FLASH AREA及數據文件。

    ◆分區前,使用multipath –ll查看磁盤設備文件的名稱,確保分區在正確的設備上進行

    ◆進入目錄 /dev/mapper,查看是否存在mpath*這樣的文件

    本例顯示的磁盤陣列映射的設備名是mpath2,那么用dparted分區,就要在/dev/mapper/mpath2上進行了。分區后的結果如下

    ◆檢查分區是否成功?進入目錄/dev/mapper,可以看到分區后新生成的文件

    (三)安裝和配置自動存儲管理ASM

    oracle 11g rac推薦的存儲方式為ASM(Automatic Storage Management),具體功能和概念,就沒必要在這里重復。我們需要根據系統的內核版本,在官網下載與內核相一致的rpm安裝包。

    一共三個,如圖所示:

    如果下載來的包跟內核不匹配,將會導致asm初始化失敗,不能進行進一步的操作。這是初學者很容易犯的錯誤,切記了!

    ◎安裝asm相關的軟件包

    執行 rpm –ivh oracleadm*進行安裝。這幾個包之間有依賴關系,如果一個個單獨安裝,需要按某種順序進行,如果使用通配符*,就省事多了,它能自動進行依賴處理。

    安裝完oracleasm以后,至少會生成目錄 /dev/oracleasm/disks,這時我們可以查看一下這個目錄,發現它里面是空的,接下來的操作,就可以在目錄里生成如果文件了。

    ◎執行/etc/init.d/oracleasm configure ,進行初始化,根據輸出指定asm的屬主及組。

    ◎接下來,就可以創建asm磁盤組了,所執行的命令如下:

    [root@db40 ~]# service oracleasm start

    Initializing the Oracle ASMLib driver: [ OK ]

    Scanning the system for Oracle ASMLib disks: [ OK ]

    [root@db40 ~]# /etc/init.d/oracleasm createdisk OCR_VOL1 /dev/mapper/mpath2p1

    Marking disk "OCR_VOL1" as an ASM disk: [ OK ]

    [root@db40 ~]# /etc/init.d/oracleasm createdisk OCR_VOL2 /dev/mapper/mpath2p2

    Marking disk "OCR_VOL2" as an ASM disk: [ OK ]

    [root@db40 ~]# /etc/init.d/oracleasm createdisk FLASH_VOL1 /dev/mapper/mpath2p3

    Marking disk "FLASH_VOL1" as an ASM disk: [ OK ]

    [root@db40 ~]# /etc/init.d/oracleasm createdisk FLASH_VOL2 /dev/mapper/mpath2p4

    Marking disk "FLASH_VOL2" as an ASM disk: [ OK ]

    [root@db40 ~]# /etc/init.d/oracleasm createdisk DATA_VOL1 /dev/mapper/mpath2p5

    Marking disk "DATA_VOL1" as an ASM disk: [ OK ]

    [root@db40 ~]# /etc/init.d/oracleasm createdisk DATA_VOL2 /dev/mapper/mpath2p6

    Marking disk "DATA_VOL2" as an ASM disk: [ OK ]

    我一共創建6個oracle asm磁盤,這樣做的好處是把數據盡可能的分散到不同的磁盤區域,后邊再把2個asm磁盤合並成一個磁盤組,提高可用性和擴充空間。

    如果執行過程出現故障,可通過日志文件/var/log/oracleam看出端倪。執行完以后,用一下方法檢查是否如願(一次安裝過程中,發現一個節點沒有目錄/dev/oracleasm,日志/var/log/oracleasm有"oracleasm-read-label: Unable to open device "/dev/sdb1": No such file or directory",折騰半天,原來是沒執行/etc/init.d/oracleasm enable):

    ◎檢查oracleasm創建的磁盤是否成功

  • 查看系統目錄,看是不是至少存在6個文件

  • (2)從邏輯上查看asm磁盤組,記得要在每一個rac主機查詢

    [root@db50 ~]# /etc/init.d/oracleasm scandisks

    Scanning the system for Oracle ASMLib disks: [ OK ]

    [root@db50 ~]# /etc/init.d/oracleasm listdisks

    DATA_VOL1

    DATA_VOL2

    FLASH_VOL1

    FLASH_VOL2

    OCR_VOL1

    OCR_VOL2

    (四)安裝集群軟件grid

    ◎grid軟件安裝(安裝過程只需在一個節點執行,有腳本需要同時在每個節點都運行,請注意看安裝提示就可以了)。

    Vnc連接服務器,打開終端,執行xhost + ,接着進入源安裝文件目錄,執行命令 ./runInstaller,如果正常,將彈出如下圖的安裝界面:

    選擇典型安裝

    SCAN的名稱,要與/etc/hosts完全一致,特別注意,在同一個網段內,要保證這個命名的唯一性。如果在同一網段內部署多個oracle rac集群,scan的命名如果重復了,安裝將不能繼續進行!!!

    加入余下的主機(默認情況下,只有一個主機顯示)

    一定要對着/etc/hosts定義好的填寫

    添加好后,主機名應該顯示在列表中

    Ssh連接驗證,點按鈕"SSH Connectivity …",這里一定要做好ssh無密碼驗證,否則下一步不能進行(我在這里費了好長的時間啊)。

    說明:ssh連接,也可以不用手工設置,直接點那個setup進行處理,省事不少。

    選擇安裝目錄及存儲位置(注意base要有location不一樣喲)

    創建asm磁盤組,因為磁盤陣列做了raid10,因此下邊的冗余等級就選擇外部的(External)

    這些名字看着眼熟吧?就是前邊oracleasm createdisk創建出來的。這里勾選2個項目,目的在於把他們合並成一個asm磁盤組。如果此處沒有找到候選磁盤,則需點擊按鈕"Change Discovery Path"就,進行手工查找。

    最好輸入全路徑,幸運的是,這里支持通配符.這里創建的磁盤組,是用來存儲asm磁盤仲裁等信息。

    再往下進行校驗,突然彈出一個報錯信息,是關於ntp的。先關閉ntpd服務,然后刪掉配置文件/etc/ntp.conf,這樣就排除了故障。

    到這里以后,一般不會出什么狀況,只管點按鈕"完成"進行文件的提取和安裝,執行到一定程度后,需要以root帳號執行兩個腳本/u01/app/oraInventory/orainstRoot.sh、/u01/app/grid/root.sh,后一個腳本很費時間,也容易出錯。

    ◆第一個服務器,執行一次通過,但第二個服務器執行時,出現錯誤信息:

    ASM failed to start. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-14030210PM2304.log for details.

    Configuration of ASM failed, see logs for details

    Did not succssfully configure and start ASM

    CRS-2500: Cannot stop resource 'ora.crsd' as it is not running

    CRS-4000: Command Stop failed, or completed with errors.

    Command return code of 1 (256) from command: /u01/app/grid/bin/crsctl stop resource ora.crsd -init

    Stop of resource "ora.crsd -init" failed

    通過對比檢查,發現兩個服務器的目錄屬主有不一致的地方。正確運行腳本成功的那個/dev/oracleasm/下的目錄屬主是grid:oinstall,而有問題的那個主機的屬主是root:root,執行/ete/init.d/oracleasm指定屬主和組,保證文件的屬組和主是正確的,然后執行./roothas.pl -delete -force -verbose ,刪除不成功的配置,最后執行/u01/app/grid/root.sh完成安裝。注意:安裝界面有2個失敗,是因為私有地址做的public,可以無視。

    ◎檢查安裝的正確性

  • 查看asm進程

  • 以grid帳號,執行 asmcmd ,提示符下ls查看目錄或者文件,有內容者則是我們鎖需要的。

  • 查看安裝目錄,看是否生成相關的目錄很文件
  • (五)Oracle安裝和數據庫創建

    ◎安裝數據庫軟件(在一個節點進行操作,安裝過程中,有腳本需要同時在每個節點都運行,請注意看安裝提示就可以了)

    與安裝grid一樣,還是需要用vnc連接到某個節點的系統,執行 xhost + ,然后再打開一個終端,執行 su – oracle 切換到oracle用戶。再進入安裝源文件的目錄,執行腳本./runInstaller,如果正常,將彈出如下圖的安裝界面:

    先安裝軟件,后邊單獨創建數據庫。

    跟grid一樣,需要先進行ssh驗證

    驗證成功以后,后邊的步驟不容易出錯,也跟單實例安裝基本相同。

    ◎創建數據庫(在一個節點上操作)

    以oracle帳號執行dbca

    若干下一步后,咱們還是選擇定制方式吧(Custom Database)

    記得把所有的主機都選上

    創建所需asm磁盤組(前邊安裝grid時,已經創建過一組了):grid用戶執行asmca

    手工輸入和選定一些項目

    轉呀轉,要一點點耐心,嘿!剛敲到這里,就出來了

    創建好后,目前還可以改喲。將來數據庫上線運行了,不能再做這個嘗試了。現有環境創建完后匯總輸出如下

    選擇數據庫文件存放的位置。當然要選ASM。如果不執行這個磁盤組創建過程,后面的數據庫文件存放位置,如果選asm,將不能往下進行。

    選容量最大的這個(OCR已經被前邊的操作占用了,FLASH留到后邊用)

    往下一步的時候,需要輸入asm的一個密碼。密碼在前天的grid安裝設定的喲,要記牢。

    歸檔區也用asm,這就用上前邊剩下的asm磁盤組FLASH,一個也沒多余。

    自己動手,選大的

    歸檔要打勾喲(當然實例運行起來后,也是可以打開的)

    后邊幾步,就不用截圖了。到這里,就慢慢等着吧

    部署過程,很漫長,也很考驗人的耐性。


    后續及注意事項

    ◆oracle rac數據庫創建后,默認的一些系統表空間太小,運行不了多久,就會達到90%以上,最好在創建完畢后把它改大一些。

    ◆oracle rac監聽器監聽的ip地址是虛擬地址,如果嘗試連接實際物理地址,將永遠不會得逞。

    ◆oracle rac心跳檢查導致大量的數據通訊,因此對網絡的質量和速度要求較高。一個運行中的oracle rac集群,曾因為少買了一根網線而使用機房提供的劣質六類線,導致心跳檢測時好時壞,引起實例關閉。

    ◆用戶表空間,固定大小,擴充容量以創建多個數據文件為佳。

    ◆默認的重做日志文件也很小,需要多創建幾個日志組,並增大其容量。

    ◆oracle rac運行起來后,一定要做好備份,熟練的用好rman,將會有很多好處。

    ◆如果條件運行,跨機房的dataguard給弄上喲。

    ◆多路徑沒配好,可能會導致數據路徑交替切換,一會走這條數據線,一會又走另一條數據線。直接的表現就是數據訪問緩慢。通過查詢報警日志可以得到有用的信息。

    ◆報警日志文件非常有用,要經常關注它!

    ◆修改/etc/sysconfig/ntp,增加行OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" 重啟ntpd服務

    ◆Ssh等效要雙向,即從任何一個服務器可以無密碼登錄另一個服務器系統

    ◆/etc/hosts的第一行,要把主機名去掉;同時/etc/sysconf/network里面的名稱,要與/etc/hosts一致

    ◆Oracleasm配置時,一定要注意屬主和組名。否則會有權限問題。Oracleasm configure –i 指定interfere為grid,組groups為oinstall。因為oracle帳號也屬於oinstall組

    寫這些文字,花了不少時間,希望能對需要的人有所幫助。網上有一些文檔,但大部分都是虛擬環境,領會不了asm真實場景的特性。

    2014-8-28 大興黃村出租房


    免責聲明!

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



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