赞
踩
1. 作用
(1) 配置客户端连接 Oracle 时配置的参数信息,如:主机ip,端口等
(2) 配置后,可 '简化并隐藏' 参数信息,如下图所示
2. tns:Transparent Network Substrate(透明网络底层)
(1) 无论底层的网络层用什么协议对于上层的应用层都是 '透明的'
(2) 即说上层的应用层 '不用关心' 底层的网络层使用了什么协议
(3) 即上层的应用层使用的统一调用接口已经 '屏蔽' 了不同协议给调用带来的差异了
3. tnsnames.ora 路径 -- pl/sql
(1) 查询:帮助 -> 支持信息 -> 信息 -> TNS File
(2) 参考:C:\app\Administrator\product\11.2.0\client_1\network\admin
登录图示:“数据库” 中已包含登录的链接串
DWDB1 = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.66)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dwdb1)))
-- 或 (CONNECT_DATA =(SERVER = DEDICATED)(SID = dwdb1)))
'说明: 替换下列字符即可(按自身实际填写)'
DWDB1 : 连接字符的描述 -- 任意,建议和 sid 或 service_name 保持一致
HOST = 192.168.1.66 -- 远程服务器的 ip 地址
PORT = 1521 -- 远程服务器的 端口号
SID 或 SERVICE_NAME
特别说明:sid 和 service_name
结论:'service_name' 可以作为数据库的 '唯一标识',而 'sid' 并不一定
(故,推荐使用 'service_name',避免数据库向 '多实例数据库' 迁移时连不上数据库)
sid,即 '实例级的名字'
在单实例数据库中可以 '唯一标识' 一个数据库,
在多实例数据库中(RAC)中,一个数据库可以由多个实例对应,此时就不能 '唯一标识' 一个数据库
service_name,即 '数据库级的名字',可以有多个,任取一个均可
为了 '多实例数据库中' sid 无法 '唯一标识' 一个数据库的问题,Oracle 在 8i中,
推出了 service_name 用来 '唯一标识' 一个数据库
查询:
select t.instance_name from v$instance t; -- 查询 sid
> show parameter service_names -- 命令,展示 service_names
pl/sql develpler:
帮助 -> 支持信息 -> TNS 名称(拖到最下面):即可看到配置的 tns 信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。