oracle12cR2如何增加节点删除节点挽救集群

发布时间:2021-11-09 13:46:37 作者:小新
来源:亿速云 阅读:104

这篇文章主要介绍了oracle12cR2如何增加节点删除节点挽救集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

数据库版本:

[oracle@jsbp242305 ~]$ sqlplus -V

SQL*Plus: Release 12.2.0.1.0 Production

12.2数据库目前有一个bug,sql*plus改sys用户口令会hang住,因为12.2内部行为有了变化,更改密码去更新一张基表的时候有问题,之前做过hanganalyze,我记得好像更改密码的会话在等待raw cache lock。oracle官方建议sys用户口令要用orapwd命令去修改,或者打one-offpatch(16002385)。而one-offpatch又依赖于一个最新的RU(27105253),我在打RU的时候直接报错,节点1崩溃无法挽救,节点2存活,只好采用增删节点的方式挽回集群。

12.2的数据库全是坑,打补丁的时候千万记得从节点2开始打!!

个人经验,仅供参考。

##################删除节点##############

IP信息,要删除的是节点1: jsbp242305

[grid@jsbp242306 ~]$ more /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

#10.10.129.41 jsbp242306

#Public IP

10.11.176.75 jsbp242305

10.11.176.76 jsbp242306

#VIP

10.11.176.77 jsbp242305-vip

10.11.176.78 jsbp242306-vip

#SCAN

10.11.176.79 jqhwccdb-scan

#Private IP

2.1.176.75 jsbp242305-priv

2.1.176.76 jsbp242306-priv

查看是否是unpinned:

[grid@jsbp242306 ~]$ olsnodes -s -t

jsbp242305 Inactive Unpinned

jsbp242306 Active Unpinned

都是unpinned,不用运行crsctl unpin css命令。

软件的home目录是local的,不是共享的,所以在要删除的节点执行下面命令:

[grid@jsbp242305 ~]$ /oracle/app/12.2.0/grid/deinstall/deinstall -local

Checking for required files and bootstrapping ...

Please wait ...

Location of logs /oracle/app/oraInventory/logs/

############ ORACLE DECONFIG TOOL START ############

######################### DECONFIG CHECK OPERATION START #########################

## [START] Install check configuration ##

Checking for existence of the Oracle home location /oracle/app/12.2.0/grid

Oracle Home type selected for deinstall is: Oracle Grid Infrastructure for a Cluster

Oracle Base selected for deinstall is: /oracle/app/grid

Checking for existence of central inventory location /oracle/app/oraInventory

Checking for existence of the Oracle Grid Infrastructure home /oracle/app/12.2.0/grid

The following nodes are part of this cluster: jsbp242305

Checking for sufficient temp space availability on node(s) : 'jsbp242305'

## [END] Install check configuration ##

Traces log file: /oracle/app/oraInventory/logs//crsdc_2018-04-16_10-26-36-AM.log

Network Configuration check config START

Network de-configuration trace file location: /oracle/app/oraInventory/logs/netdc_check2018-04-16_10-26-44-AM.log

Network Configuration check config END

Asm Check Configuration START

ASM de-configuration trace file location: /oracle/app/oraInventory/logs/asmcadc_check2018-04-16_10-26-44-AM.log

Database Check Configuration START

Database de-configuration trace file location: /oracle/app/oraInventory/logs/databasedc_check2018-04-16_10-26-44-AM.log

Oracle Grid Management database was not found in this Grid Infrastructure home

Database Check Configuration END

################ DECONFIG CHECK OPERATION END #########################

########### DECONFIG CHECK OPERATION SUMMARY #######################

Oracle Grid Infrastructure Home is: /oracle/app/12.2.0/grid

The following nodes are part of this cluster: jsbp242305

The cluster node(s) on which the Oracle home deinstallation will be performed are:jsbp242305

Oracle Home selected for deinstall is: /oracle/app/12.2.0/grid

Inventory Location where the Oracle home registered is: /oracle/app/oraInventory

Option -local will not modify any ASM configuration.

Oracle Grid Management database was not found in this Grid Infrastructure home

Do you want to continue (y - yes, n - no)? [n]: y

A log of this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2018-04-16_10-26-34-AM.out'

Any error messages from this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2018-04-16_10-26-34-AM.err'

############ DECONFIG CLEAN OPERATION START ########################

