错误
针对物理机连接虚拟机出现错误:ORA-12537:TNS:connection closed
解决
以管理员身份打开 cmd
输入命令
lsnrctl status
,查看当前监听状态重点需关注的内容:监听程序参数文件、监听端点概要…
监听端点概要中会出现
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
这样一段话,我们需要将localhost(127.0.0.1)改为电脑型号进入监听程序参数文件给出的路径下,将listener.ora和tnsnames.ora文件内HOST=xxxxx全改为HOST=电脑型号
随后重启服务:
lsnrctl stop
(关闭监听服务),lsnrctl start
(开启监听服务),似乎有更快捷的一个指令即可完成两个操作:lsnrctl reload
重启另一个服务:OracleService数据库名称,例如:
net stop oracleServiceXE
(关闭服务),net start oracleServiceXE
(开启服务输入
lsnrctl status
,发现监听端点概要…中localhost已变成电脑型号此时物理机使用Navicat输入账号密码连接数据库即可
注意事项
关闭防火墙及其相关防护软件
本次Oracle版本为21c
连接成功后过段时间连接不上查看虚拟机IP地址是否发生变化