Convert your single instance to 10g RAC by manual
Node Name | Instance Name | DB NAME |
vrh1 | PROD21 | PROD2 |
vrh2 | PROD22 | PROD2 |
以下操作均应当在1号节点上完成 一、在各节点上安装clusterware,并确保CRS正常启动;针对clusterware的安装在这里不做展开
[oracle@vrh1 u01]$ crsctl check crs CSS appears healthy CRS appears healthy EVM appears healthy/* 应当确保所有RAC节点上的CRS均正常启动 */[oracle@vrh1 u01]$ crsctl query crs activeversion CRS active version on the cluster is [10.2.0.4.0]
二、在各个节点上以Real Application Cluster选项安装Oracle Database Software软件,一般我们要求DB的版本要与clusterware的版本一致,所以如我们的环境中CRS的版本是10.2.0.4.0,那么DB的版本最好也是10.2.0.4.0;Database Software可以安装在共享存储上(shared storage),也可以是各节点上独立的文件系统上; 同时我们有必要修改一系列的环境变量如ORACLE_HOME、LD_LIBRARY_PATH到新软件的相应目录下,以及为RAC设置Oracle所推荐的一些操作系统内核参数如net.core.wmem_max等; 三、从新安装的DB Software目录下启动Netca工具,为Cluster配置新的Listener监听器;在完成新Listener的配置后;最终将老的单节点的Listener关闭掉 四、备份原单节点的数据库,并将之还原到今后RAC使用的共享存储(shared storage)上;如果今后使用ASM作为共享存储方案的话,那么可以 参考文档Note 452758.1 <How to Convert a Single-Instance ASM to Cluster ASM> 五、备份原单节点实例的参数文件,并加入下列参数:
*.cluster_database = TRUE *.cluster_database_instances = 2 *.undo_management=AUTO <SID1>.undo_tablespace=undotbs (undo tablespace which already exists) <SID1>.instance_name=<SID1> <SID1>.instance_number=1 <SID1>.thread=1 <SID1>.local_listener=<LISTENERNAME>_<HOSTNAME1> <SID2>.instance_name=<SID2> <SID2>.instance_number=2 <SID2>.local_listener=<LISTENERNAME>_<HOSTNAME2> <SID2>.thread=2 <SID2>.undo_tablespace=UNDOTBS2 <SID2>.cluster_database = TRUE <SID2>.cluster_database_instances = 2如在我们的示例环境中:SQL> create pfile from spfile; File created.[oracle@vrh1 u01]$ cd $ORACLE_HOME/dbs[oracle@vrh1 dbs]$ cp initPROD2.ora initPROD2.ora.bak/* 以上备份了pfile形式的参数文件 */*.cluster_database = TRUE *.cluster_database_instances = 2 *.undo_management=AUTO PROD21.undo_tablespace=undotbs PROD21.instance_name=PROD21 PROD21.instance_number=1 PROD21.thread=1 PROD21.local_listener=LISTENERPROD22.instance_name=PROD22 PROD22.instance_number=2 PROD22.local_listener=LISTENER PROD22.thread=2PROD22.undo_tablespace=undotbs2 PROD22.cluster_database= TRUE PROD22.cluster_database_instances= 2/* 以上为示例环境中我们加入参数文件的RAC相关initial parameter */
如之前说明的<SID1>对应于<DB_NAME>1; 而<SID2>对应于<DB_NAME>2;因为这里的DB_NAME为PROD2,所以2个实例的名字为PROD21和PROD22,希望不会造成你的困惑。 六、修改参数文件中的"control_files"参数即将控制文件指向到新的共享存储的路径下 七、从pfile的文本参数文件上创建Server parameter file即SPFILE;如果我们将来不使用共享的SPFILE的话,那么因为原单节点上的实例名从原来的PROD2装换成PROD21,所以这里spfile的名字应当是spfilePROD21.ora;如果我们希望使用共享的SPFILE的话,则follow下一个步骤
SQL> create spfile='?/dbs/spfilePROD2.ora' from pfile='?/dbs/initPROD2.ora'; File created.
八、一般我们使用共享的SPFILE,那么就要将以上创建的SPFILE拷贝到共享存储上,并在本地的ORACLE_HOME/dbs/initSID.ora参数文件中留下共享SPFILE的路径:
[oracle@vrh1 dbs]$ cp spfilePROD2.ora /share1[oracle@vrh1 dbs]$ cat initPROD21.ora spfile='/share1/spfilePROD2.ora'
九、以新的SID为实例创建密码文件:
[oracle@vrh2 dbs]$ cd $ORACLE_HOME/dbs [oracle@vrh1 dbs]$ orapwd file=orapwPROD21 password=oracle entries=10
十、启动实例到mount状态 [oracle@vrh1 dbs]$ echo $ORACLE_SID PROD21 SQL> startup mount; ORACLE instance started. Total System Global Area 629145600 bytes Fixed Size 1269016 bytes Variable Size 318767848 bytes Database Buffers 301989888 bytes Redo Buffers 7118848 bytes Database mounted. 十一、注意将数据文件(datafile),在线日志文件(redo log)重命名(rename)到共享设备上,如:
SQL> select member from v$logfile;MEMBER -------------------------------------------------------------------------------- /share1/redo01.log /share1/redo02.log /share1/redo03.logSQL> alter database rename file '/share1/redo01.log' to '/u01/redo01.log'; Database altered.SQL> alter database rename file '/share1/redo02.log' to '/u01/redo02.log'; Database altered. ....................../* 不要忘记临时文件 */SQL> select name from v$tempfile;NAME -------------------------------------------------------------------------------- /share1/temp01.dbfSQL> alter database rename file '/share1/temp01.dbf' to '/u01/temp01.dbf'; Database altered.
十二、加入2号线程的重做日志组,并启用2号线程
SQL> alter database add logfile thread 2 group 4 '/u01/redo04.log' size 50M; Database altered. SQL> alter database add logfile thread 2 group 5 '/u01/redo05.log' size 50M; Database altered.SQL> alter database enable public thread 2; Database altered.............
十三、从1号节点打开数据库,并创建供二号实例(或其他更多实例)使用的撤销表空间UNDO TABLESPACE:
SQL> alter database open; Database altered.SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/u01/undotbs02.dbf' size 100M; Tablespace created.
十四、从1号节点上运行?/rdbms/admin/catclust.sql脚本创建cluster相关的视图:
SQL> @?/rdbms/admin/catclust ...........Grant succeeded.Synonym created.PL/SQL procedure successfully completed.
以下操作应当在2号或其他更多节点上执行 十五、在2号节点上设置合理的ORACLE_HOME(指向新安装的DB软件目录)和ORACLE_SID(我们的环境中为PROD22)环境变量;你可能还需要为2号实例创建必要的audit_file_dest审计文件存放目录和background_dump_dest后台转储文件存放目录等,如果实例无法正确获取这些目录可能出现"ORA-09925: Unable to create audit trail file"错误。如步骤2所述也需要在2号节点上配置推荐的操作系统内核参数等。 十六、创建$ORACLE_HOME/dbs/initSID.ora PFILE参数文件指向共享的SPFILE文件,如步骤8所示
[oracle@vrh2 ~]$ echo $ORACLE_SID PROD22[oracle@vrh2 ~]$ cd $ORACLE_HOME/dbs[oracle@vrh2 dbs]$ cat initPROD22.ora spfile='/u01/spfilePROD2.ora'
十七、在2号节点上创建形如orapwSID的密码文件:
[oracle@vrh2 dbs]$ cd $ORACLE_HOME/dbs [oracle@vrh2 dbs]$ orapwd file=orapwPROD22 password=oracle entries=10
十八、启动2号节点的实例,并打开数据库:
SQL> startup mount; ORACLE instance started.Total System Global Area 629145600 bytes Fixed Size 1269016 bytes Variable Size 318767848 bytes Database Buffers 301989888 bytes Redo Buffers 7118848 bytes Database mounted.SQL> alter database open; Database altered.SQL> select instance_name,status from gv$instance;INSTANCE_NAME STATUS ---------------- ------------ PROD22 OPEN PROD21 OPEN
以上完成了对单节点数据库到RAC数据库的转换,但该RAC数据库的资源尚未注册到OCR中,因此无法使用例如srvctl、crs_stat等命令配置或监控这些资源,我们需要手动将这些资源加入到OCR中。 以下操作在任意一节点上完成即可:
srvctl add database -d <database name> -o <ORACLE_HOME path> -p <spfile location and name>srvctl add instance -d <database name> -i <instance 1 name> -n <node 1 name >srvctl add instance -d <database name> -i <instance 2 name> -n <node 2 name >如在我们的示例环境中可以如下添加: [oracle@vrh2 ~]$ srvctl add database -d PROD2 -o $ORACLE_HOME -p /u01/spfilePROD2.ora[oracle@vrh2 ~]$ srvctl add instance -d PROD2 -i PROD21 -n vrh1[oracle@vrh2 ~]$ srvctl add instance -d PROD2 -i PROD22 -n vrh2[oracle@vrh2 ~]$ crs_start ora.PROD2.db[oracle@vrh2 ~]$ crs_stat -t Name
转载于:https://blog.51cto.com/maclean/1277749
Convert your single instance to 10g RAC by manual相关推荐
- oracle 10.2.0.4 rac emca,ORACLE 10G RAC升级10.2.0.4报错
升级ORACLE CLUSTERWARE执行root102.sh时报如下错误: /usr/lib/hpux64/dld.so: Unable to find library 'libclntsh.so ...
- Oracle 10g RAC RMAN备份异机单实例恢复
本文通过将Oracle 10g RAC RMAN的完整的备份进行异机恢复的过程,可以对在恢复的过程中可以发现备份时的一些问题.比如规档日志的冗余,控制文件与参数文件的自动备份的利用等,本示例是拿了rm ...
- Oracle 10g RAC修改IP/VIP地址示例
一.准备工作 1. 数据库信息 操作系统版本 : OEL5.4 x64 数据库版本 : Oracle 10.2.0.5 x64 RAC 2. IP地址对应信息 说明: 服务器主机名不能更 ...
- oracle 云服务器cpu升级,Oracle 10g RAC 升级(CPU Update)之--升级CRS
Oracle 10g RAC 升级(CPU Update)之--升级CRS 发布时间:2020-07-16 09:13:19 来源:51CTO 阅读:593 作者:客居天涯 Oracle 10g RA ...
- Oracle 10g RAC 升级(CPU Update)之--升级CRS
Oracle 10g RAC 升级(CPU Update)之--升级CRS 系统环境: 操作系统:RedHat EL5 Cluster: Oracle CRS 10.2.0.1.0 Oracle: ...
- oracle 10g rac数据库,oracle 10g rac安装报错集锦
oracle 10g rac安装报错汇总 删除crs 1. 停止资源:关闭crs资源:crsctl stop resources 关闭crs: crsctl stop crs 2 ...
- Oracle 10G RAC ASM - 控制文件多路存储
10G RAC中将controlfile进行多元存放(非OMF格式) 1,确定control_files参数 SQL> show parameter control_files NAME ...
- GoldenGate配置实例:RHEL 4.7下的Oracle 10g RAC到单实例的单向同步(一)
环境 源端是一个RAC rac1 rac2: RHEL 4u7 + ORACLE 10.2.0.4 + ASM rac1 外网IP 192.168.47.241 虚拟IP 192.168.47.243 ...
- 原系统删除11g Rac后安装10g Rac中的问题处理
最近在自己虚拟机中将原来的11g rac删除掉,打算在原来的系统中安装10g rac,结果遇到了一些问题,特此记录下: 首先说下安装执行root.sh报错后的处理(重新执行root.sh) #安装时出 ...
最新文章
- 知识图谱、深度学习、AutoML,推荐系统与新技术结合将碰撞出怎样的火花?
- 剑指offer64 不能使用乘除法、for、while、if、else、switch、case 求 1+2+...+n
- LINUX-Shell第一课
- ubuntu 14.04 安装redmine
- 2021年辽宁省大学生数学建模竞赛题目A题_智慧停车的运营、管理规划
- 1.Python算法之枚举算法
- [BUUCTF-pwn]——[BJDCTF 2nd]test
- OS- -I/O之盘和时钟
- vba 当前文件名_VBA代码解决方案第77讲内容:如何导出文件
- 洛谷1417烹调方案——动态规划:价值受时间影响
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
- 【Spring 工厂】注入详解 — Set注入(JDK内置类型,用户自定义类型)、构造注入(重载)
- SpringMvc之参数绑定注解详解之一
- [ios]ios读写文件本地数据
- twm配置文件.twmrc
- win10安装双系统ubuntu
- is与==的恩怨、编码的详解
- 周志华教授:如何做研究与写论文?
- 3D格式转换工具HOOPS Exchange最全技术指南(三):4大功能特征与典型使用场景
- 自媒体游戏领域视频素材在哪找?这几种找素材方法你可以收藏
热门文章
- iOS 逆向 - 收藏集 - 掘金
- notifier chain — 内核通知链【转】
- Android的logger机制分析
- MOQL--操作数(Operand) (四)
- 【DP】LeetCode 85. Maximal Rectangle
- torch.nn.Module.eval
- 【Oracle】SQLPLUS命令
- jQuery静态方法(each、map、isFunction, isWindow, isArray, .trim(), .holdReady())
- Spark之MLlib
- javascript 日常