Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

157

积分

0

好友

14

主题
1#
发表于 2012-6-13 16:17:04 | 查看: 8476| 回复: 10
操作系统:windows 2003 server 32bit
数据库:Oracle 10.1.0.2.0

sqlnet.ora:

  1. SQLNET.AUTHENTICATION_SERVICES = (NTS)
复制代码


现象描述:
朋友的数据库出现宕机现象,想使用sqlplus / as sysdba甚至sqlplus -prelim / as sysdba登录后做systemdump,均未能如愿,步骤如下:

  1. C:\>set ORACLE_SID=lyoa
  2. C:\>sqlplus / as sysdba
  3. SQL*Plus: Release 10.1.0.2.0 Production on 星期一 6月 11 17:05:23 2012
  4. Copyright (c) 1982, 2003, Oracle.  All rights reserved.
  5. ERROR:
  6. ORA-12560: TNS: 协议适配器错误

  7. 请输入用户名:
复制代码


此外,数据库在正常情况下是可以基于OS认证登录的。

各位高手帮忙分析分析是什么原因,协议适配器错误究竟意味着什么?
像这种情况又该如何诊断故障呢?
2#
发表于 2012-6-13 16:21:27
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,

启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务

面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SI

D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建

,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下

输set oracle_sid=XXXX,XXXX就是你的database SID.

回复 只看该作者 道具 举报

3#
发表于 2012-6-13 16:29:59
原帖由 紫恒 于 2012-6-13 16:21 发表
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,

启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服 ...


1.基于OS认证时不需要监听,你可以实验
2.数据库服务(指windows server)处于启动状态,因此不是这个原因导致ORA-12560的
3.和注册表关系不大,数据库在正常情况时可以基于OS认证登录,仅在异常时无法

谢谢~

回复 只看该作者 道具 举报

4#
发表于 2012-6-13 16:33:36
我是在ITPUB上搜索到地。。随便粘贴了一下。

回复 只看该作者 道具 举报

5#
发表于 2012-6-13 16:39:08
不知道你这台服务器装了几个ORACLE数据库,你可以到当前数据库下的$ORACLE_HOME/bin去执行 sqlplus / as sysdba 试一下

回复 只看该作者 道具 举报

6#
发表于 2012-6-13 16:51:18
原帖由 Tomason 于 2012-6-13 16:39 发表
不知道你这台服务器装了几个ORACLE数据库,你可以到当前数据库下的$ORACLE_HOME/bin去执行 sqlplus / as sysdba 试一下


了解过了,就这一个ORACLE_HOME

回复 只看该作者 道具 举报

7#
发表于 2012-6-13 17:15:31
进入cmd  --> cd 到 ORACLE_HOME目录bin下 set ORACLE_SID=XXXX 然后执行sqlplus / as sysdba 还是一样报错吗?

回复 只看该作者 道具 举报

8#
发表于 2012-6-13 17:35:52

  1. Connect As Sysdba On Windows Fails With ORA-12560: TNS:protocol adapter error [ID 989716.1]       
  2.                
  3. 修改时间:2011-10-7类型:PROBLEM状态:MODERATED优先级:3       

  4. In this Document
  5.   Symptoms
  6.   Cause
  7.   Solution
  8.   References

  9. This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

  10. Applies to:
  11. Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.1.0 - Release: 10.2 to 11.2
  12. Information in this document applies to any platform.
  13. ***Checked for relevance on 07-Oct-2011***
  14. Symptoms
  15. A 'connect / as sysdba' on Windows fails witb an ORA-12560 as shown:

  16. C:\> sqlplus /nolog
  17. SQL> connect / as sysdba
  18. ERROR:
  19. ORA-12560: TNS:protocol adapter error

  20. Cause
  21. The PATH environment variable was incorrectly set.

  22. In this case, an Oracle Client software home was set as the first entry in the PATH and not the Oracle Database software home. Therefore, the client version of sqlplus was used.

  23. The connection as SYSDBA was unable to make a connection using the client software because a password file was not in use and this is deemed as a remote connection. Connection as a user other than SYSDBA worked because a password file from a remote connection is not needed for this type of user.

  24. Solution
  25. Set the PATH environment variable to specify the database ORACLE_HOME as the first directory in the path.
复制代码
请参照这篇troubleshooting guide去检查你的问题。

具体查查path环境变量以及相关环境变量是否有问题。 比如client端的bin目录里的命令是否在server端的bin目录里的命令之前。因为如果在这之前,由于没有密码文件,会走网络去连,因而出现这个ora的报错。

Good luck.

回复 只看该作者 道具 举报

9#
发表于 2012-6-13 18:19:12
上传 alert.log , 尝试重启oracleservice

回复 只看该作者 道具 举报

10#
发表于 2012-6-14 08:45:35
原帖由 maclean 于 2012-6-13 18:19 发表
上传 alert.log , 尝试重启oracleservice

alert.log中其实没有什么有价值内容,该数据库在周一15:35疑似出现异常(该判断来自于listener.log listener.rar (3.31 KB, 下载次数: 891) ),17点多尝试诊断,未果后重启oracle服务。
alert.log中无15:35之后内容,最后几条记录只是些redo log切换的条目。
ORA-12560错误和ORACLE_HOME,PATH,注册表均没有关系,因为数据库在正常情况下是可以基于OS认证登录的。其实周一晚上重启之后已经可以登录了,只是有这样几个疑问:
1.数据库hang住的时候为何登录会提示ORA-12560错误,在我想象当中的异常现象是登录hang住。
2.对于这样的数据库该如何诊断?,linux下可以使用gdb,但windows下我目前想不出什么好办法,曾考虑用Procexp做full dump,但实在分析不来。
目前让我朋友这样解决:
在数据库正常时,使用sqlplus -prelim先登录进去,希望下次宕机时这个连接能用。

[ 本帖最后由 clevernby 于 2012-6-14 08:54 编辑 ]

回复 只看该作者 道具 举报

11#
发表于 2012-6-20 10:11:00
不要沉啊,高手们发表看法吧

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-26 12:40 , Processed in 0.056894 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569