暂无图片
连PDB数据库 TNSNAMES.ORA和LISTENER.ORA设置
我来答
分享
Thomas
2022-09-16
连PDB数据库 TNSNAMES.ORA和LISTENER.ORA设置

如题,ORACLE 12CR2,单实例,CDB名为CDB1, 其中有个PDB1,已经打开,现在先考虑在主机上能正常连入PDB1吧。按网上说法,tnsnames.ora要加上以下一段:

PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZwz9h5nohhnbxqbjryh23Z)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)

之后好像还得在listener.ora里加一段好像是SID_LIST_LISTENER之类的,但仿照网上的加了,重启listener时却报错啥语法错误。请指点迷津:一、tnsnames.ora里的内容是否正确? 二、listener.ora里要加哪些内容?

我来答
添加附件
收藏
分享
问题补充
7条回答
默认
最新
张sir

1、如果你可以连接到cdb,就不用修改listener.ora了,这个文件对格式要求比较高,如果想修改可以参考官方文档上去修改。

2、你的tnsnames.ora写的是对的,你先tnsping PDB1看看能否正常解析。

可以参考文档:

https://cloud.tencent.com/developer/article/1863030

暂无图片 评论
暂无图片 有用 1
暂无图片
刘贵宾

就在tnsnames.ora中添加就可以了,listener.ora不用写,你修改tnsnames.ora后还是无法连接pdb?


sqlplus sys/system@pdb1 as sysdba

暂无图片 评论
暂无图片 有用 0
刘贵宾
答主
2022-09-16
你tnsnames.ora写的没问题,格式应该是你复制过来导致的都是左对齐吧
Thomas

答主,我测试了,如果在DB主机上连接,我仅仅在主机的TNSNAMES.ORA上修改,就可以了,确实不需要改LISTENER.ORA。但是我现在想从远程客户端连接:运行net configuration assistant加服务名,最后一步test也成功了,奇怪的是,客户端sqlplus连入却报错,不知啥原因。

暂无图片 评论
暂无图片 有用 1
张sir
2022-09-16
你客户端里要有tnsnames.ora,如果没有的话,就要用sqlplus test/test@ip:1521/pdb1这种方式连接。
农夫三拳

把你出错的sqlplus 命令行,和报错信息贴上来

暂无图片 评论
暂无图片 有用 1
刘贵宾

连接报错截图看看

暂无图片 评论
暂无图片 有用 0
Thomas

是我自己搞错了,在客户端应该是点net manager然后 service naming里添加 entry, 这样才能在tnsnames.ora里加内容,长期不设置客户端,人糊涂了。现在都OK了。

暂无图片 评论
暂无图片 有用 1
Thomas

多说一句,客户端是19c的client,居然默认安装里没有tnsping程序,怪了

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