Database de-configuration trace file location: /oracle/app/oraInventory/logs/databasedc_clean2018-04-16_10-27-15-AM.log

ASM de-configuration trace file location: /oracle/app/oraInventory/logs/asmcadc_clean2018-04-16_10-27-15-AM.log

ASM Clean Configuration END

Network Configuration clean config START

Network de-configuration trace file location: /oracle/app/oraInventory/logs/netdc_clean2018-04-16_10-27-15-AM.log

Network Configuration clean config END

Run the following command as the root user or the administrator on node "jsbp242305".

/oracle/app/12.2.0/grid/crs/install/rootcrs.sh -force -deconfig -paramfile "/tmp/deinstall2018-04-16_10-26-05AM/response/deinstall_OraGI12Home1.rsp"

Press Enter after you finish running the above commands

<----------------------------------------

按照提示去执行:

[root@jsbp242305 ~]# /oracle/app/12.2.0/grid/crs/install/rootcrs.sh -force -deconfig -paramfile "/tmp/deinstall2018-04-16_10-26-05AM/response/deinstall_OraGI12Home1.rsp"

Using configuration parameter file: /tmp/deinstall2018-04-16_10-26-05AM/response/deinstall_OraGI12Home1.rsp

The log of current session can be found at:

/oracle/app/oraInventory/logs/crsdeconfig_jsbp242305_2018-04-16_10-27-36AM.log

PRCR-1070 : Failed to check if resource ora.net1.network is registered

CRS-0184 : Cannot communicate with the CRS daemon.

PRCR-1070 : Failed to check if resource ora.helper is registered

CRS-0184 : Cannot communicate with the CRS daemon.

PRCR-1070 : Failed to check if resource ora.ons is registered

CRS-0184 : Cannot communicate with the CRS daemon.

2018/04/16 10:27:48 CLSRSC-180: An error occurred while executing the command '/oracle/app/12.2.0/grid/bin/srvctl config nodeapps'

CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'jsbp242305'

CRS-2679: Attempting to clean 'ora.gipcd' on 'jsbp242305'

CRS-2681: Clean of 'ora.gipcd' on 'jsbp242305' succeeded

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'jsbp242305' has completed

CRS-4133: Oracle High Availability Services has been stopped.

2018/04/16 10:28:11 CLSRSC-4006: Removing Oracle Trace File Analyzer (TFA) Collector.

2018/04/16 10:28:42 CLSRSC-4007: Successfully removed Oracle Trace File Analyzer (TFA) Collector.

2018/04/16 10:28:47 CLSRSC-336: Successfully deconfigured Oracle Clusterware stack on this node

返回之前的节点,按enter:

################ DECONFIG CLEAN OPERATION END #########################

############## DECONFIG CLEAN OPERATION SUMMARY #######################

There is no Oracle Grid Management database to de-configure in this Grid Infrastructure home

Oracle Clusterware is stopped and successfully de-configured on node "jsbp242305"

Oracle Clusterware is stopped and de-configured successfully.

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

############# ORACLE DECONFIG TOOL END #############

Using properties file /tmp/deinstall2018-04-16_10-26-05AM/response/deinstall_2018-04-16_10-26-34-AM.rsp

Location of logs /oracle/app/oraInventory/logs/

############ ORACLE DEINSTALL TOOL START ############

############## DEINSTALL CHECK OPERATION SUMMARY #######################

A log of this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2018-04-16_10-26-34-AM.out'

Any error messages from this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2018-04-16_10-26-34-AM.err'

################ DEINSTALL CLEAN OPERATION START ########################

## [START] Preparing for Deinstall ##

Setting LOCAL_NODE to jsbp242305

Setting CLUSTER_NODES to jsbp242305

Setting CRS_HOME to true

Setting oracle.installer.invPtrLoc to /tmp/deinstall2018-04-16_10-26-05AM/oraInst.loc

Setting oracle.installer.local to true

## [END] Preparing for Deinstall ##

Setting the force flag to false

Setting the force flag to cleanup the Oracle Base

Oracle Universal Installer clean START

Detach Oracle home '/oracle/app/12.2.0/grid' from the central inventory on the local node : Done

Delete directory '/oracle/app/12.2.0/grid' on the local node : Done

Failed to delete the directory '/oracle/app/grid/log/diag/asmcmd/user_root/jsbp242305/trace'. Either user has no permission to delete or it is in use.

