熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

向基於Linux的OracleRAC10g集群添加新節點

2022-06-13   來源: Oracle 

  在多數業務中Oracle 真正應用集群 (RAC) 配置的主要業務要求是整個系統中數據庫層的可伸縮性 — 這樣當用戶數增加時可將額外實例添加到該集群來分發該負載

  在Oracle RAC g 中這個特定的功能已經變得更加容易當節點/實例變成可用狀態後Oracle 即可通過必需的幾個設置步驟來包含這個即插即用功能

  在本文中我將討論將節點添加到現有 Oracle RAC g 第 版集群所需的步驟

  當前環境

  出於演示目的我們這裡的環境是一個四節點的 Rd Hat Linux 集群該任務是添加一個附加節點從而使它成為一個五節點集群

  

  數據庫名

  節點編號

  數據庫版本

  實例編號

  操作系統內核版本

  文件系統

  集群管理器

  SSKYDB

  四個節點 — oradboradboradb 和 oradb

  

  四個實例 — SSKYSSKYSSKY 和 SSKY

  Red Hat Enterprise Linux AS
Linux ELsmp

  OCFS 和 ASM

  Oracle 集群件

  該過程將通過以下 個步驟實現

  考慮依賴性和前提條件
    配置網絡組件
    安裝 Oracle 集群件
    配置 Oracle 集群件
    安裝 Oracle 軟件
    添加新實例(一個或多個)
    執行日常管理任務

  考慮依賴性和前提條件

  任何軟件安裝或升級的第一個主要步驟都是確保系統的完整備份可用包括操作系統和數據文件下一步是驗證系統要求操作系統版本和所有應用程序補丁級別

  新節點應該具有與現有節點相同的操作系統版本包括 Oracle 所需的所有補丁在這個示例中由於駐留在節點 上的操作系統是 Red Hat Enterprise Linux 因此新節點也應該具有該版本此外為了維持當前命名慣例應該將新節點稱為 oradb

  除了基本的操作系統外還應該安裝 Oracle 需要的以下程序包

   [root@oradb root]# rpm qa | grep i gcc
compatgccc++
compatgcc
libgcc
gcc
[root@oradb root]# rpm qa | grep i openmotif
openmotifRHEL
openmotif
[root@oradb root]# rpm qa | grep i glibc
glibc
glibcutils
glibckernheaders
glibccommon
glibcheaders
glibcdevel
[root@oradb root]# rpm qa | grep i compat
compatlibstdc++
compatgccc++
compatgcc
compatdb
compatlibstdc++devel
[root@oradb root]#

  使用以下值更新內核參數

  

  re_uses_pid =
kernelhostname =
kerneldomainname =
kernelshmall =
#kernelshmmax =
kernelshmmax =
kernelshmmni =
kernelshmseg =
kernelsem =
kernelmsgmnl =
kernelmsgmnb =
fsfilemax =
netipvip_local_port_range =
rermem_default =
rewmem_default =
rermem_max =
rewmem_max =

  將下列參數添加到 /etc/security/nf

  

  oracle           soft    nproc          
   oracle           hard    nproc          
   oracle           soft    nofile         
   oracle           hard    nofile         

  將設備添加到 /etc/fstab — 將設備定義從現有節點之一復制到 oradb

  

  [root@oradb root]$ more /etc/fstab
LABEL=/                 /                ext    defaults       
none                    /dev/pts         devpts  gid=mode= 
none                    /proc            proc    defaults       
none                    /dev/shm         tmpfs   defaults       
/dev/sda               swap             swap    defaults       
/dev/cdrom              /mnt/cdrom       udfiso noautoownerkudzuro
/dev/fd                /mnt/floppy      auto    noautoownerkudzu
/dev/sdb               /u             ocfs    _netdev
/dev/sdb               /u             ocfs    _netdev
/dev/sdb               /u             ocfs    _netdev
/dev/sdb               /u             ocfs    _netdev
/dev/sdb               /u             ocfs    _netdev
/dev/sdb              /u             ocfs    _netdev
/dev/sdb              /u             ocfs    _netdev

  接下來創建管理用戶Oracle 的每個安裝都要求每個節點上有一個管理用戶帳戶在所有現有節點中管理所有者是 oracle因此下一步是在節點 oradb 上創建管理用戶帳戶當創建該用戶帳戶時重要的是用戶 oracle 的 UID 和 GID 需要與其他 RAC 節點的相同該信息可以使用以下命令獲取

  

  [oracle@oradb oracle]$ id oracle
