关于无法连接ORACLE数据库的原因

zhouxu_hust 2009-05-30 10:45:14
症状是在SQLPLUS /NOLOG中 CONN USER/PASSWORD可以连接上 但是CONN USER/PASSWORD@SID 就会直接死掉 无论是PL/SQL还是SQLPLUS或者是TOAD都是这样的情况 机器是动态IP 当然你建议是在OS级加上LOOPBACK网卡 添加上之后 能够正常连接 但是最近每天开机 本机的服务还是连不上 在TRC文件里面报
Instance name: orcl

Redo thread mounted by this instance: 1

Oracle process number: 21

Windows thread id: 2596, image: ORACLE.EXE (SHAD)


opiino: Attach failed! error=-1 ifvp=00000000

SQLNET.LOG里面报
Fatal NI connect error 12560, connecting to:
(LOCAL=NO)

VERSION INFORMATION:
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
Time: 30-5月 -2009 22:08:25
Tracing not turned on.
Tns error struct:
ns main err code: 12560
TNS-12560: TNS: 协议适配器错误
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0

我目前是LOOPBACK网卡是一开机就启动的 出现连接不上数据库的情况 我就把LOOPBACK禁用 启动 然后本机的无线连接禁用 启动这样折腾几次 就能正常连上 有的时候 把本机的无线连接改成一个固定的IP 或者由固定IP改成自动获取IP 也能解决,但是实在不明白到底是什么问题导致的配置了LOOPBACK网卡还会有这个问题 望解答下 谢谢
...全文
1236 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
vc555 2009-06-01
  • 打赏
  • 举报
回复
you need to install a loopback adapter to assign a local IP address to that computer.

你照着文档一步步操作,可能是你之前哪没弄对。
vc555 2009-06-01
  • 打赏
  • 举报
回复
就是Installation Guide for Microsoft Windows啊。

你上官网去看吧。

2.4.1 Installing Oracle Database on DHCP Computers

Dynamic Host Configuration Protocol (DHCP) assigns dynamic IP addresses on a network. Dynamic addressing allows a computer to have a different IP address each time it connects to the network. In some cases, the IP address can change while the computer is still connected. You can have a mixture of static and dynamic IP addressing in a DHCP system.

In a DHCP setup, the software tracks IP addresses, which simplifies network administration. This lets you add a new computer to the network without having to manually assign that computer a unique IP address. However, before installing Oracle Database onto a computer that uses the DHCP protocol, you need to install a loopback adapter to assign a local IP address to that computer.
zhouxu_hust 2009-06-01
  • 打赏
  • 举报
回复
如果不用动态IP的话 就把本机的无线连接固定一个IP吗?
我的是LOOPBACK正常用一段时间后不能用的 是把原来的LOOPBACK网卡删掉 然后再建一个吗?
能把ORACLE关于这个问题的官方方案的网址发我一个吗 谢谢
vc555 2009-06-01
  • 打赏
  • 举报
回复
动态IP就是问题多。LOOPBACK是ORACLE官方的解决方案。

你是添加LOOPBACK正常使用一段时间后又不能用了吧?那就重配一次LOOPBACK试试。
别的也不知道有什么方法了,除非不用动态Ip。
wflyxiaonian 2009-06-01
  • 打赏
  • 举报
回复
学习
inthirties 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhouxu_hust 的回复:]
PING机器名可以PING通
CONN USER/PASSWORD@SID 在PL/SQL和SQLPLUS直接死掉
在SQLNET.LOG以及TRC文件的错误 和帖中一样
[/Quote]

是网络问题造成的,

你可以tnsping试试。
Fenglee2008 2009-05-31
  • 打赏
  • 举报
回复
问题有点诡异,我都怀疑是不是网卡的问题
yct0605 2009-05-31
  • 打赏
  • 举报
回复
看看是不是网络有问题,动态ip分配不建议这么用。
yu15tian 2009-05-31
  • 打赏
  • 举报
回复
学习ing
zhouxu_hust 2009-05-31
  • 打赏
  • 举报
回复
我就是在本机上进行操作 LISTENER和TNSNAME里面都是用的本机名称
suncrafted 2009-05-31
  • 打赏
  • 举报
回复
网络问题吧。
oraclelogan 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhouxu_hust 的帖子:]
症状是在SQLPLUS /NOLOG中 CONN USER/PASSWORD可以连接上 但是CONN USER/PASSWORD@SID 就会直接死掉 无论是PL/SQL还是SQLPLUS或者是TOAD都是这样的情况 机器是动态IP 当然你建议是在OS级加上LOOPBACK网卡 添加上之后 能够正常连接 但是最近每天开机 本机的服务还是连不上 在TRC文件里面报
Instance name: orcl

Redo thread mounted by this instance: 1

Oracle process number: 21

Windows thread id: 2596, ima…
[/Quote]

动态IP建议的话,用网络中的计算机名字来取代动态ip。
ruihuahan 2009-05-31
  • 打赏
  • 举报
回复
机器是动态IP
==================
作为服务器的机器,不能使用动态IP
zhouxu_hust 2009-05-31
  • 打赏
  • 举报
回复
PING机器名可以PING通
CONN USER/PASSWORD@SID 在PL/SQL和SQLPLUS直接死掉
在SQLNET.LOG以及TRC文件的错误 和帖中一样
jdsnhan 2009-05-31
  • 打赏
  • 举报
回复
IP如果不固定,应使用机器名。

LZ说listener和tnsname 使用的是机器名,那你ping 机器名,看是否通。

CONN USER/PASSWORD@SID 会死掉,没有错误提示吗?
inthirties 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhouxu_hust 的帖子:]
症状是在SQLPLUS /NOLOG中 CONN USER/PASSWORD可以连接上 但是CONN USER/PASSWORD@SID 就会直接死掉 无论是PL/SQL还是SQLPLUS或者是TOAD都是这样的情况  机器是动态IP 当然你建议是在OS级加上LOOPBACK网卡 添加上之后 能够正常连接 但是最近每天开机 本机的服务还是连不上  在TRC文件里面报
Instance name: orcl

Redo thread mounted by this instance: 1

Oracle process number: 21

Windows thread id: 2596, image: ORA…
[/Quote]

今天刚帮csdn里的朋友解决过这个问题。步骤如下

1. 把loopback禁止掉,最好是删除掉,
2. 停止listener lsnrctl stop
3. 启用net manager把旧的listener去掉
4. 启用net manager建立新的listener,指定host为你的主机名或者是127.0.0.1
5. 保存并且启动listener lsntctl start
6. 检查tns tnsping 或者 tnsping servicename
7. 查看listener状态 lsnrctl status 看是否有instance已经绑定进来。如果没有, 用sqlplus "/ as sysdba"登录后,运行alter system register;
运行完后再检查listener状态。
8. 用@SID连接



==================================================================
Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理

如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:dba@Inthirties.com
网站: http://www.inthirties.com
pathuang68 2009-05-30
  • 打赏
  • 举报
回复
应该是网络问题,和Oracle无关

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