11gR2 RAC手动添加节点数据库实例

        两台服务器构成的Oracle 11gR2 RAC环境中,其中rac1服务器的私有网卡需要更换,所以在rac2服务器上使用dbca创建数据库的时候只创建了本节点的数据库实例(oracledb1)。当rac1服务器私有网卡更换成功,在rac1服务器执行dbca图形化"add Instance"和执行dbca -silent命令添加实例,都收到下面的报错:

[oracle@rac1 ~]$ dbca -silent -addInstance -gdbName oracledb -nodelist rac1 -instanceName oracledb2 -sysDBAUserName sys -sysDBAPassword oracle_Schic1 

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/oracledb.log" for further details.

[oracle@rac1 ~]$ cat /u01/app/oracle/cfgtoollogs/dbca/oracledb.log

"Adding instance" operation on the admin managed database oracledb requires instance configured on local node. There is no instance configured on the local node "rac1".

        该操作放在现有的RAC节点rac2上执行应该就可以了。不过下面我们继续讨论手动在rac1上添加oracledb2实例的步骤:

        由于rac2运行着oracledb1实例,所以这里先添加rac1的oracledb2实例,之后再做调整。

1.尝试直接在rac1上启动oracledb2实例。

[root@rac1 bin]# su - oracle

[oracle@rac1 ~]$ export ORACLE_SID=oracledb2

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 9 02:29:36 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORA-29760: instance_number parameter not specified

         instance_number的内容参考文章:http://space.itpub.net/23135684/viewspace-748572

2.确保rac1的ASM实例加载了相关磁盘组。

[root@rac2 bin]# ./crsctl stat res -t

--------------------------------------------------------------------------------

NAME           TARGET  STATE        SERVER                   STATE_DETAILS       

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.ARCH.dg

               OFFLINE OFFLINE      rac1                                         

               ONLINE  ONLINE       rac2                                         

ora.DATA.dg

               OFFLINE OFFLINE      rac1                                         

               ONLINE  ONLINE       rac2                                         

......

ora.asm

               ONLINE  ONLINE       rac1                     Started             

               ONLINE  ONLINE       rac2                     Started             

......

ora.oracledb.db

      1        ONLINE  ONLINE       rac2                     Open                

......

[root@rac2 bin]# ./srvctl start diskgroup -g data -n rac1

[root@rac2 bin]# ./srvctl start diskgroup -g arch -n rac1

[root@rac2 bin]# ./crsctl stat res -t

--------------------------------------------------------------------------------

NAME           TARGET  STATE        SERVER                   STATE_DETAILS       

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.ARCH.dg

               ONLINE  ONLINE       rac1                                         

               ONLINE  ONLINE       rac2                                         

ora.DATA.dg

               ONLINE  ONLINE       rac1                                         

               ONLINE  ONLINE       rac2                                         

......                                    

3.调整RAC参数文件。

[root@rac2 bin]# su - oracle

[oracle@rac2 ~]$ export ORACLE_SID=oracledb1

[oracle@rac2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 9 02:34:18 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL> create pfile='/tmp/opfile.txt' from spfile='+DATA/oracledb/spfileoracledb.ora';

File created.

SQL> !vi /tmp/opfile.txt

oracledb1.__db_cache_size=60263759872

oracledb1.__java_pool_size=134217728

oracledb1.__large_pool_size=134217728

oracledb1.__pga_aggregate_target=39728447488

oracledb1.__sga_target=68719476736

oracledb1.__shared_io_pool_size=0

oracledb1.__shared_pool_size=7784628224

oracledb1.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/oracledb/adump'

*.audit_trail='db'

*.cluster_database=true

*.compatible='11.2.0.0.0'

*.control_files='+DATA/oracledb/controlfile/current.260.798857565'

*.db_block_size=8192

*.db_create_file_dest='+DATA'

*.db_domain=''

*.db_name='oracledb'

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=oracledbXDB)'

oracledb1.instance_number=1

oracledb2.instance_number=2

*.log_archive_dest_1='LOCATION=+arch'

*.log_archive_format='%t_%s_%r.dbf'

*.open_cursors=300

*.pga_aggregate_target=39625687040

*.processes=5000

*.remote_listener='wstrac.scan.com:1521'

*.remote_login_passwordfile='exclusive'

*.sessions=5505

*.sga_target=68719476736

oracledb1.thread=1

oracledb2.thread=2

oracledb1.undo_tablespace='UNDOTBS1'

oracledb2.undo_tablespace='UNDOTBS2'

~

"/tmp/opfile.txt" 34L, 1103C written

        上面加红的部分是新增加的内容。

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> create spfile='+DATA/oracledb/spfileoracledb.ora' from pfile='/tmp/opfile.txt';