uid=(oracle) gid=(oinstall) groups=(dba) (oper)

  作為根連接到 oradb(基於 Linux 或 Unix 的環境)並創建以下操作系統組

  

  groupadd g oinstall
groupadd g dba
groupadd g oper

  當創建這些組之後使用以下命令創建 oracle 用戶帳戶作為 dba 組的成員然後使用 passwd(密碼)命令重新設置用戶密碼

  

  useradd u g oinstall G dba oper oracle
passwd oracle
Changing password for user oracle
New password:
Retype new password:
passwd: all authentication tokens updated successfully

  當創建組和用戶之後應該驗證它們以確保以下命令的輸出與該集群的所有節點等同

  

  [root@oradb root]$ id oracle
uid=(oracle) gid=(oinstall) groups=(dba) (oper)

  配置網絡組件

  在節點 oradb 上將所有網絡地址添加到 /etc/hosts 文件此外要在集群的其他四個節點上交叉注冊節點 oradb 信息

  

  root@oradb root]# more /etc/hosts
      localhostlocaldomain localhost
   oradb
   oradb
   oradb
   oradb
   oradb

#Private Network/interconnect
   or oradbpriv
   or oradbpriv
   or oradbpriv
   or oradbpriv
   or oradbpriv


# VIP
   o oradbvip
   o oradbvip
   o oradbvip
   o oradbvip
   o oradbvip

  用 SSH 建立用戶等效項當向集群添加節點時Orale 將在其中執行初始安裝的節點的文件復制到該集群的新節點這樣的復制過程可以通過使用 ssh 協議(如果可用)來進行也可以使用遠程復制 (rcp) 來進行為了使復制操作成功RAC 節點上的 oracle 用戶必須能夠在無需提供密碼或口令短語的情況下登錄到新的 RAC 節點

  當前現有的四個節點配置為使用 ssh要在新節點上配置 oracle 帳戶來使用無需任何密碼的 ssh執行以下任務

  為用戶 oracle 創建身份驗證密鑰要創建此密鑰請將當前目錄更改為 oracle 用戶的默認登錄目錄並執行以下操作

  

  [oracle@oradb oracle]$ sshkeygen t dsa b
Generating public/private dsa key pair
Enter file in which to save the key (/home/oracle/ssh/id_dsa):
Created directory /home/oracle/ssh
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/ssh/id_dsa
Your public key has been saved in /home/oracle/ssh/id_dsapub
The key fingerprint is:
b:::ae:::a:a:a:bf::e:::d: orac
[oracle@oradb oracle]$

  從新節點生成的密鑰應添加到所有節點上的 /home/oracle/ssh/id_dsa/authorized_keys 文件中這意味著每個節點都應包含集群中所有其他節點的密鑰

  

  [oracle@oradb oracle]$ cd ssh
[oracle@oradb ssh]$ cat id_dsapub > authorized_keys

  當創建完密鑰並將其復制到所有節點之後oracle 用戶帳戶無需使用密碼就可以從一個節點連接到另一個節點上的另一個 oracle 帳戶這允許 Oracle Universal Installer 將安裝節點的文件復制到集群的其他節點

  以下輸出是從節點 oradb 到節點 oradb 顯示 ssh 的驗證

  

  [oracle@oradb oracle]$ ssh oradb hostname

[oracle@oradb oracle]$ ssh oradb hostname

[oracle@oradb oracle]$ ssh oradbpriv hostname

