ORA-12560:TNS:协议适配器错误
我Google [d]为这个错误ORA-12560:TNS:协议适配器错误,但无法find实际的原因,以及如何解决这个错误?
谁能告诉我一个完美的解决scheme来解决login问题。
- 转到承载Oracle数据库服务器的Windows计算机
- 转到开始 – >运行 – > Services.msc在Windows中。 findOracleService(这里是OracleServiceORCL)并点击“开始”来启动oracle数据库服务(如果还没有运行的话)
-
一旦启动并运行,从命令提示符处运行以下命令:
tnsping <tnsalias>
(tnsalias条目,你可以在tnsnames.ora文件中find它)
好像数据库不起来。 这可能是由于重新启动机器,并且实例没有设置为自动启动,并且在从服务启动屏幕后不能启动。
只需转到命令提示符
-
设置Oracle SID C:> set oracle_sid = ORCL
-
现在运行Net start命令。 C:> net start oracleserviceORCL
在我的情况下,我没有在Windows Services.msc
的OracleService
(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后很多有一个简单的方法来解决它。 只要按照步骤。
- 检查您的侦听器的状态。
- 打开命令提示符并键入
lsnrctl status
- 你将没有听众。
- 打开命令提示符并键入
-
现在打开以下目录中的
listener.ora
文件:C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
- 打开该文件并使用计算机名称更改主机参数
-
您可以通过右键单击
My Computer
来获取您的计算机名称,并检查您的计算机名称,并将主机参数replace为您的计算机名称,如下所示:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )
所以在这里你可以观察到
HOST = Electron-PC
,这是我的电脑名称。 -
保存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动步骤:
-
编辑$ 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) ) )
- 打开命令提示符并键入
sqlplus用户名/ passowrd @ oracle_connection_alias
例如:
用户名:your_database_username
密码:Your_database_password
oracle_connection_alias:以上例子的SCHEMADEV。
ORA-12560:TNS:erro de adaptador de protocol
- 设置环境variables:ORACLE_BASE,ORACLE_HOME,ORACLE_SID
- 确保你的用户是ORACLE_GROUP_NAME(Windows)的一部分
- 确保文件ORACLE_HOME / network / admin / sqlnet.ora是:SQLNET.AUTHENTICATION_SERVICES =(NTS)
- (Windows)添加新的Oracle客户端时要小心:向PATH环境添加新path。 variables可以搞砸了。 这个variables中的第一项有所不同:certificateORACLE_HOME(ORACLE_HOME / bin)中的sqlplus可执行文件在PATH环境中是第一个。 variables。