Convert RAC TO RACOneNode

1.查看资源状态

[grid@rac01 ~]$ crsctl status res -t

从这里看到,数据库的名字叫racdb

2.查看实例

[oracle@rac01 ~]$ srvctl status database -d racdb

3.查看数据库详细信息

[oracle@rac01 ~]$ srvctl config database -d racdb

从上图中,可以看到数据库名,oracle_home,实例名,以及重要的TYPE为RAC

4.删除实例(只留下一个,RACOneNode只有一个实例是活动状态)

[oracle@rac01 ~]$ srvctl remove instance -d racdb -i racdb2 -f

加上-f参数可以强制关闭实例并将实例删除

5.新增一个service

如果不新增service,无法进行转换

新增service

[oracle@rac01 ~]$ srvctl add service -h  --查看新增service的帮助
[oracle@rac01 ~]$ srvctl add service -d racdb -s rac -r racdb1 -P BASIC -e SELECT -m BASIC -y AUTOMATIC
[oracle@rac01 ~]$ srvctl start service -d racdb -s ra

service名字为rac,偏爱racdb1这个实例,TFA类型为BASIC

https://blog.csdn.net/xujinyang/article/details/6829647

6.将rac转换为raconenode

[oracle@rac01 ~]$ srvctl convert database -d racdb -c RACONENODE -i racdb1

再次查看状态

[oracle@rac01 ~]$ srvctl config database -d racdb

这里可以看到TYPE是RACOneNode。Instance name prefix是实例的前缀,后续会生成racdb1_1和racdb1_2实例

7.查看当前的实例名

可以看到实例名没有变

测试一下HA

[oracle@rac01 ~]$ srvctl relocate database -d racdb -n rac02

[oracle@rac01 ~]$ srvctl relocate database -d racdb -n rac01

Convert RACOneNode TO RAC

1.进行转换

[oracle@rac01 ~]$ srvctl convert database -d racdb -c rac

2.查看数据库信息

[oracle@rac01 ~]$ srvctl config database -d racdb

从这里可以看到TYPE是RAC

3.新增实例

[oracle@rac01 ~]$ srvctl add instance -d racdb -i racdb1_2 -n rac02

4.启动实例

[oracle@rac01 ~]$ srvctl start instance -d racdb -i racdb1_2

5.再次查看数据库的状态

[oracle@rac01 ~]$ srvctl config database -d racdb

修改RAC的SPFILE路径

在实际工作中,发现有一些RAC实例的SPFILE是在各自的ORACLE_HOME/dbs下,现在想将其修改到共享目录(asm磁盘)中

RAC的实例和单实例启动相同,首先找ORACLE_HOME/dbs/spfileinstancename.ora,如果没有spfile,就会找ORACLE_HOME/dbs/initinstancename.ora,因此要修改,需要以下条件

1.实例的ORACLE_HOME/dbs下没有spfile

2.实例的ORACLE_HOME/dbs下的pfile中写入spfile的路径

3.将spfile建入共享目录中

1.将spfile建入共享目录中

create pfile-'/tmp/pfile.txt' from spfile;
create spfile='+ORADATA01/racdb/spfileracdb.ora' from pfile='/tmp/pfile.txt'

2.将spfile的路径写入ORACLE_HOME/dbs/initracdb1.ora和ORACLE_HOME/dbs/initracdb2.ora中

vi initracdb1.ora
----------------------------------
SPFILE='+ORADATA01/racdb/spfileracdb.ora'
----------------------------------
vi initracdb2.ora
----------------------------------
SPFILE='+ORADATA01/racdb/spfileracdb.ora'
----------------------------------

3.以上的修改并不会同步到RAC集群的配置文件中,因此需要修改

srvctl modify database -d racdb -p '+ORADATA01/racdb/spfileracdb.ora'

4.重启实例

srvctl stop instance -d racdb -i racdb2
srvctl start instance -d racdb -i racdb2
srvctl stop instance -d racdb -i racdb1
srvctl start instance -d racdb -i racdb1

在启动racdb2的时候,可能会报如下错误

ORA-01102: cannot mount database in EXCLUSIVE mode

这是需要修改参数cluster_database=true即可

alter system set cluster_database=true sid='*' scope=spfile;