The Oracle Base directory '/oracle/app/grid' will not be removed on local node. The directory is not empty.

Oracle Universal Installer cleanup was successful.

Oracle Universal Installer clean END

## [START] Oracle install clean ##

## [END] Oracle install clean ##

################### DEINSTALL CLEAN OPERATION END #########################

################ DEINSTALL CLEAN OPERATION SUMMARY #######################

Successfully detached Oracle home '/oracle/app/12.2.0/grid' from the central inventory on the local node.

Successfully deleted directory '/oracle/app/12.2.0/grid' on the local node.

Oracle Universal Installer cleanup was successful.

Review the permissions and contents of '/oracle/app/grid' on nodes(s) 'jsbp242305'.

If there are no Oracle home(s) associated with '/oracle/app/grid', manually delete '/oracle/app/grid' and its contents.

Oracle deinstall tool successfully cleaned up temporary directories.

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

############# ORACLE DEINSTALL TOOL END #############

结束。

在不删除的节点2的Grid_home/bin下,root用户,执行:

[root@jsbp242306 ~]# /oracle/app/12.2.0/grid/bin/crsctl delete node -n jsbp242305

CRS-4661: Node jsbp242305 successfully deleted.

验证是否被删除成功:

[grid@jsbp242306 ~]$ cluvfy stage -post nodedel -n jsbp242305

Verifying Node Removal ...

Verifying CRS Integrity ...PASSED

Verifying Clusterware Version Consistency ...PASSED

Verifying Node Removal ...PASSED

Post-check for node removal was successful.

CVU operation performed: stage -post nodedel

Date: Apr 16, 2018 10:36:21 AM

CVU home: /oracle/app/12.2.0/grid/

User: grid

验证被删除节点vip资源是否存在:

$ srvctl config vip -node jsbp242305

vip资源状态

ora.jsbp242305.vip

1 ONLINE INTERMEDIATE jsbp242306 FAILED OVER,STABLE

如果vip资源存在,删掉它:

$ srvctl stop vip -vip jsbp242305-vip

$ srvctl remove vip -vip jsbp242305-vip

删除vip资源需要root用户权限:

[grid@jsbp242306 addnode]$ srvctl remove vip -vip jsbp242305-vip

Please confirm that you intend to remove the VIPs jsbp242305-vip (y/[n]) y

PRKO-2381 : VIP jsbp242305-vip is not removed successfully:

PRCN-2018 : Current user grid is not a privileged user

[grid@jsbp242306 addnode]$ which srvctl

/oracle/app/12.2.0/grid/bin/srvctl

[grid@jsbp242306 addnode]$ logout

[root@jsbp242306 ~]# /oracle/app/12.2.0/grid/bin/srvctl remove vip -vip jsbp242305-vip

Please confirm that you intend to remove the VIPs jsbp242305-vip (y/[n]) y

再次检查vip资源状态:

ora.jsbp242305.vip

1 OFFLINE OFFLINE STABLE

之前,我以为这个节点删除之后还要添加回来,就没有删除,后面添加节点时报错,还是要删除的。

##########增加节点##################

用addnode.sh增加节点

2.在存在节点,验证要增加的节点和集群一致性:

$ cluvfy stage -pre nodeadd -n jsbp242305 [-fixup] [-verbose]

如果验证失败,可以加fixup选项来修复集群.

[grid@jsbp242306 ~]$ cluvfy stage -pre nodeadd -n jsbp242305

Verifying Physical Memory ...PASSED

Verifying Available Physical Memory ...PASSED

Verifying Swap Size ...PASSED

Verifying Free Space: jsbp242306:/usr ...PASSED

Verifying Free Space: jsbp242306:/var ...PASSED

Verifying Free Space: jsbp242306:/etc,jsbp242306:/sbin ...PASSED

Verifying Free Space: jsbp242306:/oracle/app/12.2.0/grid ...PASSED

Verifying Free Space: jsbp242306:/tmp ...PASSED

Verifying Free Space: jsbp242305:/usr ...PASSED

Verifying Free Space: jsbp242305:/var ...PASSED

Verifying Free Space: jsbp242305:/etc,jsbp242305:/sbin ...PASSED

Verifying Free Space: jsbp242305:/oracle/app/12.2.0/grid ...PASSED

Verifying Free Space: jsbp242305:/tmp ...PASSED

