oracle RAC节点重构

一、清除集群上二节点的节点信息
1、删除实例
dbca或静默:

[oracle@rac1 ~]$ dbca -silent -deleteinstance -nodelist rac2 -gdbname orcl -instancename orcl2 -sysdbausername sys -sysdbapassword oracle

dbca-实例管理-删除节实例-选择服务输入密码-选择inactive实例-确认删除
2、查看数据库实例情况

[oracle@rac1 ~]$ srvctl config database -d orcl
Database unique name: orcl
Database name: orcl
Oracle home: /oracle/app/product/11.2.0/db_1
Oracle user: oracle
Spfile: +DATA/orcl/spfileorcl.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: orcl
Database instances: orcl1
Disk Groups: DATA
Services: 
Database is administrator managedsqlplus / as sysdba
SQL> select inst_id,instance_name from gv$instance;INST_ID INSTANCE_NAME
----------------------------------------------------------1 orcl1

3、在保留节点使用oracle用户更新集群列表

[oracle@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME  "CLUSTER_NODES={rac1}"       Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB.   Actual 8191 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /oracle/oraInventory
'UpdateNodeList' was successful.

4、移除集群中二节点的VIP
停止二节点VIP:

cd $GRID_HOME/bin
[root@rac1 bin]# ./srvctl stop vip -i rac2-vip

删除二节点VIP:

[root@rac1 bin]#./srvctl remove vip -i rac2-vip -f

5、查看节点状态
查看集群状态

[grid@rac1 ~]$crs_stat -t
[grid@rac1 ~]$crsctl stat res -t

可以看到其中关于二节点的VIP信息已被删除

查看集群节点信息

[grid@rac1 ~]$ olsnodes -s -t
rac1    Active  Unpinned
rac2    Inactive        Unpinned

(如果二节点是ping状态,需要执行这步:
[grid@rac1 ~]$crsctl unpin css -n rac2)

6、删除节点

[root@rac1 bin]# $GRID_HOME/bin/crsctl delete node -n rac2
CRS-4661: Node rac2 successfully deleted.

7、更新GI的inventory信息

su - gird
cd $ORACLE_HOME/oui/bin
[grid@rac1 bin]$ ./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac1}" CRS=TRUE  -localStarting Oracle Universal Installer...Checking swap space: must be greater than 500 MB.   Actual 8191 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /oracle/oraInventory
'UpdateNodeList' was successful.

二:重新添加二节点到集群中
1、前提条件
(1):添加相应的用户和组,用户及用户组ID相同
(2):配置 hosts文件 ,新增节点和原有都配置为相同
(3):配置系统参数,用户参数和原有节点一样,配置网络
(4):创建相应的目录,并保证权限对应(根据实际情况创建目录,非常重要)

  mkdir /oracle/appmkdir /oracle/grid/crs_1mkdir /oracle/gridbasemkdir /oracle/oraInventory chown oracle:oinstall /oracle/appchown grid:oinstall /oracle/grid/chown grid:oinstall /oracle/grid/crs_1chown grid:oinstall /oracle/gridbasechown grid:oinstall /oracle/oraInventorychmod 770 /oracle/oraInventory

5)检查多路径,盘权限

2、配置用户之间的SSH、安装集群rpm包:
到grid软件解压目录下:

[root@rac1 sshsetup]# cd /oracle/grid/grid/sshsetup

grid用户的ssh:

./sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced –noPromptPassphrase

oracle用户的ssh:

./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced –noPromptPassphrase

将grid软件目录下的rpm包传到二节点:

[grid@rac1 ~]$scp cvuqdisk-1.0.9-1.rpm  192.168.40.102:/home/grid

二节点安装rpm包:

[grid@rac2 ~]$ rpm-ivh cvuqdisk-1.0.9-1.rpm

若你没有oinstall组,安装可能报错。此时手动export DISKGROUP=dba

3、检查rac2是否满足rac安装条件
1.检查网络和存储:

[grid@racdb1 ~]$ cluvfy stage -post hwos -n rac2
Check: TCP connectivity of subnet "10.0.0.0"Source                          Destination                     Connected?      ------------------------------  ------------------------------  ----------------rac1:192.168.40.101             rac2:10.0.0.3                   failed          ERROR: 
PRVF-7617 : Node connectivity between "rac1 : 192.168.40.101" and "rac2 : 10.0.0.3" failed
Result: TCP connectivity check failed for subnet "10.0.0.0"Result: Node connectivity check failed
若出现上述报错,可忽略。

2.检查rpm包、磁盘空间等:

[grid@racdb1 ~]$ cluvfy comp peer  -n rac2

3.整体检查

 [grid@racdb1 ~]$ cluvfy stage -pre nodeadd -n rac2 -fixup -verbose

4、添加节点
grid用户在grid_home/oui/bin目录下执行:
忽略addnote的时候进行的自检(因为我们不使用DNS和NTP,若addnode的时候自检不通过,则无法增加节点)
执行前删除日志小文件,特别是审计日志、trace日志,不然复制很慢