File created.

SQL> startup

ORACLE instance started.

Total System Global Area 6.8413E+10 bytes

Fixed Size                  2245480 bytes

Variable Size            8053066904 bytes

Database Buffers         6.0264E+10 bytes

Redo Buffers               93609984 bytes

Database mounted.

Database opened.

        增加的参数的含义也参考文章:http://space.itpub.net/23135684/viewspace-748572

4.确保创建了UNDOTBS2表空间。

SQL> select file_id,file_name from dba_data_files;

   FILE_ID

----------

FILE_NAME

--------------------------------------------------------------------------------

         4

+DATA/oracledb/datafile/users.259.798857305

         3

+DATA/oracledb/datafile/undotbs1.258.798857305

         2

+DATA/oracledb/datafile/sysaux.257.798857305

   FILE_ID

----------

FILE_NAME

--------------------------------------------------------------------------------

         1

+DATA/oracledb/datafile/system.256.798857305

         5

+DATA/oracledb/datafile/undotbs2.266.798863859

5.再次尝试启动rac1上的oracledb2实例。

SQL> startup

ORACLE instance started.

Total System Global Area 6.8413E+10 bytes

Fixed Size                  2245480 bytes

Variable Size            6979325080 bytes

Database Buffers         6.1338E+10 bytes

Redo Buffers               93609984 bytes

ORA-01618: redo thread 2 is not enabled - cannot mount

        需要启用 redo thread 2。

6.启用redo thread 2。

        以下的操作一定在现存的RAC节点实例上执行(在添加的节点上无法执行),也就是说在rac2节点的oracledb1实例上执行以下命令:

SQL> ALTER DATABASE  

  2      ADD LOGFILE THREAD 2 GROUP 4  

  3          ('+DATA') SIZE 256M;

Database altered.

SQL> ALTER DATABASE  

  2      ADD LOGFILE THREAD 2 GROUP 5  

  3          ('+DATA') SIZE 256M;

Database altered.

SQL> ALTER DATABASE  

  2      ADD LOGFILE THREAD 2 GROUP 6  

  3          ('+DATA') SIZE 256M;

Database altered.

SQL>  alter database enable thread 2;

Database altered.

        要启动thread 2,必须先为thread 2创建好日志组。

        参考文章:http://space.itpub.net/7199859/viewspace-663572

7.加载rac1 oracledb2实例并打开数据库。

SQL> alter database mount; 

Database altered.

SQL> alter database open;

Database altered.

        经过以上的步骤,成功为rac1节点添加了oracledb2实例。

8.将实例信息添加到OCR中。

[root@rac1 bin]# su - oracle

[oracle@rac1 ~]$ srvctl add instance -d oracledb -i oracledb2 -n rac1

[oracle@rac1 ~]$ srvctl status database -d oracledb

Instance oracledb2 is not running on node rac1

Instance oracledb1 is running on node rac2

[oracle@rac1 ~]$ srvctl start instance -d oracledb -i oracledb2

[oracle@rac1 ~]$ srvctl status database -d oracledb

Instance oracledb2 is running on node rac1

Instance oracledb1 is running on node rac2

9.调整OCR中实例运行节点。

        经过上面的添加后,rac1运行着oracledb2实例,rac2运行着oracledb1实例,执行下面的步骤,使得rac1运行oracledb1实例,rac2运行oracledb2实例。

[oracle@rac1 ~]$ srvctl stop database -d oracledb

[oracle@rac1 ~]$ srvctl remove instance -d oracledb -i oracledb1

Remove instance from the database oracledb? (y/[n]) y

[oracle@rac1 ~]$ srvctl remove instance -d oracledb -i oracledb2

Remove instance from the database oracledb? (y/[n]) y

[oracle@rac1 ~]$ srvctl add instance -d oracledb -i oracledb1 -n rac1

[oracle@rac1 ~]$ srvctl add instance -d oracledb -i oracledb2 -n rac2

[oracle@rac1 ~]$ srvctl start database -d oracledb

[oracle@rac1 ~]$ srvctl status database -d oracledb

Instance oracledb1 is running on node rac1

Instance oracledb2 is running on node rac2

[oracle@rac1 ~]$ srvctl enable database -d oracledb

PRCC-1010 : oracledb was already enabled

PRCR-1002 : Resource ora.oracledb.db is already enabled

[oracle@rac1 ~]$ srvctl enable instance -d oracledb -i oracledb1

[oracle@rac1 ~]$ srvctl enable instance -d oracledb -i oracledb2

--end--

时间: 2024-08-02 06:10:34

11gR2 RAC手动添加节点数据库实例的相关文章

Oracle Rac 11R2添加节点

