ORA-12560:TNS:协议适配器错误

mr_*_*air 57 sql oracle oracle9i ora-12560

在此输入图像描述

我谷歌[d]为此错误ORA-12560:TNS:协议适配器错误但无法找到实际原因以及如何解决此错误?

谁能告诉我一个解决登录问题的完美解决方案.

Bha*_*thi 83

  1. 转到托管Oracle数据库服务器的Windows计算机
  2. 转到Windows中的开始 - >运行 - > Services.msc.找到OracleService <SID>(此处OracleServiceORCL)并单击Start以启动oracle数据库服务(如果尚未运行) 服务

  3. 启动并运行后,从命令提示符运行以下命令:

    tnsping < tnsalias > 
    
    Run Code Online (Sandbox Code Playgroud)

    (你可以在文件中找到tnsalias条目tnsnames.ora)

  • 在我的情况下,服务正在运行但是这个错误?我该怎么办? (13认同)

小智 23

好像数据库似乎没有了.这可能是由于重新启动机器而实例未设置为自动启动,因此在从服务屏幕启动后不会以通讯方式启动.

只需转到命令提示符

  1. 设置Oracle SID C:> set oracle_sid = ORCL

  2. 现在运行Net start命令. C:> net start oracleserviceORCL

  • 工作就像一个魅力..谢谢Yasir (3认同)

Len*_*rri 23

在我的情况下,我OracleService在Windows中没有(OracleServiceORCL),Services.mscBharathi的回答所述.

我执行了这个命令:

C:\> ORADIM -NEW -SID ORCL
Run Code Online (Sandbox Code Playgroud)

然后,OracleService调用的OracleServiceORCL刚刚出现并在Services.msc中启动.非常好.


来源:https://forums.oracle.com/forums/message.jspa?messageID = 4044655 #4044655


小智 9

添加到环境变量以下的varibale和值来标识tnsnames.ora文件的位置:

TNS_ADMIN

C:\ ORACLE \产品\ 10.2.0\Client_1与\网络\ ADMIN

  • 您可能还需要将ORACLE_HOME设置为类似C:\ oracle\product\10.2.0\client_1的内容 (4认同)

Mri*_*moy 7

经过大量搜索,找到了一个简单的方法来解决它。只需按照步骤操作即可。

  1. 检查您的听众的状态。
    1. 打开命令提示符并键入 lsnrctl status
    2. 你不会得到听众。
  2. 现在打开listener.ora存在于以下目录中的文件:C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

    1. 打开该文件并使用您的计算机名称更改主机参数
    2. 您可以通过右键单击My Computer并检查您的计算机名称来获取您的计算机名称,并将主机参数替换为您的计算机名称,如下所示:

      LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )

      所以在这里你可以观察到HOST = Electron-PC,这是我的电脑名称。

    3. 保存 listener.ora 文件并再次返回到 cammand propt

    3.在命令提示符下输入以下内容 lsnrctl start

这将启动OracleTNSListner.

您可以通过打开任务管理器的服务选项卡在服务中检查它。如果没有自动启动,您可以启动它。

仅此而已,您就可以再次在 oracle 上工作了。

祝你好运。


小智 6

从命令控制台,如果出现此错误,可以通过键入sqlplus/nolog来避免此错误

然后你可以连接conn user/pass @host:port/service


wal*_*ros 5

在我的情况下(对于 OracleExpress)该服务正在运行,但是在尝试通过没有连接标识符的 sqlplus 访问数据库时遇到了这个问题:

sqlplus sys/mypassword as sysdba  
Run Code Online (Sandbox Code Playgroud)

为了让它工作,我需要添加连接标识符(XE for Oracle Express),所以下面的命令工作正常:

sqlplus sys/mypassword@XE as sysdba
Run Code Online (Sandbox Code Playgroud)

如果您仍然收到 ORA-12560,请确保您可以 ping XE 服务。用:

tnsping XE
Run Code Online (Sandbox Code Playgroud)

并且您应该得到 OK 消息以及完整的连接字符串(tnsping 命令位于 oracle 的安装目录:[oracle express installation dir]\app\oracle\product\11.2.0\server\bin)。如果您不能 ping,请确保tnsnames.orasqlplus 可以访问您的文件。您可能需要将 TNS_ADMIN 环境变量设置为指向文件所在的 ADMIN 目录,例如:

TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN
Run Code Online (Sandbox Code Playgroud)