oracle 11gR2 rac删除节点和增加节点

2024-04-20 18:08

本文主要是介绍oracle 11gR2 rac删除节点和增加节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



你兴趣所在的地方,也就是你能力所在的地方。------------卡耐基




环境:

    双节点RAC,其中一个节点因为本地盘损坏,导致系统完全损坏,系统需要重新安装

    操作系统:OracleLinux 6.5 x86_64


1,重新安装操作系统



2,重新配置服务器环境

   配置主机名

   vi /etc/hosts


   配置网络

   vi /etc/sysconfig/network

   vi /etc/sysconfig/network-script/ifcfg-eth0和/ifcfg-eth1

   

   修改参数

   vi /etc/pam.d/login

   vi /etc/security/limits.conf

   vi /etc/sysctl.conf


   关闭防火墙

   service iptables off

   chkconfig iptables off


   关闭selinux

   Selinux=disable


   关闭NetWorkerManager

   service NetworkerManager stop

   chkconfig NetworkerManager off


   配置用户信息

   groupadd -g 501 oinstall

   groupadd -g 502 dba

   groupadd -g 503 oper

   groupadd -g 504 asmadmin

   groupadd -g 505 asmoper

   groupadd -g 506 asmdba


   useradd -g oinstall -G dba,asmdba,oper,asmadmin,asmoper oracle

   passwd oracle

   

   useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

   passwd oracle


   配置信任关系(保留节点和已损修复节点间进行)

   oracle用户和grid用户都需要执行                              

     a,生产公钥和私钥(两个节点都执行)                                                                                     

       su - oracle或者grid                                     

       mkdir ~/.ssh                                            

       ssh-keygen -t rsa                                       

       ssh-keygen -t dsa                                       

                                                               

     b,在保留节点上执行以下操作                                 

       cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys         

       cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys         

       ssh rac2 cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys

       ssh rac2 cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys 

       ssh rac1 cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys

       ssh rac1 cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys

       scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys  

                                                            

     c,在oracle和grid用户下面分别执行检验操作                 

       ssh rac1 date                                           

       ssh rac1-priv date                                      

       ssh rac2 date                                           

       ssh rac2-priv date



3,备份OCR

    root用户下执行:

    检测备份

    $GRID_HOME/bin/ocrconfig -showbackup

    

    手工备份

    # GRID_HOME/bin/ocrconfig -manualbackup     

    # GRID_HOME/bin/ocrdump /tmp/ocrdump_ocr.bak 



4,删除实例

    a,如果是正常删除节点,那么在要删除的节点上执行操作

        sqlplus / as sysdba

        shutdown immediate

       如果是节点损坏,则没有必要进行该操作

       

       在保留节点上执行:

        alter database disable thread 2;

       

    b,在保留节点上执行instance删除

        如果有图形界面支持,则可以运行dbca进行删除

        如果没有则采取静默删除

         dbca -silent -deleteInstance -nodeList db01 -gdbName newtbdb -instanceName db1 -sysDBAUserName sys -sysDBAPassword oracle

         Deleting instance                                                                       

         1% complete                                                                                                                 

         2% complete                                                                             

         6% complete                                                                             

         13% complete                                                                            

         20% complete                                                                            

         26% complete                                                                            

         33% complete                                                                            

         40% complete                                                                            

         46% complete                                                                            

         53% complete                                                                            

         60% complete                                                                            

         66% complete                                                                            

         Completing instance management.                                                         

         100% complete                                                                           

         Look at the log file "/oracle/app/oracle/cfgtoollogs/dbca/orcl.log" for further details.


    c,确认实例删除完成

        su - grid

        srvctl config -d newtbdb