[oracle@oradb oracle]$ ssh oradbpriv hostname

  注意首次執行這些測試時操作系統將顯示一個密鑰並請求用戶接受或拒絕輸入Yes將接受並注冊此密鑰應該在其他所有節點上跨集群中的所有接口執行這些測試但 VIP 除外

  安裝 Oracle 集群件

  Oracle 集群件已經安裝在集群上這裡的任務是將新節點添加到集群配置中要執行該任務需要執行 Oracle 提供的名為 addnode 的實用程序該工具位於 Clusterware 的主 oui/bin 目錄中Oracle 集群件有兩個文件(Oracle 集群信息庫 (OCR) 和 Oracle 集群同步服務 (CSS) 表決磁盤)它們包含有關該集群以及由 Oracle 集群件管理的應用程序的信息這些文件需要使用關於新節點的信息進行更新集群件安裝過程的第一步是驗證新節點是否准備好進行安裝

  集群驗證在 Oracle 數據庫 g 第 版中Oracle 引入了一個稱為 Oracle 集群驗證實用程序 (CVU) 的新實用程序作為該集群件軟件的一部分使用適當的參數執行該實用程序可以確定集群狀態在該階段在安裝 Oracle 集群件之前應該執行兩個驗證

  如果硬件和操作系統配置已經完成

  

  cluvfy stage post hwos n oradboradb
Performing postchecks for hardware and operating system setup
Checking node reachability
Node reachability check passed from node oradb
Checking user equivalence
User equivalence check passed for user oracle
Checking node connectivity
Node connectivity check passed for subnet with node(s) oradboradb
Node connectivity check passed for subnet with node(s) oradboradb
Suitable interfaces for the private interconnect on subnet :
oradb eth: eth:
oradb eth: eth:
Suitable interfaces for the private interconnect on subnet :
oradb eth:
oradb eth:
Checking shared storage accessibility
Shared storage check failed on nodes oradb
Postcheck for hardware and operating system setup was unsuccessful on all the nodes

  正如突出顯示的部分一樣上面的驗證失敗於存儲檢查驗證節點 oradb 無法查看存儲設備在這個特定示例中磁盤沒有足夠的權限

  如果忽略該錯誤繼續安裝Oracle 集群件安裝將失敗但如果在重新執行前解決了該錯誤該驗證步驟將成功如下所示

  

  Checking shared storage accessibility
Shared storage check passed on nodes oradboradb
Postcheck for hardware and operating system setup was successful on all the nodes

  在安裝 Oracle 集群件之前請對節點列表中的所有節點執行相應的檢查

  

  [oracle@oradb cluvfy]$ cluvfy stage pre crsinst n oradboradb
Performing prechecks for cluster services setup
Checking node reachability
Node reachability check passed from node oradb
Checking user equivalence
User equivalence check passed for user oracle
Checking administrative privileges
User existence check passed for oracle
Group existence check passed for oinstall
Membership check for user oracle in group oinstall [as Primary] failed
Check failed on nodes:
        oradboradb
Administrative privileges check passed
Checking node connectivity
Node connectivity check passed for subnet with node(s) oradboradb
Node connectivity check passed for subnet with node(s) oradboradb
Suitable interfaces for the private interconnect on subnet :
oradb eth: eth:
oradb eth: eth:
Suitable interfaces for the private interconnect on subnet :
oradb eth:
oradb eth:
Checking system requirements for crs
Total memory check passed
Check failed on nodes:
        oradboradb
Free disk space check passed
Swap space check passed
System architecture check passed
Kernel version check passed
Package existence check passed for make
Package existence check passed for binutils
Package existence check passed for gcc
Package existence check passed for glibc
Package existence check passed for compatdb
Package existence check passed for compatgcc
Package existence check passed for compatgccc++
Package existence check passed for compatlibstdc++
Package existence check passed for compatlibstdc++devel
Package existence check passed for openmotif
Package existence check passed for setarch
Group existence check passed for dba
Group existence check passed for oinstall
User existence check passed for nobody
System requirement failed for crs
Precheck for cluster services setup was successful on all the nodes

  配置 Oracle 集群件

  運行 OUI 需要執行該安裝程序的終端與 Xwindows 兼容否則應安裝相應的 Xwindows 模擬器並使用以下語法通過 DISPLAY 命令調用此模擬器

  export DISPLAY=<client IP address>

  例如

  [oracle@oradb oracle]$export DISPLAY=下一步是在新節點 oradb 上配置集群件為此如前所述Oracle 已經提供了一個新的稱為 addNodesh 的可執行文件它位於 <Clusterware Home>/oui/bin 目錄

  執行腳本 <Clusterware Home>/oui/bin/addNodesh
    Welcome — 單擊 Next
    指定要通過添加來安裝的集群節點 — 在該屏幕中OUI 列出了集群的現有節點並在下半個屏幕中列出了要添加到適當列中的新節點(一個或多個)信息輸入信息之後單擊 Next

   公共節點名稱 私有節點名稱 虛擬主機名稱 oradb oradbpriv oradbvip

  集群節點添加總結 — 驗證新節點列在New Nodes下拉菜單之下並單擊 Install
    當需要的所有集群件組件從 oradb 復制到 oradb 之後OUI 將提示執行三個文件

  

  /usr/app/oracle/oraInventory/orainstRootsh on node oradb

  [root@oradb oraInventory]# /orainstRootsh