Verifying User Existence: oracle ...

Verifying Users With Same UID: 1101 ...PASSED

Verifying User Existence: oracle ...PASSED

Verifying User Existence: grid ...

Verifying Users With Same UID: 1100 ...PASSED

Verifying User Existence: grid ...PASSED

Verifying User Existence: root ...

Verifying Users With Same UID: 0 ...PASSED

Verifying User Existence: root ...PASSED

Verifying Group Existence: asmadmin ...PASSED

Verifying Group Existence: asmoper ...PASSED

Verifying Group Existence: asmdba ...PASSED

Verifying Group Existence: oinstall ...PASSED

Verifying Group Membership: oinstall ...PASSED

Verifying Group Membership: asmdba ...PASSED

Verifying Group Membership: asmadmin ...PASSED

Verifying Group Membership: asmoper ...PASSED

Verifying Run Level ...PASSED

Verifying Architecture ...PASSED

Verifying OS Kernel Version ...PASSED

Verifying OS Kernel Parameter: semmsl ...PASSED

Verifying OS Kernel Parameter: semmns ...PASSED

Verifying OS Kernel Parameter: semopm ...PASSED

Verifying OS Kernel Parameter: semmni ...PASSED

Verifying OS Kernel Parameter: shmmax ...PASSED

Verifying OS Kernel Parameter: shmmni ...PASSED

Verifying OS Kernel Parameter: shmall ...PASSED

Verifying OS Kernel Parameter: file-max ...PASSED

Verifying OS Kernel Parameter: ip_local_port_range ...PASSED

Verifying OS Kernel Parameter: rmem_default ...PASSED

Verifying OS Kernel Parameter: rmem_max ...PASSED

Verifying OS Kernel Parameter: wmem_default ...PASSED

Verifying OS Kernel Parameter: wmem_max ...PASSED

Verifying OS Kernel Parameter: aio-max-nr ...PASSED

Verifying OS Kernel Parameter: panic_on_oops ...PASSED

Verifying Package: binutils-2.20.51.0.2 ...PASSED

Verifying Package: compat-libcap1-1.10 ...PASSED

Verifying Package: compat-libstdc++-33-3.2.3 (x86_64) ...PASSED

Verifying Package: libgcc-4.4.7 (x86_64) ...PASSED

Verifying Package: libstdc++-4.4.7 (x86_64) ...PASSED

Verifying Package: libstdc++-devel-4.4.7 (x86_64) ...PASSED

Verifying Package: sysstat-9.0.4 ...PASSED

Verifying Package: gcc-4.4.7 ...PASSED

Verifying Package: gcc-c++-4.4.7 ...PASSED

Verifying Package: ksh ...PASSED

Verifying Package: make-3.81 ...PASSED

Verifying Package: glibc-2.12 (x86_64) ...PASSED

Verifying Package: glibc-devel-2.12 (x86_64) ...PASSED

Verifying Package: libaio-0.3.107 (x86_64) ...PASSED

Verifying Package: libaio-devel-0.3.107 (x86_64) ...PASSED

Verifying Package: nfs-utils-1.2.3-15 ...PASSED

Verifying Package: smartmontools-5.43-1 ...PASSED

Verifying Package: net-tools-1.60-110 ...PASSED

Verifying Users With Same UID: 0 ...PASSED

Verifying Current Group ID ...PASSED

Verifying Root user consistency ...PASSED

Verifying Package: cvuqdisk-1.0.10-1 ...FAILED (PRVG-11550)

Verifying Node Addition ...

Verifying CRS Integrity ...PASSED

Verifying Clusterware Version Consistency ...PASSED

Verifying '/oracle/app/12.2.0/grid' ...PASSED

Verifying Node Addition ...PASSED

Verifying Node Connectivity ...

Verifying Hosts File ...PASSED

Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED

Verifying subnet mask consistency for subnet "2.1.176.0" ...PASSED

Verifying subnet mask consistency for subnet "10.11.176.0" ...PASSED

Verifying Node Connectivity ...PASSED

Verifying Multicast check ...PASSED

Verifying ASM Integrity ...

Verifying Node Connectivity ...

Verifying Hosts File ...PASSED

Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED

Verifying subnet mask consistency for subnet "2.1.176.0" ...PASSED

Verifying subnet mask consistency for subnet "10.11.176.0" ...PASSED

