教学文章
Technology Exchange
热门课程
400电话

免费咨询热线
400-090-9964

教学文章

配置客户端连接到ASM实例

时间:2017-08-30 来源:

  对于Oracle 网络配置,我们通常通过negmgr或者netca来完成客户端连接到数据库实例。而对于连接到ASM实例,同样可以实现从客户端来进行连接。不过Oracle并未为我们提供工具来完成配置,我们可以通过手动配置监听以及客户端tnsnames来实现。本文对此给出描述与示例。

  1、服务器端、客户端的环境

  #服务器端环境,host信息

  oracle@bo2dbp:~> cat /etc/hosts |grep vip

  192.168.7.61 bo2dbp-vip.2gotrade.com bo2dbp-vip

  192.168.7.62 bo2dbs-vip.2gotrade.com bo2dbs-vip

  #操作系统及Oracle版本

  oracle@bo2dbp:~> cat /etc/issue

  Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).

  oracle@bo2dbp:~> sqlplus -v

  SQL*Plus: Release 10.2.0.3.0 - Production

  #服务器端环境,集群信息

  oracle@bo2dbp:~> ./crs_stat.sh

  Resource name Target State

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

  ora.GOBO4.GOBO4A.inst ONLINE ONLINE on bo2dbp

  ora.GOBO4.GOBO4B.inst ONLINE ONLINE on bo2dbs

  ora.GOBO4.db ONLINE ONLINE on bo2dbp

  ora.bo2dbp.ASM1.asm ONLINE ONLINE on bo2dbp

  ora.bo2dbp.LISTENER_BO2DBP.lsnr ONLINE ONLINE on bo2dbp

  ora.bo2dbp.gsd ONLINE ONLINE on bo2dbp

  ora.bo2dbp.ons ONLINE ONLINE on bo2dbp

  ora.bo2dbp.vip ONLINE ONLINE on bo2dbp

  ora.bo2dbs.ASM2.asm ONLINE ONLINE on bo2dbs

  ora.bo2dbs.LISTENER_BO2DBS.lsnr ONLINE ONLINE on bo2dbs

  ora.bo2dbs.gsd ONLINE ONLINE on bo2dbs

  ora.bo2dbs.ons ONLINE ONLINE on bo2dbs

  ora.bo2dbs.vip ONLINE ONLINE on bo2dbs

  #客户端信息

  C:\Users\robinson.cheng>systeminfo

  Host Name: PC39

  OS Name: Microsoft Windows 7 Professional

  OS Version: 6.1.7600 N/A Build 7600

  OS Manufacturer: Microsoft Corporation

  System Type: x64-based PC

  C:\Users\robinson.cheng>sqlplus -v

  SQL*Plus: Release 10.2.0.3.0 - Production

  2、监听器的状态

  oracle@bo2dbs:~> lsnrctl status LISTENER_BO2DBS | grep ASM

  Service "+ASM" has 1 instance(s). #可以看到ASM实例处于BLOCKED状态

  Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...

  Service "+ASM_XPT" has 1 instance(s).

  Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...

  3、分配ASM SID

  #使用下面的ASM配置信息来修改监听器配置文件

  Item Node1 Node2

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

  hostname bo2dbp bo2dbs

  Oracle SID GOBO4A GOBO4B

  ASM SID +ASM1 +ASM2

  ASM Global DB Name (service name) +ASM +ASM

  4、修改监听配置文件listener.ora

  #对于监听器的配置,仅仅是增加子项SID_DESC

  #下面是增加之后所看到的内容

  oracle@bo2dbp:~> more $ORACLE_HOME/network/admin/listener.ora

  # listener.ora.bo2dbp Network Configuration File: /u01/oracle/db/network/admin/listener.ora.bo2dbp

  # Generated by Oracle configuration tools.

  LISTENER_BO2DBP =

  (DESCRIPTION_LIST =

  (DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = bo2dbp-vip.2gotrade.com)(PORT = 1521)(IP = FIRST))

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.51)(PORT = 1521)(IP = FIRST))

  )

  )

  SID_LIST_LISTENER_BO2DBP =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = /u01/oracle/db)

  (PROGRAM = extproc)

  (SID_DESC = #这整个SID_DESC项即为ASM1实例新增的条目

  (SID_NAME = +ASM1)

  (GLOBAL_DBNAME = +ASM)

  (ORACLE_HOME = /u01/oracle/db)

  )

  )

  oracle@bo2dbs:~> more $ORACLE_HOME/network/admin/listener.ora

  # listener.ora.bo2dbs Network Configuration File: /u01/oracle/db/network/admin/listener.ora.bo2dbs

  # Generated by Oracle configuration tools.

  LISTENER_BO2DBS =

  (DESCRIPTION_LIST =

  (DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = bo2dbs-vip.2gotrade.com)(PORT = 1521)(IP = FIRST))

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.52)(PORT = 1521)(IP = FIRST))

  )

  )

  SID_LIST_LISTENER_BO2DBS =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = /u01/oracle/db)

  (PROGRAM = extproc)

  )

  (SID_DESC = #这整个SID_DESC项即为ASM2实例新增的条目

  (SID_NAME = +ASM2)

  (GLOBAL_DBNAME = +ASM)

  (ORACLE_HOME = /u01/oracle/db)

  )

  )

  5、重启监听器

  oracle@bo2dbp:~> srvctl stop listener -n bo2dbp

  oracle@bo2dbp:~> srvctl start listener -n bo2dbp

  oracle@bo2dbp:~> srvctl stop listener -n bo2dbs

  oracle@bo2dbp:~> srvctl start listener -n bo2dbs

  #查看监听器的状态

  oracle@bo2dbp:~> lsnrctl status LISTENER_BO2DBP | grep ASM

  Service "+ASM" has 2 instance(s). #可以看到多处了一个为UNKNOWN状态,表明使用了静态方式注册

  Instance "+ASM1", status UNKNOWN, has 1 handler(s) for this service...

  Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

  Service "+ASM_XPT" has 1 instance(s).

  Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

  oracle@bo2dbs:~> lsnrctl status LISTENER_BO2DBS | grep ASM

  Service "+ASM" has 2 instance(s). #示例2上监听器状态也多出了一个为UNKNOWN状态的+ASM2实例

  Instance "+ASM2", status UNKNOWN, has 1 handler(s) for this service...

  Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...

  Service "+ASM_XPT" has 1 instance(s).

  Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...

  #Author : Robinson

  6、配置客户端tnsnames

  #Windons 客户端tnsnames.ora添加如下配置条目

  GOBO4_ASM1 =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = +ASM)

  )

  )

  GOBO4_ASM2 =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = +ASM)

  )

  )

  7、测试连接到ASM实例

  C:\Users\robinson.cheng>sqlplus -S sys/oracle@GOBO4_ASM1 as sysdba @inst

  INSTANCE_NAME HOST_NAME STATUS

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

  +ASM1 bo2dbp STARTED

  C:\Users\robinson.cheng>sqlplus -S sys/oracle@GOBO4_ASM2 as sysdba @inst

  INSTANCE_NAME HOST_NAME STATUS

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

  +ASM2 bo2dbs STARTED

  (以上内容摘于网络,如有侵权,请告之,将第一时间删除)

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright ALL Rights Reserved 京ICP备11008061号-1

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com www.cuug.net

电话:010-59426307 010-59426319 邮政编码:100089

地址:北京市海淀区北清路164号28-38号院