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

相关文章

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI