1 概述
2 图示
2.1 路径
方式1:帮助 -> 支持信息 -> 信息 -> TNS File
方式2:帮助 -> 支持信息 -> TNS 名称
2.2 参数
-- 默认 ORCL,路径在 上述 “TNS 名称” 中
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
-- 添加 DWDB
DWDB = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.66)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dwdb)))
-- 或 (CONNECT_DATA =(SERVER = DEDICATED)(SID = dwdb)))
-- 下列信息请根据自身实际情况填写
DWDB : 连接字符的描述 -- 任意,建议和 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
2.3 登录
数据库:dwdb(配置的 “连接串” 信息)
3 扩展
pl/sql develpler:
帮助 -> 支持信息 -> TNS 名称(拖到最下面):即可看到配置的 tns 信息