关于无法连接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网卡还会有这个问题 望解答下 谢谢
...全文
1206 17 打赏 收藏 转发到动态 举报
写回复
用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,377

社区成员

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

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