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

在这里输入图像描述

我Google [d]为这个错误ORA-12560:TNS:协议适配器错误,但无法find实际的原因,以及如何解决这个错误?

谁能告诉我一个完美的解决scheme来解决login问题。

  1. 转到承载Oracle数据库服务器的Windows计算机
  2. 转到开始 – >运行 – > Services.msc在Windows中。 findOracleService(这里是OracleServiceORCL)并点击“开始”来启动oracle数据库服务(如果还没有运行的话)
  3. 一旦启动并运行,从命令提示符处运行以下命令:

    tnsping <tnsalias>

(tnsalias条目,你可以在tnsnames.ora文件中find它)

服务

好像数据库不起来。 这可能是由于重新启动机器,并且实例没有设置为自动启动,并且在从服务启动屏幕后不能启动。

只需转到命令提示符

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

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

在我的情况下,我没有在Windows Services.mscOracleService (OracleServiceORCL),如Bharathi的答案中所述 。

我执行了这个命令:

 C:\> ORADIM -NEW -SID ORCL 

然后名为OracleServiceORCL的OracleService刚刚出现在Services.msc中。 非常好。


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

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

TNS_ADMIN

C:\ ORACLE \产品\ 10.2.0 \ Client_1与\networking\ ADMIN

通常这意味着听者还没有开始。 检查“服务”面板。

在Windows上(像你一样)另一个常见原因是ORACLE_SID没有在registry中定义。 编辑registry或在CMD框中设置ORACLE_SID。 (因为你想运行sqlplusw.exe我build议你编辑registry。)

从命令控制台,如果你得到这个错误,你可以通过键入sqlplus / nolog来避免它

那么你可以连接conn用户/ pass @host:port / service

我已经解决了这个问题的简单方法。 我的oracle在过去运行的很好。 我安装MS SQL Server后,当我注意到这个问题。 我只是卸载MS SQL Server在我的机器上,那么问题就没有了。 确保您在此之后重新启动计算机。 现在我可以再次通过SQLPlus连接到Oracle数据库。 我的猜测是两者之间有一些冲突。 希望这可以帮助。

search后很多有一个简单的方法来解决它。 只要按照步骤。

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

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

      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.在命令提示符下input以下命令lsnrctl start

这将启动OracleTNSListner

你可以通过打开任务pipe理器的服务标签在服务中检查它。 如果没有自动启动,你可以启动它。

就这么多,你已经准备好再次在甲骨文上工作。

好运。

如果以上都不行,那么试试这个:修改LISTENER.ora (我的文件位于: oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora )==>添加一个自定义的监听器,指向你的数据库(SID),例如我的SID是XZ0301,所以:

 ## Base XZ03001 SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME = E:\oracle\product\11.2.0\dbhome_1)(SID_NAME= XZ03001))) LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL = TCP)(HOST=MyComputerName)(PORT= 1521))) DIAG_ADR_ENABLED_LISTENER_XZ03001=ON ADR_BASE_LISTENER_XZ03001=E:\oracle 

重新启动您的机器

对于Windows 7,请使用以下命令修改LISTENER.ora: – 转到开始>所有程序>附件 – 右键单击​​记事本,然后单击以pipe理员身份运行。 – 文件>打开并导航到tnsnames.ora文件。 – 进行更改,然后它应该允许您保存

另一个可能的解决scheme,只是为我工作…考虑我使用我的本地login作为dba权限。

按照步骤进入服务。 右键单击实例并转到“login”? (可能不是名称,但它是包含权限的选项卡之一)。 将设置更改为使用LOCAL。

您需要告诉SQLPlus您要login到哪个数据库。 主机string需要是在您的TNSNames.ora文件中configuration的连接string或别名。

它真的在我的机器上工作。 但是,而不是OracleServiceORCL,我发现OracleServiceXE。

在我的情况下,( ORA-12560:TNS协议适配器错误 )数据库连接问题的原因,如数据库,用户名和密码。

一旦你得到了问题。 最初,你必须检查连接的细节 ,在检查oracle服务和更多。

我错过了一些连接细节,所以只有我得到了TNS协议适配器错误我将改变连接的细节,这将是工作正常

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

 sqlplus sys/mypassword as sysdba 

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

 sqlplus sys/mypassword@XE as sysdba 

如果你仍然得到ORA-12560,确保你可以ping XE服务。 使用:

 tnsping XE 

你应该得到OK消息以及完整的连接string(tnsping命令位于oracle的安装目录中:[oracle express install dir] \ app \ oracle \ product \ 11.2.0 \ server \ bin)。 如果你不能ping通,请确保你的tnsnames.ora文件对于sqlplus是可访问的。 您可能需要将TNS_ADMIN环境variables设置为指向您的ADMIN目录(文件所在的位置),例如:

 TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN 

stream动的stream动步骤:

  1. 编辑$ Oracle_home \ product \ 11.2.0 \ client_1 \ NETWORK \ ADMIN位置中的listener.ora和tnsnames.ora文件

    一个。 添加listener.ora文件

     LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) 

ADR_BASE_LISTENER = C:[这里的c是oralce主目录]

湾 添加在tnsnames.ora文件中

  SCHEMADEV = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = SCHEMADEV) ) ) 
  1. 打开命令提示符并键入
    sqlplus用户名/ passowrd @ oracle_connection_alias

例如:
用户名:your_database_username
密码:Your_database_password
oracle_connection_alias:以上例子的SCHEMADEV。

ORA-12560:TNS:erro de adaptador de protocol

  1. 设置环境variables:ORACLE_BASE,ORACLE_HOME,ORACLE_SID
  2. 确保你的用户是ORACLE_GROUP_NAME(Windows)的一部分
  3. 确保文件ORACLE_HOME / network / admin / sqlnet.ora是:SQLNET.AUTHENTICATION_SERVICES =(NTS)
  4. (Windows)添加新的Oracle客户端时要小心:向PATH环境添加新path。 variables可以搞砸了。 这个variables中的第一项有所不同:certificateORACLE_HOME(ORACLE_HOME / bin)中的sqlplus可执行文件在PATH环境中是第一个。 variables。
Interesting Posts