Changing permissions of /usr/app/oracle/oraInventory to
Changing groupname of /usr/app/oracle/oraInventory to dba

The execution of the script is complete
[root@oradb oraInventory]#

  /usr/app/oracle/product//crs/install/rootaddnodesh on node oradb(addnoderootsh 文件將使用 srvctl 實用程序將新節點信息添加到 OCR請注意下面腳本輸出末尾的具有 nodeapps 參數的 srvctl 命令

  

  [root@oradb install]# /rootaddnodesh
clscfg: EXISTING configuration version detected
clscfg: version is G Release
Attempting to add new nodes to the configuration
Using ports: CSS= CRS= EVMC= and EVMR=
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node : oradb oradbpriv oradb
Creating OCR keys for user root privgrp root
Operation successful
/usr/app/oracle/product//crs/bin/srvctl
add nodeapps n oradb A oradbv ip//bond
o /usr/app/oracle/product//crs
[root@oradb install]#

  /usr/app/oracle/product//crs/rootsh on node oradb

  

  [root@oradb crs]# /rootsh
WARNING: directory /usr/app/oracle/product/ is not owned by root
WARNING: directory /usr/app/oracle/product is not owned by root
WARNING: directory /usr/app/oracle is not owned by root
Checking to see if Oracle CRS stack is already configured
/etc/oracle does not exist Creating it now

OCR backup directory /usr/app/oracle/product//crs/cdata/SskyClst
does not exist Creating now
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory /usr/app/oracle/product/ is not owned by root
WARNING: directory /usr/app/oracle/product is not owned by root
WARNING: directory /usr/app/oracle is not owned by root
clscfg: EXISTING configuration version detected
clscfg: version is G Release
assigning default hostname oradb for node
Successfully accumulated necessary OCR keys
Using ports: CSS= CRS= EVMC= and EVMR=
node :

  node : oradb oradbpriv oradb
node : oradb oradbpriv oradb
node : oradb oradbpriv oradb
node : oradb oradbpriv oradb
clscfg: Arguments check out successfully

NO KEYS WERE WRITTEN Supply force parameter to override
force is destructive and will destroy any previous cluster
configuration
Oracle Cluster Registry for cluster has already been initialized
Startup will be queued to init within seconds
Adding daemons to inittab
Expecting the CRS daemons to be up within seconds
CSS is active on these nodes
        oradb
        oradb
        oradb
        oradb
        oradb
