Oracle Databse 11g 监听器配置服务的名称自解

Oracle 数据库 单库单实例服务中有好几个名称,

1. dbca 建库时需指定 GOLBAL_NAMESID,GOLBAL_NAME 指定数据库文件存放的目录名,SID 则指定的数据库实例的名字,SID关联数据库初始化参数文件、密码文件等;

2. 监听器服务端配置文件Listener.ora中静态监听部分设定的GOLBAL_NAMESID_NAME

3. 监听器客户端配置文件Tnsname.ora中连接服务设定的TNSname别名SEVICE_NAME

4. sql*plus连接服务引用名 (即 username/password@host:port/TNSname别名 );

5. 数据库实例建立后向监听器动态注册的 SERVICE_NAMESSID_NAME

6. 用户环境变量 ORACLE_SID

一共有 10 个名称,但它们的相关性并不强,配置时只需记得 让sqlplus连接到数据库实例 就行了,也就是(sqlplus)ORACLE_SID -->  (数据库)SID_NAME,这样就可以完成操作数据库了。


sqlplus 连接:

情况1:在本机通过用户环境变量连接数据库实例

这时sqlplus连接过程中通过用户环境变量ORACLE_SID指定要连接的数据库实例名,当然我们也可以用 sqlplus user/password@SID来指定要连接的数据库实例;

这时是进程之间的访问;

情况2:在远端/本机通过监听器连接数据库实例

这时sqlplus连接过程中通过监听器服务端的“服务名GOLBAL_NAME”指向数据库的实例名,再转向数据据库实例;

当然还有Tnsname.ora要说一下,当我们用sqlplus引用Tnsname.ora内的别名时,通过这个别名指向了监听器服务端的服务名GLOBAL_NAME,然后 接上一句;

监听器 服务进程:

静态注册:由Listener.ora文件配置部分的GOLBAL_NAME指定监听服务service(name)供客户端连接,SID_NAME指向数据库实例;

动态注册:由数据库实例服务名SERVICE_NAMES指定监听服务service(name)供客户端连接,数据库SID_NAME配置给临界听服务名指向的SID_NAME;

注:数据库实例服务名 SERVICE_NAMES 并不与 静态监听的 GOLBAL_NAME 相关,静态监听的 GLOBAL_NAME 与 Tnsname 的 SERVICE_NAME 相关;

注: sqlplus 连接时指定的Tns别名指向的服务名是监听器服务名,所以Tns别名可以任意指定;

最后,数据库SERVICE_NAMES:

该名由数据库自动根据数据库的DB_UNIQUE_NAME和DOMAIN_NAME拼接成,可以任意指定,也可以设为多个;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值