数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

向基于Linux的OracleRAC10g集群添加新节点


发布日期:2019年09月21日
 
向基于Linux的OracleRAC10g集群添加新节点

在多数业务中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

公共节点名称 私有节点名称虚拟主机名称oradboradbprivoradbvip

集群节点添加总结 — 验证新节点列在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 集群件

               

上一篇:Oracle巧取指定记录与巧用外关联查询

下一篇:ORACLE在HP-UX下的系列问题处理(38)