11gRAC二节点重构

news/2024/4/21 13:18:25/文章来源:https://blog.csdn.net/lmxx2020/article/details/136447314

二节点在重启后操作系统损坏,需要重构,下面将描述重构方法

一、清除集群上二节点的节点信息

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 managed

sqlplus / 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 -local

Starting Orac2e 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/app

mkdir /oracle/grid/crs_1

mkdir /oracle/gridbase

mkdir /oracle/oraInventory

chown oracle:oinstall /oracle/app

chown grid:oinstall /oracle/grid/

chown grid:oinstall /oracle/grid/crs_1

chown grid:oinstall /oracle/gridbase

chown grid:oinstall /oracle/oraInventory

chmod 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 window

  2. Log in as "root"

  3. Run the scripts in each cluster node

The 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.sh

(2)[root@rac2 oracle]# /oracle/grid/crs_1/root.sh

Performing root user operation for Oracle 11g

The following environment variables are set as:

ORACLE_OWNER= grid

ORACLE_HOME= /oracle/grid/crs_1

Enter 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= oracle

ORACLE_HOME= /oracle/app/product/11.2.0/db_1

Enter 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 rac2

SQL> select inst_id,status from gv$instance;

INST_ID STATUS


3 OPEN

1 OPEN

SQL> select open_mode from v$database;

OPEN_MODE


READ WRITE

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

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

相关文章

【C++】类和对象终篇

个人主页 : zxctscl 文章封面来自:艺术家–贤海林 如有转载请先通知 文章目录 1. 前言2. 友元2.1 友元函数2.2 友元类 3. 内部类4. 匿名对象5. 拷贝对象时的一些编译器优化6. 再次理解类和对象 1. 前言 在上一篇博客中提到了类和对象中的构造函数与stat…

计算机网络之传输层 + 应用层

.1 CIDR地址块中还有三个特殊的地址块 a. 前缀 n 32 , 即32位IP地址都是前缀, 没有主机号, 这其实就是一个IP地址, 用于主机路由 b. 前缀 n 31 , 这个地址块中有两个IP地址, 主机号分别为0/1 , 这个地址块用于点对点链路 c. 前缀 n 0 , 用于默认路由使用二叉线索树查找转发…

CPU设计实战-加载和存储指令(2)

目录 一 ll和sc指令说明 二 ll和sc指令的实现 1 llbit寄存器 2 译码阶段 3 访存阶段 4 Load相关问题 5 流水线在取指阶段暂停 本章介绍两个比较特殊的加载存储指令ll和sc,这两个指令的存在用于实现信号量机制。 信号量机制:在多线程中为了保证某个…

【牛客】VL74 异步复位同步释放

描述 题目描述: 请使用异步复位同步释放来将输入数据a存储到寄存器中,并画图说明异步复位同步释放的机制原理 信号示意图: clk为时钟 rst_n为低电平复位 d信号输入 dout信号输出 波形示意图: 输入描述: clk为时…

KubeSphere平台安装系列之二【Linux单节点部署KubeSphere】(2/3)

**《KubeSphere平台安装系列》** 【Kubernetes上安装KubeSphere(亲测–实操完整版)】(1/3) 【Linux单节点部署KubeSphere】(2/3) 【Linux多节点部署KubeSphere】(3/3) **《KubeS…

探索HTTP协议:网络通信的基石

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

掘根教你拿捏C++异常(try,catch,throw,栈解退,异常规范,异常的重新抛出)

在介绍异常之前,我觉得很有必要带大家了解一下运行时错误和c异常出现之前的处理运行时错误的方式。这样子能更深入的了解异常的作用和工作原理 运行阶段错误 我们知道,程序有时候会遇到运行阶段错误,导致程序无法正常运行下去 C在运行时可…

Leetcode - 周赛387

目录 一,3069. 将元素分配到两个数组中 I 二,3070. 元素和小于等于 k 的子矩阵的数目 三,3071. 在矩阵上写出字母 Y 所需的最少操作次数 四,3072. 将元素分配到两个数组中 II 一,3069. 将元素分配到两个数组中 I 本…

消息队列-kafka-消息发送流程(源码跟踪) 与消息可靠性