Oracle Rac 11R2添加节点 一.完成以下步骤,准备将节点添加到集群: 1.安装操作系统(版本和集群其他节点一致),同时配置hosts文件.内核参数,网络参数,及oracle rac依赖的patch 2.配置网络连接,配置共享存储映射到要添加的节点 3.创建grid.及oracle用户及相关目录及环境变量. 4.确保在节点上配置了SSH. 5.使用cvu验证添加节点是否符合要求 从已存在的节点目录 Grid_home/bin下执行如下命令: $ cluvfy stage -pre no

手动创建ORACLE数据库实例

1.首先设置ORACLE_SID=manual 2.创建密码文件 进入/u01/app/oracle/product/10.2.0/db_1/dbs目录下,执行命令创建数据库密码文件 [oracle@myorcl dbs]$ orapwd file=orapmanual password=oracle 3.创建所需的目录结构 [oracle@myorcl dbs]$ cd /u01/app/oracle/admin/ [oracle@myorcl admin]$ mkdir manual 然后进

Oracle RAC 添加节点

1 安装准备工作 1.1 加节点步骤 加节点不需要停机,在线操作,但需要在业务较低时段进行,若安排重启测试和业务测试,则视情况申请停机时间. 1、 原生产库两台主机安装新的操作系统,连接现生产库所用的存储并进行多路径的配置 2、 配置网络 3、 检查系统包和配置等价性等一系列加节点操作,具体操作参考章节1.3~1.12 4、 在现有生产库节点1上进行加节点操作. 5、 检查各个节点的crs和instance的状态. 节点 节点名称 实例名称 数据库名称 处理器 R

为11.2.0.2 Grid Infrastructure添加节点

转自:http://www.askmaclean.com/archives/add-node-to-11-2-0-2-grid-infrastructure.html 在之前的文章中我介绍了为10g RAC Cluster添加节点的具体步骤.在11gr2中Oracle CRS升级为Grid Infrastructure,通过GI我们可以更方便地控制CRS资源如:VIP.ASM等等,这也导致了在为11.2中的GI添加节点时,同10gr2相比有着较大的差异. 这里我们要简述在11.2中为GI ADD

Oracle Rac 11R2删除节点

在将一个节点从cluster删除之前,先删除节点数据库实例及Oracle RAC软件 在Oracle RAC环境中删除集群中的节点: 1.删除数据库实例从Oracle RAC databases 1.1.如果有安装配置EM,在您计划删除的节点上,运行以下命令,从EM配置中删除 emca -deleteNode db 要删除策略管理的数据库,减少数据库实例所在的服务器池的大小.这样可以有效地删除实例,而不必从节点或集群中的节点删除Oracle RAC软件 例如,您可以通过在集群中的任何节点上运行以

Oracle 10203 RAC环境添加新节点(四)添加一个新节点上的数据库实例

简单描述一下,在Oracle 10203 for Solaris sparc的RAC双节点环境中,新增一个节点的过程.共享存储已经在第三个节点上配置完成,这里主要介绍操作系统上和Oracle上的配置. 这一篇添加一个新节点上的数据库实例. 首先确保数据库处于启动状态,如果数据库没有启动: bash-2.03$ srvctl start inst -d testrac -i testrac1 bash-2.03$ srvctl start inst -d testrac -i testrac2 确

11gR2 硬件导致重新添加节点

11gR2 硬件导致重新添加节点 作者:吴伟龙   一.环境描述:          这是一套五年前部署的双节点单柜11g RAC,当时操作系统盘是一块164g的单盘,没有做RAID.        OS: RedHat EnterPrise 5.5 x86_x64        GI : Oracle Grid Infrastructure 11.2.0.3x86_x64        DB: Oracle Database EnterPrise 11.2.0.3x86_64    二.问题现

oracle数据库dataguard 11GR2 RAC to RAC配置

数据架构Primary:  代码如下 复制代码 HOSTNAME    DATABASENAME    UNIQUE_DBNAME   INSTANCE_NAME RAC1                 orclpd                          orclpd                             orclpd1 RAC2                orclpd                          orclpd              

Oracle 10203 RAC环境添加新节点(五)添加节点的软件安装过程中的问题

简单描述一下,在Oracle 10203 for Solaris sparc的RAC双节点环境中,新增一个节点的过程.共享存储已经在第三个节点上配置完成,这里主要介绍操作系统上和Oracle上的配置. 简单描述添加节点的软件安装过程中碰到的问题. 第一个错误是在运行ADDNODE.SH工具时碰到的,在节点3的安装过程中出现了空间不足的错误: INFO: ld.so.1: lsnodes: fatal: libskgxn2.so: open failed: No such file or dire