CSS is active on all nodes
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(M)
Running vipca(silent) for configuring nodeapps
IP address oradbvip has already been used
Enter an unused IP address

  產生錯誤oradbvip has already been used因為 VIP 已經在所有節點(而非 oradb)上進行了配置重要的是在繼續之前手動執行 VIPCA(虛擬 IP 配置助手)

  使用 VIPCA 手動配置 VIP與執行 OUI 相似執行 VIPCA 要求運行該安裝程序的終端與 Xwindows 兼容否則應安裝相應的 Xwindows 模擬器並使用以下語法通過 DISPLAY 命令調用此模擬器

  export DISPLAY=<client IP address>

  例如

  [oracle@oradb oracle]$export  DISPLAY=在節點 oradb(或者執行添加節點過程的節點)上的命令提示符處執行 rootsh 之後還要立即作為根調用 VIPCA(VIPCA 還將在新節點上配置 GSD 和 ONS 資源

  IWelcome — 單擊 Next
    II 步(共 步)網絡接口 — 顯示網絡接口列表選擇 VIP 將分配/映射到的網絡公共網絡接口通常是列表 (eth) 中的第一個接口但是在這個特定情況中由於針對私有互連啟用了綁定而且該列表以字母次序顯示因此 bond 接口將顯示在列表頂部完成後單擊 Next
    III 步(共 步)集群節點的虛擬 IP — 對於列表中的每個節點名在適當的列中提供 VIP 別名和虛擬 IP 地址完成後單擊 Next
    IV總結 — 列出當前所選配置的總結當所有設置正確後單擊 Finish
    V配置助手進度對話框 — 該屏幕將顯示 VIPGSD 和 ONS 配置過程的進度VIPCA 提示後單擊 OK
    VI配置結果 — 該屏幕將顯示配置結果單擊 Exit 退出 VIPCA

  完成 Oracle 集群件安裝後將在其各自目錄中創建下列文件

  集群件文件

  

  [root@oradb root]# ls ltr /etc/initd/init*
rxrxrx    root     root     Aug : /etc/initd/initevmd
rxrxrx    root     root    Aug : /etc/initd/initcssd
rxrxrx    root     root     Aug : /etc/initd/initcrsd
rxrxrx    root     root     Aug : /etc/initd/initcrs
[root@oradb root]#

  使用以下條目更新了操作系統提供的 inittab 文件

  

  [root@oradb root]# tail /etc/inittab
# Run xdm in runlevel
x::respawn:/etc/X/prefdm nodaemon
h::respawn:/etc/initd/initevmd run >/dev/null >& </dev/null
h::respawn:/etc/initd/initcssd fatal >/dev/null >& </dev/null
h::respawn:/etc/initd/initcrsd run >/dev/null >& </dev/null

  當列出的所有腳本都在所有節點上運行後單擊 OK
    安裝結束 — 單擊 Exit
    使用 olsnodes 命令驗證集群件是否注冊了所有節點

  

  [oracle@oradb oracle]$ olsnodes
oradb
oradb
oradb
oradb
oradb
[oracle@oradb oracle]$

  使用 crs_stat 命令驗證是否啟動了集群服務

  

  [oracle@oradb oracle]$ crs_stat t
Name           Type           Target    State     Host

oraoradbgsd application    ONLINE    ONLINE    oradb
oraoradbons application    ONLINE    ONLINE    oradb
oraoradbvip application    ONLINE    ONLINE    oradb
oraoradbgsd application    ONLINE    ONLINE    oradb

oraoradbvip application    ONLINE    ONLINE    oradb
oraoradbgsd application    ONLINE    ONLINE    oradb
oraoradbons application    ONLINE    ONLINE    oradb
oraoradbvip application    ONLINE    ONLINE    oradb
oraoradbgsd application    ONLINE    ONLINE    oradb
oraoradbons application    ONLINE    ONLINE    oradb
oraoradbvip application    ONLINE    ONLINE    oradb

  驗證是否在 OS 級配置了 VIP 服務配置虛擬 IP 地址並將其添加到 OS 網絡配置並啟動網絡服務VIP 配置可以使用 ifconfig 命令在 OS 級驗證

  

  [oracle@oradb oracle]$ ifconfig a
eth     Link encap:Ethernet  HWaddr :::B::
          inet addr:  Bcast:  Mask:
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:  Metric:
          RX packets: errors: dropped: overruns: frame:
          TX packets: errors: dropped: overruns: carrier:
          collisions: txqueuelen:
          RX bytes: ( Mb)  TX bytes: ( Mb)

eth:   Link encap:Ethernet  HWaddr :::B::
          inet addr:  Bcast:  Mask:
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:  Metric:
          RX packets: errors: dropped: overruns: frame:
          TX packets: errors: dropped: overruns: carrier:
       collisions: txqueuelen:
       RX bytes: ( Mb)  TX bytes: ( b)
       Interrupt: Base address:x Memory:

  注意eth 指示它是基本主機 eth 的 VIP 地址當節點出現故障時eth 將移動到集群中的一個可用節點故障切換服務器上的 VIP 的新標識符變為 eth 或更高數值具體情況取決於集群中哪些節點故障以及 VIP 移植到的其他節點

  安裝 Oracle 軟件

  下一步是在新節點上安裝 Oracle 軟件如前所述Oracle 已經提供了一個新的稱為 addNodesh 的可執行文件它位於 $ORACLE_HOME/oui/bin 目錄

  執行腳本 $ORACLE_HOME/oui/bin/addNodesh
    Welcome — 單擊 Next
    指定要通過添加來安裝的集群節點 — 在該屏幕中OUI 列出了集群的現有節點並在下半個屏幕中列出了新節點(一個或多個)選擇節點 oradb輸入信息之後單擊 Next
    集群節點添加總結 — 驗證新節點列在New Nodes下拉菜單之下並單擊 Install 按鈕
    將 Oracle 軟件復制到節點 oradb 之後OUI 將提示您以 root 用戶的身份在另一個窗口中對集群中的新節點(一個或多個)執行 /usr/app/oracle/product//db_/rootsh 腳本

  

  [root@oradb db_]# /rootsh
Running Oracle rootsh script

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /usr/app/oracle/product//db_

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file dbhome already exists in /usr/local/bin  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin
The file oraenv already exists in /usr/local/bin  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin
The file coraenv already exists in /usr/local/bin Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin

Creating /etc/oratab file
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of rootsh script
Now productspecific root actions will be performed

  單擊 OK(當 rootsh 在節點 oradb 上運行後)
安裝結束 — 單擊 Exit

  當安裝 RDBMS 軟件之後比較好的做法是在進行下一步之前運行 netcaNetca 將配置需要的所有網絡文件和參數例如監聽程序sql*net 和 tnsnamesora 文件

  添加新實例(一個或多個)

  DBCA 具有將附加實例添加到集群所需的所有選項

  要求

  在開始執行升級過程前請創建數據庫的完整冷備份
    Oracle 集群件應該運行在所有節點上

  Welcome 屏幕 — 選擇 Oracle Real Application Cluster database 並單擊 Next
    步(共 步)操作 — 列出了可以使用 DBCA 執行的所有操作列表選中 Instance Management然後單擊 Next
    步(共 步)實例管理 — 列出了可以執行的實例管理操作列表選中 Add an Instance然後單擊 Next
    步(共 步)集群數據庫列表 — 列出了該節點上運行的集群數據庫列表在本例中運行在節點 oradb 上的數據庫是 SSKYDB選擇該數據庫在屏幕下半部分DBCA 要求您利用 SYSDBA 系統特權指定一個用戶
Usernamesys
Password:<     > 並單擊 Next
    步(共 步)集群數據庫實例列表 — DBCA 將列出集群上當前可用的所有實例驗證是否列出了所有實例並單擊 Next/li>
    步(共 步)實例命名和節點選擇 — DBCA 將列出序列中的下一個實例名並請求該節點來添加此實例在我們的示例中下一個實例名是 SSKY節點名是 oradb進行適當的選擇後單擊 Next在該階段在下一屏幕顯示之前會有一個小暫停因為 DBCA 要確定新節點的當前狀態以及當前節點上配置了什麼服務
    步(共 步)數據庫服務 — 如果當前配置中配置了任何數據庫服務將顯示該屏幕(否則跳過)在我們的示例中當前配置定義了兩個服務 — CRM 和 PAYROLL該屏幕提示跨新實例配置它們進行適當的選擇並在准備好後單擊 Next
    步(共 步)實例存儲 — 在該屏幕中DBCA 將列出實例特定的文件例如撤消表空間重做日志組等等驗證是否列出了所需的所有文件並單擊 Finish
    數據庫配置助手總結 — 驗證該總結後單擊 OK 開始軟件安裝
    DBCA 驗證新節點 oradb而且由於該數據庫配置為使用 ASM將提示消息ASM 位於該集群上但需要擴展到以下節點[oradb]您想擴展 ASM 嗎?單擊 Yes 將 ASM 添加到新實例
    為了在新節點上創建並啟動 ASM 實例Oracle 要求監聽程序可用且已啟動DBCA 通過請求特權提示使用端口 和監聽程序名 LISTENER_ORADB 配置監聽程序如果默認端口可用單擊 Yes否則單擊 No 並在 oradb 上手動執行 NetCA 來使用不同端口創建監聽程序
    數據庫配置助手進度屏幕 — 當實例管理完成後將提示用戶消息您想執行另一操作嗎?單擊 No 結束
    在該階段以下內容是真實的

  a已經在節點 oradb 上安裝了該集群件現在它是該集群的一部分
    b已經在節點 oradb 上安裝了該 Oracle 軟件
    c已經在節點 oradb 上創建並配置了 ASM 和新 Oracle 實例 SSKY

  驗證更新是否成功

  a從任何參與實例使用 V$ACTIVE_INSTANCES 視圖驗證是否啟動了集群中的所有實例 例如

  

  SQL> select * from v$active_instances;


INST_NUMBER INST_NAME

          :SSKY
          :SSKY
          :SSKY
          :SSKY
          :SSKY

  b驗證是否已經安裝了所有 ASM 磁盤組而且數據文件是否對新實例可視

  

  SQL> SELECT NAMESTATETYPE FROM V$ASM_DISKGROUP;

NAME                           STATE       TYPE

ASMGRP                        CONNECTED   NORMAL
ASMGRP                        CONNECTED   NORMAL

SQL> SELECT NAME FROM V$DATAFILE;

NAME

+ASMGRP/sskydb/datafile/system
+ASMGRP/sskydb/datafile/undotbs
+ASMGRP/sskydb/datafile/sysaux
+ASMGRP/sskydb/datafile/users
+ASMGRP/sskydb/datafile/example
+ASMGRP/sskydb/datafile/undots

  c驗證 OCR 是否知道

  集群中的新實例

  

  [oracle@oradb oracle]$ srvctl status database d SSKYDB
Instance SSKY is running on node oradb
Instance SSKY is running on node oradb
Instance SSKY is running on node oradb
Instance SSKY is running on node oradb
Instance SSKY is running on node oradb

  數據庫服務

  

  [oracle@oradb oracle]$ srvctl status service d SSKYDB
Service CRM is running on instance(s) SSKY
Service CRM is running on instance(s) SSKY
Service CRM is running on instance(s) SSKY
Service CRM is running on instance(s) SSKY
Service CRM is running on instance(s) SSKY
Service PAYROLL is running on instance(s) SSKY
Service PAYROLL is running on instance(s) SSKY

  執行日常管理任務

  為便於管理和導航應在登錄配置文件中定義幾個不同的環境變量例如

  

  [oracle@oradb oracle]$ more bash_profile
# Get the aliases and functions
if [ f ~/bashrc ]; then
        ~/bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/usr/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product//db_
export ORA_CRS_HOME=$ORACLE_BASE/product//crs

export PATH=:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:$ORA_CRS_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X:/usr/local/bin:/sbin
export ORACLE_ADMIN=$ORACLE_BASE/admin
export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_ASSUME_KERNEL=
export LD_LIBRARY=$ORACLE_HOME/lib
export LD_LIBRARY=${LD_LIBRARY}:/lib:/usr/lib:/usr/local/bin
export LD_LIBRARY=${LD_LIBRARY}:$ORA_CRS_HOME/lib

export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export ORACLE_SID=SSKY

  將網絡地址添加到 DNS 以進行查看為了便於連接到使用 VIP 的數據庫的應用程序和客戶端將別名轉換為適當的 IP 地址重要的是將 VIP 地址添加到 DNS

  還要將新網絡地址添加到 clinet tnsnamesora 文件添加到適當的 connect 描述符

  

  CRAC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradbvip)(PORT = ))
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradbvip)(PORT = ))
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradbvip)(PORT = ))
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradbvip)(PORT = ))
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradbvip)(PORT = ))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CRM)
    )
  )

  如果這些服務器配置為使用 FAN 功能將新的服務器地址添加到所有數據庫服務器上的 onsctl 文件中nfig 文件位於

  

  [oracle@oradb oracle]$ more $ORACLE_HOME/opmn/conf/nfig
localport=
remoteport=
loglevel=
useocr=on
nodes=::
:::
o:o:

  結論

  恭喜您已成功地將一個新節點添加到了四節點的現有配置下表顯示了新配置

   數據庫名 節點編號 數據庫版本 實例編號 操作系統內核版本 文件系統 集群管理器

  SSKYDB

  五個節點 — oradboradboradboradb 和 oradb

  

  五個實例 — SSKYSSKYSSKYSSKY 和 SSKY

  Red Hat Advanced Server
Linux ELsmp

  OCFS 和 ASM

  Oracle 集群件


From:http://tw.wingwit.com/Article/program/Oracle/201311/17082.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.