官方网址 源码:https://kafka.apache.org/downloads 快速开始:https://kafka.apache.org/documentation/#gettingStarted springcloud整合 发送消息流程 主线程:主线程只负责组织消息,如果是同步发送会阻塞,如果是异…

【Sql Server】存储过程的创建和使用事务,常见运用场景,以及目前现状

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…

2024宠物行业未来发展趋势:京东宠物健康(宠物营养保健和医疗)市场品类数据分析报告

近段时间,广州某知名宠物医院的医疗事故正在被大众热议,也让越来越多从业者开始关心宠物医疗行业的未来形势。 在2022年下半年,京东平台专门设立了一个一级大类目:宠物健康(将其从原本的宠物生活类目中独立出来&#…

[递归、搜索、回溯]----递归

前言 作者:小蜗牛向前冲 专栏:小蜗牛算法之路 专栏介绍:"蜗牛之道,攀登大厂高峰,让我们携手学习算法。在这个专栏中,将涵盖动态规划、贪心算法、回溯等高阶技巧,不定期为你奉上基础数据结构…

OpenCASCADE+Qt创建建模平台

1、建模平台效果 2、三维控件OCCWidget 将V3d_View视图与控件句柄绑定即可实现3d视图嵌入Qt中&#xff0c;为了方便也可以基于QOpenGLWidget控件进行封装&#xff0c;方便嵌入各种窗体使用并自由缩放。 #ifndef OCCTWIDGET_H #define OCCTWIDGET_H#include <QWidget> #i…

产业园区如何实现数字化运营管理?

​在数字化浪潮席卷全球的今天&#xff0c;产业园区正经历着前所未有的变革&#xff0c;数字化运营管理成为各个园区转型升级的发力方向&#xff0c;它不仅能够提升园区的运营管理效率&#xff0c;还能够帮助园区提高服务效能、实现精准招商、增强决策效率&#xff0c;从而全面…

开源模型应用落地-工具使用篇-Ollama(六)

一、前言 在AI大模型百花齐放的时代&#xff0c;很多人都对新兴技术充满了热情&#xff0c;都想尝试一下。但是&#xff0c;实际上要入门AI技术的门槛非常高。除了需要高端设备&#xff0c;还需要面临复杂的部署和安装过程&#xff0c;这让很多人望而却步。不过&#xff0c;随着…

算法学习04:双指针、位运算

算法学习04&#xff1a;双指针、位运算 文章目录 算法学习04&#xff1a;双指针、位运算前言须要记忆的模版&#xff1a;一、双指针1.例题1注意&#xff1a;两个指针在一个序列 2.例题2 二、位运算1.例题1注意&#xff1a;从0开始数“第一位” 2.例题2注意&#xff1a;lowbit操…

蓝桥杯刷题(二)

参考大佬代码&#xff1a;&#xff08;区间合并二分&#xff09; import os import sysn, L map(int, input().split()) # 输入n,len arr [list(map(int, input().split())) for _ in range(n)] # 输入Li,Si def check(Ti, arr, L)->bool:sec [] # 存入已打开的阀门在…

如何恢复未保存的 Excel 文件

本周我们将 Office 恢复系列扩展到 Excel 恢复&#xff0c;并提出了最常见的问题&#xff1a;如何恢复 Excel 文件&#xff1f; 与 Office Word 不同&#xff0c;Excel 完全是关于表格和计算的。在处理Excel文件时&#xff0c;您可能会遇到更多问题。与往常一样&#xff0c;我们…

【JavaEE进阶】CSS选择器的常见用法

CSS选择器的主要功能就是选中页面指定的标签元素&#xff0c;选中了元素&#xff0c;才可以设置元素的属性。 CSS选择器主要有以下几种: 标签选择器类选择器id选择器复合选择器通配符选择器 接下来用代码来学习这几个选择器的使用。 <!DOCTYPE html> <html lang&q…

macos docker baota 宝塔 搭建 ,新增端口映射

拉取镜像仅拉取镜像保存到本地&#xff0c;不部署容器&#xff0c;仅需拉取一次&#xff0c;永久存储到本地镜像列表 docker pull akaishuichi/baota-m1:lnmp 其他可参考&#xff1a;宝塔面板7.9.2docker镜像发布-集成LN/AMP支持m1/m2 mac版本 - Linux面板 - 宝塔面板论坛 运行…