5,RAC层面删除节点

    a,保留节点上执行

        srvctl status listener

        srvctl disable listener -n db01

        srvctl stop listener -n db01

        

    b,移除oracle home

        如果是正常删除节点,需要在被删除节点上执行一下操作,如果是损坏则不需要

         su - oracle

         cd $ORACLE_HOME/oui/bin

         ./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={db01(代表要删除的节点)}" -local

         卸载oracle db,删除oracle home

         $ORACLE_HOME/deinstall/deinstall -local

         

        保留节点上更新节点列表信息

         su - oracle

         cd $ORACLE_HOME/oui/bin

         ./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={db02(代表保留节点)}"


6,Grid Infrastructure层面删除节点(删除grid home)

    a,确认节点状态是否是Unpinned

        su - grid

        $olsnodes -s -t

        如果是pinned,请设为Unpinned

        crsctl unpin css -n db01

        

    b,在被删除节点禁用clusterware的application and daemons

       被删除节点上执行

       su - root

       cd $GRID_HOME/crs/install

       #./rootcrs.pl -deconfig -force

     

    c,在保留节点上进行节点删除

       su - root

       #crsctl delete node -n db01

       

    d,被删除节点更新节点信息

       su - grid

       cd $GRID_HOME/oui/bin

       ./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES={zdnewtbdb01}" CRS=TRUE -silent -local

    

    e,被删除节点上卸载GI,删除grid home

       su - grid

       cd $GRID_HOME/deinstall

       ./deinstall -local

    

    f,保留节点更新节点信息

       su - grid

       cd $GRID_HOME/oui/bin

       ./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES={zdnewtbdb01}" CRS=TRUE -silent   

       

    g,在保留节点上确认节点是否删除

       su - grid

       cluvfy stage -post nodedel -n zdnewtbdb01

       


节点增加

注意点:删除节点后,如果新增加的节点主机名和删除节点一样,可能会遇到如下错误:

   SEVERE:由于无法从命令行或响应文件中获取CLUSTER_NEW_NODES。。。。。。。。。。。。。

该问题是由于可能配置信息未完全清除,不能进行使用,可以换取另外一个nodename  

7,确保环境是否一样

    a,确保所有节点用户组,用户id一致

       id oracle

       id grid

       

    b,检查环境(用户grid和oracle下面都执行)

       cluvfy stage -pre nodeadd -n db03 -fixup -verbose

       cluvfy stage -post hwos -n db03

       cluvfy comp peer -refnode db02 -n db03 -orainv oinstall -osdba oinstall-verbose

       

8,Grid Infrastructure层面添加新节点

    a,执行添加节点,拷贝软件信息

       su - grid

       cd $ORACLE_HOME/oui/bin

       export IGNORE_PREADDNODE_CHECKS=Y

       ./addNode.sh -silent "CLUSTER_NEW_NODES={db03}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={db03-vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={db03-priv}"

       

    b,新增加节点上运行提示的脚本

       su - root

       sh /opt/oracle/app/oraInventory/oraInstRoot.sh

       sh $ORACLE_HOME/root.sh


9,RAC层面添加节点

    a,保留节点上执行添加节点,拷贝软件信息

       su - oracle

       cd $ORACLE_HOME/oui/bin

       export IGNORE_PREADDNODE_CHECKS=Y

       ./addNode.sh -silent "CLUSTER_NEW_NODES={db03}"

       

    b,新增加节点上运行提示的脚本

       su - root

       cd $ORACLE_HOME

       sh root.sh

       

10,新节点添加实例

    如果有图形界面支持,则运行dbca进行添加,否则:

       su - oracle

       dbca -silent -addInstance -nodeList db03 -gdbName newtbdb -instanceName db1 -sysDBAUserName sys -sysDBAPassword 123456


11,检查是否成功

    select * from gv$instance;



喜欢的朋友可以扫描以下二维码进行关注,公众号将每天更新文章:






这篇关于oracle 11gR2 rac删除节点和增加节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920960

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

《SQLServer清除日志文件ERRORLOG和删除tempdb.mdf》数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止SQLSe... 目录缩减 ERRORLOG 文件(停止服务后)停止 SQL Server 服务:找到错误日志文件:删除

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa