ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10203RAC环境添加新节点(四)

Oracle10203RAC环境添加新节点(四)

原创 Linux操作系统 作者:yangtingkun 时间:2009-11-18 23:56:03 0 删除 编辑

简单描述一下,在Oracle 10203 for Solaris sparc的RAC双节点环境中,新增一个节点的过程。共享存储已经在第三个节点上配置完成,这里主要介绍操作系统上和Oracle上的配置。

这一篇添加一个新节点上的数据库实例。

Oracle10203RAC环境添加新节点(一):http://yangtingkun.itpub.net/post/468/493738

Oracle10203RAC环境添加新节点(二):http://yangtingkun.itpub.net/post/468/493764

Oracle10203RAC环境添加新节点(三):http://yangtingkun.itpub.net/post/468/493811

 

 

首先确保数据库处于启动状态,如果数据库没有启动:

bash-2.03$ srvctl start inst -d testrac -i testrac1
bash-2.03$ srvctl start inst -d testrac -i testrac2

确保监听处于启动状态,如果没有启动,使用lsnrctl start启动监听:

bash-2.03$ lsnrctl start

LSNRCTL for Solaris: Version 10.2.0.3.0 - Production on 01-2月 -2009 00:22:24

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

启动/data/oracle/product/10.2/database/bin/tnslsnr: 请稍候...

TNSLSNR for Solaris: Version 10.2.0.3.0 - Production
系统参数文件为/data/oracle/product/10.2/database/network/admin/listener.ora
写入/data/oracle/product/10.2/database/network/log/listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.225)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.198.225)(PORT=1521)))
LISTENER
的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Solaris: Version 10.2.0.3.0 - Production
启动日期                  01-2月 -2009 00:22:26
正常运行时间              0 天 0 小时 0 分 0 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /data/oracle/product/10.2/database/network/admin/listener.ora
监听程序日志文件          /data/oracle/product/10.2/database/network/log/listener.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.225)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
 
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "testrac" 包含 1 个例程。
 
例程 "testrac2", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

对于新节点而言,可以首先通过NETCA来配置监听程序:

$ netca

Oracle Net Services Configuration:

首先选择Cluster Configuration,然后选择全表3个节点,选择Listener Configuration,选择ADD,输入监听名称。

在图形界面环境下运行DBCA添加实例报错,由于DBCA对于ASM的支持存在问题,只能选择手工添加实例:

首先建立UNDOTBS3表空间,以及THREAD3对应的REDO.LOG的方法:

SQL> select group#, thread#, sequence#, bytes/1024/1024
  2  from v$log;

    GROUP#    THREAD#  SEQUENCE# BYTES/1024/1024
---------- ---------- ---------- ---------------
         1          1       1716             512
         2          1       1717             512
         3          2        839             512
         4          2        840             512

SQL> select member from v$logfile;

MEMBER
---------------------------------------------------
+DISK/testrac/onlinelog/group_1.258.633485433
+DISK/testrac/onlinelog/group_2.260.633485441
+DISK/testrac/onlinelog/group_3.268.633485447
+DISK/testrac/onlinelog/group_4.270.633485455

下面手工添加THREAD 3对应的REDO.LOG:

SQL> alter database add logfile thread 3 group 5 '+DISK/testrac/onlinelog/redo5.log' size 512m;

数据库已更改。

SQL> alter database add logfile thread 3 group 6 '+DISK/testrac/onlinelog/redo6.log' size 512m;

数据库已更改。

SQL> select group#, thread#, sequence#, bytes/1024/1024
  2  from v$log;

    GROUP#    THREAD#  SEQUENCE# BYTES/1024/1024
---------- ---------- ---------- ---------------
         1          1       1716             512
         2          1       1717             512
         3          2        839             512
         4          2        840             512
         5          3          0             512
         6          3          0             512

已选择6行。

SQL> select member from v$logfile;

MEMBER
----------------------------------------------------------------
+DISK/testrac/onlinelog/group_1.258.633485433
+DISK/testrac/onlinelog/group_2.260.633485441
+DISK/testrac/onlinelog/group_3.268.633485447
+DISK/testrac/onlinelog/group_4.270.633485455
+DISK/testrac/onlinelog/redo5.log
+DISK/testrac/onlinelog/redo6.log

已选择6行。

接着添加UNDOTBS3表空间:

SQL> select file_name from dba_data_files
  2  where tablespace_name like 'UNDOTBS_';

FILE_NAME
----------------------------------------------------------------------
+DISK/testrac/datafile/undotbs1.263.618591197
+DISK/testrac/datafile/undotbs2.266.618591249

SQL> create undo tablespace undotbs3
  2  datafile '+DISK/testrac/datafile/undotbs3.dbf' size 4096m;

表空间已创建。

检查数据库的SPFILE配置:

SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DISK/testrac/spfiletestrac.ora

由于系统使用的是SPFILE,下面直接修改必要的初始化参数值:

SQL> alter system set cluster_database_instances = 3 scope = spfile;

系统已更改。

SQL> alter system set instance_number = 3 scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system set local_listener =
  2  '(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.227)(PORT = 1521))'
  3  scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system set thread = 3 scope = spfile sid = 'testrac3';

系统已更改。

SQL> alter system set undo_tablespace = 'UNDOTBS3' scope = spfile sid = 'testrac3';

系统已更改。

下面重启数据库的实例,使得数据库加载新的SPFILE:

bash-2.03$ srvctl stop db -d testrac
bash-2.03$ srvctl start inst -d testrac -i testrac1
bash-2.03$ srvctl start inst -d testrac -i testrac2

登陆实例1的节点,ENABLE THREAD 3:

SQL> alter database enable thread 3;

数据库已更改。

在新增节点上编辑PFILE文件,指向SPFILE文件:

bash-3.00$ cd $ORACLE_HOME
bash-3.00$ cd dbs
bash-3.00$ vi inittestrac3.ora
spfile='+DISK/testrac/spfiletestrac.ora'

生成密码文件:

bash-3.00$ orapwd file=orapwtestrac3 password=password

建立adump、bdump、udump和cdump目录:

bash-3.00$ cd $ORACLE_BASE/admin
bash-3.00$ ls -l
total 2
drwxr-xr-x   7 oracle   oinstall     512 Jul  1 17:37 +ASM
bash-3.00$ mkdir testrac
bash-3.00$ cd testrac
bash-3.00$ mkdir bdump cdump adump udump

下面就可以登陆sqlplus并启动新实例了:

bash-3.00$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 4月 3 15:06:35 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

已连接到空闲例程。

SQL> startup
ORACLE
例程已经启动。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             503316616 bytes
Database Buffers         1627389952 bytes
Redo Buffers               14745600 bytes
数据库装载完毕。
数据库已经打开。
SQL> select inst_id, instance_number, instance_name
  2  from gv$instance;

   INST_ID INSTANCE_NUMBER INSTANCE_NAME
---------- --------------- ----------------
         3               3 testrac3
         2               2 testrac2
         1               1 testrac1

SQL> select instance_name, status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
testrac3         OPEN

随后还需要将手工添加的实例信息加到srvctl工具中:

$ srvctl add instance -d testrac -i testrac3 -n racnode3
$ srvctl modify instance -d testrac -i testrac3 -s +ASM3

至此,新增实例的操作完成。

还需要修改三个节点上的tnsnames.ora文件,确保通过TESTRAC的访问在3个实例上根据负载均衡的机制进行连接。

TESTRAC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = racnode3-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = testrac)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
        (RETRIES = 180)
        (DELAY = 5)
      )
    )
  )

比如配置TESTRAC服务名如上所示,下面连接数据库:

SQL> conn test/test@testrac
已连接。
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
testrac3

SQL> host
$ sqlplus test/test@testrac

SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 4月 9 14:56:34 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
testrac1

SQL> host
$ sqlplus test/test@testrac

SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 4月 9 14:56:46 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
testrac2

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-619996/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11076237