连接oracle数据库 报 ora-12547错误

我是小小小小程序媛 2014-11-19 06:14:41

oracle版本:11G
服务器:window 2003

情况:
先前一直用着没有问题,后来因为技术需要对2003服务器重启了一次,重启过后PLSQL也能正常登陆,程序访问数据库也没有问题。
后来因为工作需要,出差在外,过了半个来月回到公司,用PLSQL登陆时报ora-12547:丢失连接 错误,程序也不能访问数据库。使用telnet 1521能成功,使用tnsping,告知TNS-12571:包写入程序失败。

下面截图是我在登陆OEM的截图:https://oracle11g:1158/em/
...全文
6778 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2014-11-20
  • 打赏
  • 举报
回复
host=oracle11g? oracle11g是你的主机名吗?host后面应该是ip地址或主机的名称
  • 打赏
  • 举报
回复
查看的监听程序的日志文件

<msg time='2014-11-20T11:49:19.234+08:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='ORACLE11G'
 host_addr='192.168.66.52'>
 
<txt>
	TNS-12560: TNS: 协议适配器错误
 
	TNS-00530: 协议适配器错误
  32-bit Windows Error: 53: Unknown error
   
	TNS-12518: TNS: 监听程序无法分发客户机连接
    
	TNS-12571: TNS: 包写入程序失败
     
	TNS-12560: TNS: 协议适配器错误
      
	TNS-00502: 参数无效
       32-bit Windows Error: 22: Invalid argument
 
</txt>

</msg>

  • 打赏
  • 举报
回复
引用 19 楼 huangdh12 的回复:
不是操作系统是2003 吗? 直接在服务里面 把监听以及oracle 服务都重启,再不行,重建一下监听 再试。
我把oracle重启了,监听也重启了,上楼是操作完后查看到的监听状态,看样子监听是起来了,但是在数据库服务器上使用PLSQL登陆oracle还是报错,ora-12571 包写入程序失败。
  • 打赏
  • 举报
回复
引用 17 楼 bw555 的回复:
[quote=引用 15 楼 JAVA_LiuTe 的回复:]

[quote=引用 11 楼 bw555 的回复:]
cmd命令行执行的

输入完后出现如下提示:ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它[/quote]
用sqlplus连接你应用的用户能连上吗?不能连接的话将服务关闭,重新启动吧
shutdown immediate
startup
另外参考13#的方式检查监听是否正常[/quote]


操作完后,在数据库服务器上用PLSQL登陆报ora-12571 包写入程序失败。
huangdh12 2014-11-20
  • 打赏
  • 举报
回复
不是操作系统是2003 吗? 直接在服务里面 把监听以及oracle 服务都重启,再不行,重建一下监听 再试。
bw555 2014-11-20
  • 打赏
  • 举报
回复
看样子是监听的问题,参考 Oracle 10201 lsnrctl status卡住问题解决
bw555 2014-11-20
  • 打赏
  • 举报
回复
引用 15 楼 JAVA_LiuTe 的回复:
[quote=引用 11 楼 bw555 的回复:] cmd命令行执行的
输入完后出现如下提示:ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它[/quote] 用sqlplus连接你应用的用户能连上吗?不能连接的话将服务关闭,重新启动吧 shutdown immediate startup 另外参考13#的方式检查监听是否正常
  • 打赏
  • 举报
回复
引用 13 楼 bw555 的回复:
监听貌似也没起来
使用lsnrctl status查看监听状态
没启动的话lsnrctl start 启动监听程序

敲完后出现如下界面:



  • 打赏
  • 举报
回复
引用 11 楼 bw555 的回复:
cmd命令行执行的
输入完后出现如下提示:ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
bw555 2014-11-20
  • 打赏
  • 举报
回复
引用 12 楼 JAVA_LiuTe 的回复:
敲完后出现了如下界面。
命令行执行,不是进入sqlplus执行
bw555 2014-11-20
  • 打赏
  • 举报
回复
监听貌似也没起来 使用lsnrctl status查看监听状态 没启动的话lsnrctl start 启动监听程序
  • 打赏
  • 举报
回复
敲完后出现了如下界面。
bw555 2014-11-20
  • 打赏
  • 举报
回复
cmd命令行执行的
  • 打赏
  • 举报
回复
引用 8 楼 bw555 的回复:
是不是服务没启动啊,服务器上执行下面语句,把服务启动一下
sqlplus / as sysdba
startup
失败的话,看看有啥提示信息
这个命令是在哪里敲入的,平台是啥 ?
  • 打赏
  • 举报
回复
是这个吗,文件名:sqlnet.log

bw555 2014-11-20
  • 打赏
  • 举报
回复
是不是服务没启动啊,服务器上执行下面语句,把服务启动一下
sqlplus / as sysdba
startup
失败的话,看看有啥提示信息
  • 打赏
  • 举报
回复
引用 4 楼 wildwave 的回复:
检查实例运行情况;检查网络
能够详细点吗,有可操作性的详细建议。我知道这要求有点过分,但是我真没法子了,网上说的建议我都试了一遍,不行。谢谢了
  • 打赏
  • 举报
回复
引用 3 楼 huangdh12 的回复:
看看告警日志,看看 oracle进程的 内存,cpu占用量。
由于我只是一开发人员,您能够详细地告诉我如何查看高精日志,oracle进程内存吗 ?谢谢
  • 打赏
  • 举报
回复
引用 2 楼 bw555 的回复:
1、查看服务器日志是否有警告或错误信息 2、查看在服务器上是否能正常连接数据库 3、核实网络或防火墙方面最近是否有变动
1.由于我不是专业的DBA,只是开发人员,所以还请您告诉我,在哪查看日志信息。 2.我的这些操作都是在服务器上进行了,连不上。 3.网络跟防火墙没有变动。
小灰狼W 2014-11-20
  • 打赏
  • 举报
回复
检查实例运行情况;检查网络
加载更多回复(10)

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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