客户端网络配置上的一点说明

这几天qq上很多朋友问及客户端网络配置问题,希望这篇文章能帮助一些朋友(之前也写过一篇文章关于用第三方工具连接数据库:http://blog.itpub.net/29876893/viewspace-1465317/)。首先说明的是数据库是单实例,数据库的连接方式是专有连接模式。
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

首先浅谈一下 服务器端 的网络配置,两种方式可以选择:
1.
[oracle@localhost ~]$ netca

通过netca来配置,这种通过图形化的方式,很方便

2.直接去listener.ora文件里配置
静态监听配置:
LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
  )


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =       
      (GLOBAL_DBNAME = jing)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl3939)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = tai)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl3939)
    )
  )

这里的 GLOBAL_DBNAME的值( jing,tai)就是为客户端提供的服务名,也就是客户端service_name的值:
服务 "jing" 包含 1 个实例。
  实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "tai" 包含 1 个实例。
  实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
你也可以添加多个服务名。
如果你想配置动态监听,很简单,设置service_names,数据库默认注册的是1521的端口,设置了多个service_names后,oracle的后台进程PMON会给你注册,是不是很方便!
如果你注册的动态监听端口不想是1521,比如是1522还要设置 local_listener=text(alter  system  set  local_listener=text scope=spfile;)
 并在tnsnames.ora文件里添加:
text =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名XXXX)(PORT = 1522))
   )
 )

下面我们看看注册的监听吧:(注意哦,配置的动态监听要数据库打开才可以启动)
[oracle@localhost ~]$ lsnrctl status
...
...
服务 "a.localdomain" 包含 1 个实例。
  实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "b.localdomain" 包含 1 个实例。
  实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "c.localdomain" 包含 1 个实例。
  实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "d.localdomain" 包含 1 个实例。
  实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "jing" 包含 1 个实例。
  实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl3939.localdomain" 包含 1 个实例。
  实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl3939XDB.localdomain" 包含 1 个实例。
  实例 "ORCL3939", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tai" 包含 1 个实例。
  实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
...
...
a.localdomain
b.localdomain
c.localdomain
jing                                     =>都可以给客户端提供服务(客户端的service_name)
orcl3939.localdomain
orcl3939XDB.localdomain
tai

下面介绍客户吧:
同样我们配置可以有两种方式:
1.Net manager(图形化界面还是比较被我们喜爱的):
先配服务命名:
这里你写啥都行,我们写55

主机名建议写ip,端口号看服务器端监听的配置啦

这里的服务名写什么,不要我多说了吧:
a.localdomain
b.localdomain
c.localdomain
jing                                   
orcl3939XDB.localdomain
tai


到此我们的服务命名已经配好了!
测试一下先:

下面我们配置下监听:(只做以下说明图片,其他的都不是问题)

oracle主目录可以不用写,全局数据库名和sid,Google  please啦
2.直接去目录下配置tnsnames.ora:

55 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)    =>服务器专有连接模式(如果用的是共享模式,则服务名需要写动态注册的监听)
      (SERVICE_NAME = b.localdomain)
    )
  )
这里也不用太多说明了吧!
那我们tnsping  服务命名!

OK啦!
下面就是你使用第三方工具连接数据库了!
pl/sql developer,toad,spotlight.....剩下的问题迎刃而解。
如以上有误请指正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值