5.查看数据库状态

srvctl config database -d racdb

oracle RAC和RACOneNode之间的转换的更多相关文章

  1. oracle rac理解和用途扩展

    Oracle RAC的优势在于利用多个节点(数据库实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展.实现Oracle RAC需要 ...

  2. 《Oracle RAC性能优化》

    一 RAC环境 RAC架构,2节点信息 节点1 SQL> show parameter instance NAME                                 TYPE    ...

  3. Oracle RAC(Real Application Clusters)

    Oracle RAC 运行于集群之上,为 Oracle 数据库提供了最高级别的可用性.可伸缩性和低成本计算能力.如果集群内的一个节点发生故障,Oracle 将可以继续在其余的节点上运行.Oracle ...

  4. Oracle Rac to Rac One Node

    =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2020.01.14 20:05:12 =~=~=~=~=~=~=~=~=~=~=~= [oracle@rac01 ~]$ srvc ...

  5. oracle RAC切换归档

    (转自leshami)    RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异.在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成 ...

  6. Oracle rac集群环境中的特殊问题

    备注:本文摘抄于张晓明<大话Oracle RAC:集群 高可用性 备份与恢复> 因为集群环境需要多个计算机协同工作,要达到理想状态,必须要考虑在集群环境下面临的新挑战. 1.并发控制 在集 ...

  7. 【转】Oracle RAC 环境下的连接管理

    文章转自:http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1 ...

  8. ORACLE RAC集群的体系结构

    RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库.无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处. R ...

  9. DB2中字符、数字和日期类型之间的转换

    DB2中字符.数字和日期类型之间的转换 一般我们在使用DB2或Oracle的过程中,经常会在数字<->字符<->日期三种类 型之间做转换,那么在DB2和Oracle中,他们分别 ...

随机推荐

  1. 自动化管理平台rundeck的安装方法

    简介 RunDeck 是用 Java/Grails 写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程.通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自 ...

  2. 线段树入门详解,洛谷P3372 【模板】线段树 1

    关于线段树: 本随笔参考例题      P3372 [模板]线段树 1 所谓线段树就是把一串数组拆分成一个一个线段形成的一棵树. 比如说像这样的一个数组1,2,3,4,5: 1 ~ 5 /       ...

  3. Spark的RPC

    Spark 的 RPC 什么是RPC 在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通.用户文件与Jar包的上传.节 点间的Shuffle过程.Block数据的复制与备份等. ...

  4. 详细讲解docker容器和镜像的区别

    当我对Docker技术还是一知半解的时候,我发现理解Docker的命令非常困难.于是,我花了几周的时间来学习Docker的工作原理,更确切地说,是关于Docker统一文件系统(the union fi ...

  5. 第一章: 初始JVM

    跟很多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试. 因为装逼 但我经过了几年的学习和实战,我发现其实 ...

  6. .net MVC 微信公众号 点击菜单拉取消息时的事件推送

    官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141016&token=&lang=zh_CN ...

  7. SpringCloud 源码系列(5)—— 负载均衡 Ribbon(下)

    SpringCloud 源码系列(4)-- 负载均衡 Ribbon(上) SpringCloud 源码系列(5)-- 负载均衡 Ribbon(下) 五.Ribbon 核心接口 前面已经了解到 Ribb ...

  8. 图灵学院java架构师vip课程第二期 完整版课程下载 无加密

    部分目录2020年新图灵学院Java二期架构师教程下载[课程目录]├──一.VIP课程:互联网工程专题├──二.VIP课程:源码框架专题├──三.VIP课程:并发编程专题├──四.VIP课程:性能调优 ...

  9. 拥抱 C/C++ : Android JNI 的使用

    编译工具 CMake 以及 Android 上 JNI 的使用介绍. 编译工具 CMake 在Android Studio 2.2 之后,工具中增加了 CMake 的支持,于是我们有两种选择来编译 c ...

  10. [LeetCode]319. Bulb Switcher灯泡开关

    智商压制的一道题 这个题有个数学定理: 一般数(非完全平方数)的因子有偶数个 完全平凡数的因子有奇数个 开开关的时候,第i个灯每到它的因子一轮的时候就会拨动一下,也就是每个灯拨动的次数是它的因子数 而 ...