前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >配置客户端连接到ASM实例

配置客户端连接到ASM实例

作者头像
Leshami
发布2018-08-14 10:31:59
5550
发布2018-08-14 10:31:59
举报
文章被收录于专栏:乐沙弥的世界乐沙弥的世界

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

代码语言:javascript
复制
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
 #Blog   : http://blog.csdn.net/robinson_0612  
   
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  
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年01月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档