Verifying Node Connectivity ...PASSED

Verifying ASM Integrity ...PASSED

Verifying Device Checks for ASM ...

Verifying ASM device sharedness check ...

Verifying Package: cvuqdisk-1.0.10-1 ...FAILED (PRVG-11550)

Verifying ASM device sharedness check ...FAILED (PRVG-11550)

Verifying Access Control List check ...PASSED

Verifying Device Checks for ASM ...FAILED (PRVG-11550)

Verifying Database home availability ...PASSED

Verifying OCR Integrity ...PASSED

Verifying Time zone consistency ...PASSED

Verifying Network Time Protocol (NTP) ...

Verifying '/etc/ntp.conf' ...PASSED

Verifying '/var/run/ntpd.pid' ...PASSED

Verifying Daemon 'ntpd' ...PASSED

Verifying NTP daemon or service using UDP port 123 ...PASSED

Verifying NTP daemon is synchronized with at least one external time source ...PASSED

Verifying Network Time Protocol (NTP) ...PASSED

Verifying User Not In Group "root": grid ...PASSED

Verifying resolv.conf Integrity ...

Verifying (Linux) resolv.conf Integrity ...FAILED (PRVG-13159)

Verifying resolv.conf Integrity ...FAILED (PRVG-13159)

Verifying DNS/NIS name service ...PASSED

Verifying User Equivalence ...PASSED

Verifying /dev/shm mounted as temporary file system ...PASSED

Verifying /boot mount ...PASSED

Verifying zeroconf check ...PASSED

Pre-check for node addition was unsuccessful on all the nodes.

Failures were encountered during execution of CVU verification request "stage -pre nodeadd".

Verifying Package: cvuqdisk-1.0.10-1 ...FAILED

jsbp242305: PRVG-11550 : Package "cvuqdisk" is missing on node "jsbp242305"

Verifying Device Checks for ASM ...FAILED

Verifying ASM device sharedness check ...FAILED

Verifying Package: cvuqdisk-1.0.10-1 ...FAILED

jsbp242305: PRVG-11550 : Package "cvuqdisk" is missing on node "jsbp242305"

Verifying resolv.conf Integrity ...FAILED

jsbp242306: PRVG-13159 : On node "jsbp242306" the file "/etc/resolv.conf" could

not be parsed because the file is empty.

jsbp242306: Check for integrity of file "/etc/resolv.conf" failed

jsbp242305: PRVG-13159 : On node "jsbp242305" the file "/etc/resolv.conf" could

not be parsed because the file is empty.

jsbp242305: Check for integrity of file "/etc/resolv.conf" failed

Verifying (Linux) resolv.conf Integrity ...FAILED

jsbp242306: PRVG-13159 : On node "jsbp242306" the file "/etc/resolv.conf"

could not be parsed because the file is empty.

jsbp242305: PRVG-13159 : On node "jsbp242305" the file "/etc/resolv.conf"

could not be parsed because the file is empty.

CVU operation performed: stage -pre nodeadd

Date: Apr 16, 2018 10:52:03 AM

CVU home: /oracle/app/12.2.0/grid/

User: grid

可以看到,报错里只需关注cvuqdisk这个安装包缺失即可,手动安装一下:

[root@jsbp242305 grid]# rpm -ivh cvuqdisk-1.0.10-1.rpm

Preparing... ########################################### [100%]

1:cvuqdisk ########################################### [100%]

/etc/resolv.conf这个不用理会。

3.To extend the Oracle Grid Infrastructure home to the node3, navigate to the Grid_home/addnode directory on node1 and run the addnode.sh script as the user that installed Oracle Clusterware.

在存活节点的Grid_home/addnode目录下,用grid用户执行:

cd /oracle/app/12.2.0/grid/addnode

./addnode.sh --交互模式

./addnode.sh -silent "CLUSTER_NEW_NODES={jsbp242305}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={jsbp242305-vip}" --静默模式

[grid@jsbp242306 addnode]$ cd /oracle/app/12.2.0/grid/addnode

[grid@jsbp242306 addnode]$ ./addnode.sh -silent "CLUSTER_NEW_NODES={jsbp242305}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={jsbp242305-vip}"

[FATAL] [INS-43045] CLUSTER_NEW_NODE_ROLES parameter was not specified.

CAUSE: The CLUSTER_NEW_NODE_ROLES parameter was not provided for performing addnode operation.