export IGNORE_PREADDNODE_CHECKS=Y
[grid@rac1 bin]$ /oracle/grid/crs_1/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={rac2}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac2-vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={rac2-priv}"
Each script in the list below is followed by a list of nodes.
/oracle/oraInventory/orainstRoot.sh #On nodes rac2
/oracle/grid/crs_1/root.sh #On nodes rac2
To execute the configuration scripts:1. Open a terminal window2. Log in as "root"3. Run the scripts in each cluster nodeThe Cluster Node Addition of /oracle/grid/crs_1 was unsuccessful.
Please check '/tmp/silentInstall.log' for more details.跑以上提示脚本
(1[root@rac2 oracle]# /oracle/oraInventory/orainstRoot.sh2[root@rac2 oracle]# /oracle/grid/crs_1/root.shPerforming root user operation for Oracle 11g The following environment variables are set as:ORACLE_OWNER= gridORACLE_HOME=  /oracle/grid/crs_1Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ...Copying oraenv to /usr/local/bin ...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 root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /oracle/grid/crs_1/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to upstart
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
PRKO-2190 : VIP exists for node rac2, VIP name rac2-vip
PRKO-2420 : VIP is already started on node(s): rac2
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

5、添加新节点数据库:(在一节点操作)
oracle用户:

cd $ORACLE_HOME/oui/bin
[oracle@rac1 bin]$./addNode.sh -silent "CLUSTER_NEW_NODES={rac2}"

二节点运行脚本:

[root@rac2 oracle]# /oracle/app/product/11.2.0/db_1/root.sh
Performing root user operation for Oracle 11g The following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME=  /oracle/app/product/11.2.0/db_1Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.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 root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

6、创建二节点实例(在一节点操作)
Dg库需要修改db_unique_name和db_name一致,不然会报错,等加好实例再把db_unique_name修改回去

[oracle@rac1 bin]$ dbca -silent -addInstance -nodeList rac2 -gdbName orcl -instanceName orcl2 -sysDBAUserName sys -sysDBAPassword "oracle"
Adding instance
1% complete
2% complete
6% complete
13% complete
20% complete
27% complete
28% complete
34% complete
41% complete
48% complete
54% complete
66% complete
Completing instance management.
76% complete
100% complete
Look at the log file "/oracle/app/cfgtoollogs/dbca/orcl/orcl.log" for further details.

7、验证集群状态等

[grid@rac2 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    rac1        
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora.OCRVOT.dg  ora....up.type ONLINE    ONLINE    rac1        
ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        
ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac1        
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac1        
ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
ora.orcl.db    ora....se.type ONLINE    ONLINE    rac1        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    OFFLINE   OFFLINE               
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    OFFLINE   OFFLINE               
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1        
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1        [grid@rac2 ~]$ srvctl status db -d orcl
Instance orcl1 is running on node rac1
Instance orcl2 is running on node rac2SQL> select inst_id,status from gv$instance;INST_ID STATUS
---------- ------------3 OPEN1 OPENSQL> select open_mode from v$database;OPEN_MODE
--------------------
READ WRITE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于小波神经网络的数据分类算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 1.程序功能描述 基于小波神经网络的数据分类算法。输入为5个特征值,输出为判断(是,否)。拿50组数据对本算法作为训练组,后30组数据作…

B树、B+树、红黑树的定义、之间的区别、优缺点、数据结构、应用等

目录 B树 定义 数据结构 优点 缺点 应用 B树 定义 数据结构 优点 缺点 应用 红黑树 定义 数据结构 优点 缺点 应用 B树与B树与红黑树的区别 B树 定义 B树是一种自平衡的多路搜索树,它可以有多个子节点,不同于二叉树的是,一…

深入学习NumPy库在数据分析中的应用场景

在数据科学与机器学习领域,NumPy(Numerical Python)是一个经常被提及的重要工具。它是Python语言中一个非常强大的库,提供了高性能的多维数组对象以及用于处理这些数组的工具。NumPy不仅仅是一个用于数值计算的库,它还…

【PCB】用透明胶带制作印制板

用透明胶带作保护层来制作印制电路的方法,简单实用,作出的电路板质量较好,具体作法如下: (1)裁下一块敷铜板,用水磨砂纸将其四周毛刺磨平,用去污粉处理敷铜板表面上的污垢&#xff…

基于粒子群优化算法的图象聚类识别matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于粒子群优化算法的图象聚类识别。通过PSO优化方法,将数字图片的特征进行聚类,从而识别出数字0~9. 2.测试软件版本以及运行结果展示 M…

Hadoop之HDFS——【模块一】元数据架构

一、元数据是什么 在HDFS中,元数据主要指的是文件相关的元数据,通过两种形式来进行管理维护,第一种是内存,维护集群数据的最新信息,第二种是磁盘,对内存中的信息进行维护与持久化,由namenode管理维护。从广义的角度来说,因为namenode还需要管理众多的DataNode结点,因…

【测试开发面试复习(一)】计算机网络:应用层详解(P2)补充ing

复习自用,若有错漏,欢迎一起交流一下~~ 一、高频面试题记录 uri 和 url 的区别 ? dns 是啥工作原理,主要解析过程是啥? 用户输入网址到显示对应页面的全过程是啥? http 头部包含哪些信息? http…

IEEE Trans. On Robotics ​“受护理人员启发的双臂机器人穿衣”研究工作

开发能够协助穿衣的辅助机器人,可以极大地改善老年人和残疾人的生活。然而,大多数机器人穿衣策略只考虑使用单个机器人,这大大限制了穿衣辅助的性能。事实上,专业护理人员是通过双臂来完成这项任务的。受其启发,我们提…

【YOLO v5 v7 v8 小目标改进】Non-local 注意力实现非局部神经网络,解决长空间和时间数据依赖问题

Non-local 注意力实现非局部神经网络,解决长空间和时间数据依赖问题 提出背景长距离技术对比Non-local Block是怎么设计Non-local 神经网络效果 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 提出背景 论文:https://arxiv.org/pdf/1711.07971.pdf …

用 tensor-parallel 多卡并发推理大模型

利用 tensor-parallel 把模型训练与推理的 workload 平均分布到多块 GPU,一方面可以提高推理速度,另一方面 vram 的负载平衡也让复杂的 prompt 能被轻松处理。 import 相关的 libs: # torch version 2.0.0 import torch # tensor-parallel …

抽象类与抽象方法

文章目录 抽象类抽象类的特点 抽象方法抽象方法的特点 模板设计模式模板设计模式能解决的问题示例 #抽象类与抽象方法 抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类。 public abstract 类名{... }抽象类的特点 1)抽象类不能被实例化。 2&…

AOP(黑马学习笔记)

AOP基础 学习完spring的事务管理之后,接下来我们进入到AOP的学习。 AOP也是spring框架的第二大核心,我们先来学习AOP的基础。 在AOP基础这个阶段,我们首先介绍一下什么是AOP,再通过一个快速入门程序,让大家快速体验A…

JAVASE初认识

1.初认识其结构 1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。 2.类:类中带有一个或多个方法。方法必须在类的内部声明。 3.方法&#xff1…

vue3创建h5 项目使用rem做响应式的配置

第一步 安装依赖: npm install amfe-flexible -S npm install postcss-px2rem -S第二步 main.ts文件中导入 import "amfe-flexible/index.js";第三步 进行配置: vue3 项目中创建 postcss.cinfig.js文件,这里是基于设计稿是750px…

gRPC知识归档

文章目录 gRPC知识归档gRPC原理什么是gRPCgRPC的特性gRPC支持语言gRPC使用场景gRPC设计的动机和原则 数据封装和数据传输问题网络传输中的内容封装和数据体积问题JSONProtobuf(微服务之间的服务器调用,一般采用二进制序列化,比如protobuf&…

精读《React Hooks 最佳实践》

简介 React 16.8 于 2019.2 正式发布,这是一个能提升代码质量和开发效率的特性,笔者就抛砖引玉先列出一些实践点,希望得到大家进一步讨论。 然而需要理解的是,没有一个完美的最佳实践规范,对一个高效团队来说&#x…

【airtest】自动化入门教程(二)airtest操作

目录 一、touch 二、wait 三、swipe 四、exists 五、text 六、keyevent 七、snapshot 八、sleep 九、断言 9.1 assert_exists 9.2 assert_not_exists 9.3 assert_equal 9.4 assert_not_equal 前言:本文主要针对aritest部分的基础操作,aritest是一个跨平…

网络编程第二天

1.基于TCP的通信(面向连接的通信) 服务器代码实现&#xff1a; #include <myhead.h> #define IP "192.168.126.91" #define PORT 9999 int main(int argc, const char *argv[]) {//1、创建套接字int sfd-1;if((sfdsocket(AF_INET,SOCK_STREAM,0))-1){perror(…

LeetCode 76 最小覆盖字串

LeetCode 76 最小覆盖字串 在本篇博客中&#xff0c;我们将探讨LeetCode上的一道算法题目——“最小覆盖子串”。这道题的主要目标是找到字符串s中包含字符串t中所有字符的最小子串。 问题描述 给定字符串s和t&#xff0c;要求在字符串s中找到一个最小的子串&#xff0c;使得…

5.36 BCC工具之ucalls.py解读

一,工具简介 ucalls工具总结了包括Java、Perl、PHP、Python、Ruby、Tcl和Linux系统调用在内的各种高级语言中的方法调用。它显示最常调用方法的统计信息,以及这些方法的延迟(持续时间)。 通过系统调用支持,ucalls可以提供关于进程与系统交互的基本信息,包括系统调用计数…