【问题标题】:Unable to connect my oracle db after restart重启后无法连接我的 oracle 数据库
【发布时间】:2021-05-19 07:18:50
【问题描述】:

我正在尝试在DBeaver 中连接 oracle DB,所以它工作正常,我可以获取数据并能够连接它,但是在重新启动我的系统后,我在 DB 连接中收到以下错误。

如果我尝试从本地 nodejs 代码连接同一数据库,则会出现以下错误。

Oracle 连接错误:{ [错误:ORA-12170:TNS:连接超时 发生]错误编号:12170,偏移量:0}

谁能帮我解决这个问题?

编辑: 我试图在通过 Node.js 连接数据库时在连接字符串中设置我的 IP

(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=SID)(CID=(PROGRAM=app.js)(HOST=HOST-URL)))(ADDRESS=(PROTOCOL=tcp)(HOST=MY-CURRENT-IP) (端口=1524)))

还是一样的错误:

连接超时:(

不确定这里缺少什么配置。

提前致谢!

【问题讨论】:

  • oracle 数据库在哪里;在同一个主机?它是什么版本?
  • "重新启动我的系统后" - 数据库所在的机器可能具有动态 IP 地址,并且在重新启动时更改; 173.36.101.240 仍然是正确的 IP 地址吗?
  • 没有,我当前的 IP 与此不同,如何将其更改为当前 IP?
  • 在命令行中运行LSNRCTL STATUS并检查它是否正在运行。还要检查 Oracle 服务是否也在运行。我在 Windows 上的“默认”安装也遇到了同样的问题,这是由于服务没有启动
  • 这个命令是未知的 windows 没有在 CMD 上执行这个命令。我该如何检查:(

标签: node.js oracle dbeaver


【解决方案1】:

该错误意味着给定服务器(主机:端口)无法从您尝试连接的源主机访问。 这可能是由于:

  • 阻止防火墙端口
  • Oracle 服务器设置(诸如“我应该监听哪些网络接口”之类的设置)。
  • 主机 IP 或端口号错误。

【讨论】:

  • 这也可能意味着监听器已关闭!
  • 第 1 和第 2 点我确信除了第 3 点之外没有任何变化,如何在 DBeaver 中设置我当前的 IP?
  • 你不能用localhost代替IP地址吗?
  • 我是 Oracle 新手,您能指导我如何设置 localhost 代替 IP 吗?
【解决方案2】:

“没有,我当前的 IP 与此不同,我该如何将其更改为 当前IP"

根本问题是您在动态获取其 IP 地址的机器上运行您的数据库。它在每次重新启动时都会发生变化,使您的数据库成为移动目标。如果这是您的个人 PC,那么最好的解决方案是使用 VirtualBox 创建 VM。使用 HOSTONLY 适配器配置该 VM,然后在安装操作系统时为其提供固定 IP 地址,然后安装 oracle。

如果这不是您的个人计算机(您无法创建 VM),请详细说明安装数据库的计算机。

【讨论】:

  • 这是我的办公机器,所以我不能在上面创建虚拟机,关于服务器,我的 oracle DB 安装在服务器上,我对此不太了解。是不是因为 Mac 机器上的服务器机器配置 bcus 我可以毫无错误地连接 t 吗?
  • 我们需要做的第一件事就是看看监听器在做什么。在运行数据库的机器上的命令提示符处,执行“lsnrctl status”。然后从命令窗口复制命令和响应并将其粘贴到您的原始问题中。
  • 实际上,我没有生产服务器访问权限,我只有生产数据库凭据,所以我认为这不是服务器问题,只是我的系统正在创建问题。
  • 我同意这不是“服务器问题”,但在我们知道如何配置客户端之前,我们必须知道服务器在做什么以及如何配置它。那么,您为什么不与您的 DBA 合作 - 确实拥有服务器访问权限的人?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 2021-05-25
  • 2017-08-01
相关资源
最近更新 更多