ACTION: Ensure that CLUSTER_NEW_NODE_ROLES parameter is passed. Refer to installation guide for more information on the syntax of passing CLUSTER_NEW_VIRTUAL_HOSTNAMES parameter.

报错,要指定CLUSTER_NEW_NODE_ROLES

./addnode.sh -silent "CLUSTER_NEW_NODES={jsbp242305}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={jsbp242305-vip}" "CLUSTER_NEW_NODE_ROLES={HUB}"

再次尝试:

[grid@jsbp242306 addnode]$ ./addnode.sh -silent "CLUSTER_NEW_NODES={jsbp242305}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={jsbp242305-vip}" "CLUSTER_NEW_NODE_ROLES={HUB}"

[FATAL] [INS-40912] Virtual host name: jsbp242305-vip is assigned to another system on the network.

CAUSE: One or more virtual host names appeared to be assigned to another system on the network.

ACTION: Ensure that the virtual host names assigned to each of the nodes in the cluster are not currently in use, and the IP addresses are registered to the domain name you want to use as the virtual host name.

报错:之前删除vip没有成功的缘故。删除vip之后再次尝试:

还是报错,查看报错日志好像是因为之前忽略的resolve.conf,重命名掉两边的resolve.conf文件:

[root@jsbp242306 ~]# mv /etc/resolv.conf /etc/resolv.conf.bak

[root@jsbp242305 ~]# mv /etc/resolv.conf /etc/resolv.conf.bak

再次执行:

[grid@jsbp242306 ~]$ cd /oracle/app/12.2.0/grid/addnode

[grid@jsbp242306 addnode]$ ./addnode.sh -silent "CLUSTER_NEW_NODES={jsbp242305}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={jsbp242305-vip}" "CLUSTER_NEW_NODE_ROLES={HUB}"

[WARNING] [INS-40111] The specified Oracle Base location is not empty on following nodes: [jsbp242305].

ACTION: Specify an empty location for Oracle Base.

Prepare Configuration in progress.

Prepare Configuration successful.

.................................................. 7% Done.

Copy Files to Remote Nodes in progress.

.................................................. 12% Done.

.................................................. 17% Done.

..............................

Copy Files to Remote Nodes successful.

You can find the log of this install session at:

/oracle/app/oraInventory/logs/addNodeActions2018-04-16_02-23-44-PM.log

Instantiate files in progress.

Instantiate files successful.

.................................................. 49% Done.

Saving cluster inventory in progress.

.................................................. 83% Done.

Saving cluster inventory successful.

The Cluster Node Addition of /oracle/app/12.2.0/grid was successful.

Please check '/oracle/app/12.2.0/grid/inventory/silentInstall2018-04-16_2-23-43-PM.log' for more details.

Setup Oracle Base in progress.

Setup Oracle Base successful.

.................................................. 90% Done.

Update Inventory in progress.

Update Inventory successful.

.................................................. 97% Done.

As a root user, execute the following script(s):

1. /oracle/app/12.2.0/grid/root.sh

Execute /oracle/app/12.2.0/grid/root.sh on the following nodes:

[jsbp242305]

The scripts can be executed in parallel on all the nodes.

.................................................. 100% Done.

Successfully Setup Software.

按照提示,用root在添加的节点上跑下面的脚本:

/oracle/app/12.2.0/grid/root.sh

修改$ORACLE_HOME/network/admin/samples权限:

[grid@jsbp242305 admin]$ chmod 750 samples

6.Run the Grid_home/root.sh script on the node3 as root and run the subsequent script, as instructed.

用root用户,按照提示,运行Grid_home/root.sh。

提示:

如果上面跑过root.sh,那么不用运行了。

再次检查加入的节点是否有问题:

$ cluvfy stage -post nodeadd -n jsbp242305 [-verbose]

将resolve文件改回来:

[root@jsbp242306 ~]# mv /etc/resolv.conf.bak /etc/resolv.conf

[root@jsbp242305 ~]# mv /etc/resolv.conf.bak /etc/resolv.conf

提示:

如果是administrator-managed Oracle RAC database,那么可能需要用dbca来增加数据库实例。

附录12.2官方文档:
删节点:

7.2.2 Deleting a Cluster Node on Linux and UNIX Systems

Delete a node from a cluster on Linux and UNIX systems.

Note:

See Also:Oracle Real Application Clusters Administration and Deployment Guide for more information about deleting an Oracle RAC database instance

To delete a node from a cluster:

  1. Ensure that Grid_home correctly specifies the full directory path for the Oracle Clusterware home on each node, where Grid_home is the location of the installed Oracle Clusterware software.

  2. Run the following command as either root or the user that installed Oracle Clusterware to determine whether the node you want to delete is active and whether it is pinned:

$ olsnodes -s -t

If the node is pinned, then run the crsctl unpin css command. Otherwise, proceed to the next step.

  1. On the node that you are deleting, depending on whether you have a shared or local Oracle home, complete one of the following procedures as the user that installed Oracle Clusterware:

$ Grid_home/deinstall/deinstall -local

Caution:

Run the following command to deconfigure Oracle Clusterware:

$ Grid_home/crs/install/rootcrs.sh -deconfig -force

Run the following command from the Grid_home/oui/bin directory to detach the Grid home:

$ ./runInstaller -detachHome ORACLE_HOME=Grid_home -silent -local

Manually delete any configuration files, as prompted by the installation utility.

  1. From any node that you are not deleting, run the following command from the Grid_home/bin directory as root to delete the node from the cluster:

# crsctl delete node -n node_to_be_deleted

  1. Run the following CVU command to verify that the specified nodes have been successfully deleted from the cluster:

$ cluvfy stage -post nodedel -n node_list [-verbose]

  1. If you remove a cluster node on which Oracle Clusterware is down, then determine whether the VIP for the deleted node still exists, as follows:

$ srvctl config vip -node deleted_node_name

If the VIP still exists, then delete it, as follows:

$ srvctl stop vip -node deleted_node_name $ srvctl remove vip -vip deleted_vip_name


增加节点:

7.2.1 Adding a Cluster Node on Linux and UNIX Systems

There are three methods you can use to add a node to your cluster.

Using Rapid Home Provisioning to Add a Node

If you have a Rapid Home Provisioning Server, then you can use Rapid Home Provisioning to add a node to a cluster with one command, as shown in the following example:

$ rhpctl addnode gihome -client rhpclient -newnodes clientnode2:clientnode2-vip -root

The preceding example adds a node named clientnode2 with VIP clientnode2-vip to the Rapid Home Provisioning Client named rhpclient, using root credentials (login for the node you are adding).

Using Oracle Grid Infrastructure Installer to Add a Node

If you do you not want to use Rapid Home Provisioning to add a node to the cluster, then you can use the Oracle Grid Infrastructure installer to accomplish the task.

To add a node to the cluster using the Oracle Grid Infrastructure installer

  1. Run ./gridsetup.sh to start the installer.

  2. On the Select Configuration Option page, select Add more nodes to the cluster.

  3. On the Cluster Node Information page, click Add... to provide information for nodes you want to add.

  4. When the verification process finishes on the Perform Prerequisite Checks page, check the summary and then click Install.

Using addnode.sh to Add Nodes

This procedure assumes that:

