直接说最终操作,直接用Oracle Net Manager的“服务命名”和 “监听程序”来配置
服务命名对应的文件是 tnsnames.ora , 监听程序对应的文件是 listener.ora 。填写上对应的信息后,点左上角 文件 - 保存即可。 与其对应还有个配置工具是“oracle net configuration assistant”
配置完毕后,输入对应的用户密码登录即可。
如果用datagrip直接输入哪些对应信息,就能直接登录了。
=========分割线=======
下面是踩坑经历:对方版本是Oracle 12C ,那天拿起我2年前的Oracle / plsql工具,配置了tnsnames.ora后进行连接。然后报错
通过everything来搜oci.dll 。 我发现我win7电脑有两个路径地方都有oci.dll 。 更换两次OCI library都是报这个错,可能版本太老了,要换成更高版本的64位 plsql。
隔天在公司win7电脑上安装Oracle 19c ,又碰坑,发现服务无法启动。找到篇博客里面说win7不支持19c
https://blog.csdn.net/JiekeXu/article/details/104644453
那就在win10笔记本电脑上安装19c , OracleOraDB19Home1TNSListener 服务正常启动。也安装plsql 13 (64位)
安装19c 参考博客 https://www.jianshu.com/p/a089ef9c2e77
netstat -ano | findstr "1521" 也有显示出对应进程/端口。
按照两年前的经验,在tnsnames.ora上配置对应的IP , 端口 ,名称。然后一连又报错。
Oracle服务是开了,网上说要修改listener.ora 。那就手动改呗,连接之后还是错。原来有些配置和网上给的模板有些语法出入。
最终是用开头讲的 Oracle Net Manager进行配置就能连上了。
大体来讲plsql连Oracle,就需要改 tnsnames.ora 和 listener.ora 。
下面附上配置。 tnsnames.ora
主看ORCLCDB这一段
# tnsnames.ora Network Configuration File: D:\studio\oracle19c\WINDOWS.X64_193000_db_home\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCLCDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 47.xxx.xx.xx)(PORT = 3xxx))
)
(CONNECT_DATA =
(SID = ORCLCDB)
(SERVER = DEDICATED)
)
)
DB19C =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = LYBQYFXPWIJFAWJ)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db19c)
)
)
LISTENER_DB19C =
(ADDRESS = (PROTOCOL = TCP)(HOST = LYBQYFXPWIJFAWJ)(PORT = 1521))
listener.ora
主看SID_DESC这一段的ORCLCDB这一段和LISTENER下面DESCRIPTION
# listener.ora Network Configuration File: D:\studio\oracle19c\WINDOWS.X64_193000_db_home\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = db19c)
(ORACLE_HOME = D:\studio\oracle19c\WINDOWS.X64_193000_db_home\bin)
(SID_NAME = db19c)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCLCDB)
(ORACLE_HOME = D:\studio\oracle19c\WINDOWS.X64_193000_db_home\bin)
(SID_NAME = ORCLCDB)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LYBQYFXPWIJFAWJ)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 47.xxx.xx.xx)(PORT = 3xxx))
)
)
ADR_BASE_LISTENER = D:\studio\oracle19c\WINDOWS.X64_193000_db_home\log
成功登陆后,顶部显示:
如果拿捏不准语法,复制粘贴后有错误,那就用Oracle Net Manager来配置吧,生成的文件里对应配置是无误的。