To add a node:

  1. Ensure that you have successfully installed Oracle Clusterware on at least one node in your cluster environment. To perform the following procedure, Grid_home must identify your successfully installed Oracle Clusterware home.

    See Also:

    Oracle Grid Infrastructure Installation and Upgrade Guide for Oracle Clusterware installation instructions

  2. Verify the integrity of the cluster and node3:

    $ cluvfy stage -pre nodeadd -n node3 [-fixup] [-verbose]

    You can specify the -fixup option to attempt to fix the cluster or node if the verification fails.

  3. To extend the Oracle Grid Infrastructure home to the node3, navigate to the Grid_home/addnode directory on node1 and run the addnode.sh script as the user that installed Oracle Clusterware.

    To run addnode.sh in interactive mode, run addnode.sh from Grid_home/addnode.

    You can also run addnode.sh in silent mode for both Oracle Clusterware standard clusters and Oracle Flex Clusters.

    For an Oracle Clusterware standard cluster:

    ./addnode.sh -silent "CLUSTER_NEW_NODES={node3}" "CLUSTER_NEW_VIRTUAL_
      HOSTNAMES={node3-vip}"

    If you are adding node3 to an Oracle Flex Cluster, then you can specify the node role on the command line, as follows:

    ./addnode.sh -silent "CLUSTER_NEW_NODES={node3}" "CLUSTER_NEW_VIRTUAL_
      HOSTNAMES={node3-vip}" "CLUSTER_NEW_NODE_ROLES={hub}"

    Notes:

    If you are adding node3 to an extended cluster, then you can specify the node role on the command line, as follows:

    ./addnode.sh -silent "CLUSTER_NEW_NODES={node3,node4}" "CLUSTER_NEW_NODE_SITES={site1,site2}"
  4. If prompted, then run the orainstRoot.sh script as root to populate the /etc/oraInst.loc file with the location of the central inventory. For example:

    # /opt/oracle/oraInventory/orainstRoot.sh
  5. If you have an Oracle RAC or Oracle RAC One Node database configured on the cluster and you have a local Oracle home, then do the following to extend the Oracle database home to node3:

    If you have a shared Oracle home that is shared using Oracle Automatic Storage Management Cluster File System (Oracle ACFS), then do the following to extend the Oracle database home to node3:

    If you have a shared Oracle home on a shared file system that is not Oracle ACFS, then you must first create a mount point for the Oracle RAC database home on the target node, mount and attach the Oracle RAC database home, and update the Oracle Inventory, as follows:

    Note:

    After running addnode.sh, ensure the Grid_home/network/admin/samples directory has permissions set to 750.

    1. Run the srvctl config database -db db_name command on an existing node in the cluster to obtain the mount point information.

    2. Run the following command as root on node3 to create the mount point:

      # mkdir -p mount_point_path
    3. Mount the file system that hosts the Oracle RAC database home.

    4. Run the following command as the user that installed Oracle RAC from the Oracle_home/oui/bin directory on the node you are adding to add the Oracle RAC database home:

      $ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER
      _NODES={local_node_name}" LOCAL_NODE="node_name" ORACLE_HOME_NAME="home_name" -cfs

      Navigate to the Oracle_home/addnode directory on node1 and run the addnode.sh script as the user that installed Oracle RAC using the following syntax:

      $ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"

      Note:

      Use the -noCopy option because the Oracle home on the destination node is already fully populated with software.

    5. Run the Grid_home/root.sh script on node3 as root, where Grid_home is the Oracle Grid Infrastructure home.

    6. Run the following command as the user that installed Oracle RAC from the Oracle_home/oui/bin directory on the node you are adding to add the Oracle RAC database home:

      $ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER_NODES={node3}"
      LOCAL_NODE="node3" ORACLE_HOME_NAME="home_name" -cfs
    7. Navigate to the Oracle_home/addnode directory on node1 and run the addnode.sh script as the user that installed Oracle RAC using the following syntax:

      $ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"

      Note:

      Use the -noCopy option because the Oracle home on the destination node is already fully populated with software.

    8. Navigate to the Oracle_home/addnode directory on node1 and run the addnode.sh script as the user that installed Oracle RAC using the following syntax:

      $ ./addnode.sh "CLUSTER_NEW_NODES={node3}"
    9. Run the Oracle_home/root.sh script on node3 as root, where Oracle_home is the Oracle RAC home.

  6. Run the Grid_home/root.sh script on the node3 as root and run the subsequent script, as instructed.

    Note:

  7. Start the Oracle ACFS resource on the new node by running the following command as root from the Grid_home/bin directory:

    # srvctl start filesystem -device volume_device_name -node node3

    Note:

    Ensure the Oracle ACFS resources, including Oracle ACFS registry resource and Oracle ACFS file system resource where the Oracle home is located, are online on the newly added node.

  8. Run the following CVU command as the user that installed Oracle Clusterware to check cluster integrity. This command verifies that any number of specified nodes has been successfully added to the cluster at the network, shared storage, and clusterware levels:

    $ cluvfy stage -post nodeadd -n node3 [-verbose]

Check whether either a policy-managed or administrator-managed Oracle RAC database is configured to run on node3 (the newly added node). If you configured an administrator-managed Oracle RAC database, you may need to use DBCA to add an instance to the database to run on this newly added node.

感谢你能够认真阅读完这篇文章,希望小编分享的“oracle12cR2如何增加节点删除节点挽救集群”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. raid磁盘阵列OFFLINE后如何操作挽救数据
  2. greenplum集群安装与增加节点生产环境实战

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle

上一篇:数据库中如何解决删除归档日志报RMAN-08137错误

下一篇:Datapump expdp和impdp中parallel参数分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》