Sql ORA-12560:TNS:协议适配器错误
我搜索[d]查找此错误ORA-12560:TNS:protocol Adapter错误,但无法找到实际原因以及如何解决此错误Sql ORA-12560:TNS:协议适配器错误,sql,oracle,oracle9i,ora-12560,Sql,Oracle,Oracle9i,Ora 12560,我搜索[d]查找此错误ORA-12560:TNS:protocol Adapter错误,但无法找到实际原因以及如何解决此错误 谁能告诉我一个解决登录问题的完美解决方案。您需要告诉SQLPlus您要登录到哪个数据库。主机字符串需要是TNSNames.ora文件中配置的连接字符串或别名。这通常意味着侦听器尚未启动。检查服务面板 在Windows上(和您一样),另一个常见原因是未在注册表中定义ORACLE_SID。编辑注册表或在CMD框中设置ORACLE_SID。(因为您想运行sqlplusw.exe
谁能告诉我一个解决登录问题的完美解决方案。您需要告诉SQLPlus您要登录到哪个数据库。主机字符串需要是TNSNames.ora文件中配置的连接字符串或别名。这通常意味着侦听器尚未启动。检查服务面板 在Windows上(和您一样),另一个常见原因是未在注册表中定义ORACLE_SID。编辑注册表或在CMD框中设置ORACLE_SID。(因为您想运行sqlplusw.exe,我建议您编辑注册表。)
OracleServiceORCL
),然后单击Start
启动oracle数据库服务(如果尚未运行)
tnsping < tnsalias >
tnsping
(tnsalias条目您可以在tnsnames.ora
文件中找到它)好像数据库还没打开。这可能是由于重新启动计算机,而实例未设置为autostart,因此从“服务”屏幕启动后未正常启动 只需转到命令提示符
将以下变量和值添加到环境变量中,以标识tnsnames.ora文件的位置: TNS_管理员
C:\oracle\product\10.2.0\client\u 1\network\admin在我的例子中,我没有Windows
服务.msc中所述的OracleService
(OracleServiceORCL)
我执行了这个命令:
C:\> ORADIM -NEW -SID ORCL
然后名为OracleServiceORCL的OracleService
出现在Services.msc中并开始运行。非常好
来源:我用简单的方法解决了这个问题。我的甲骨文在过去运行得很好。安装MS SQL Server之后,我注意到了这个问题。我刚在我的机器上卸载了MS SQL Server,然后问题就解决了。确保在此之后重新启动计算机。现在我可以再次通过SQLPlus连接到Oracle数据库。我猜这两者之间有冲突。希望这有帮助。如果上述方法都无效,请尝试以下方法:
修改LISTENER.ora
(我的位于:oracle\product\11.2.0\dbhome\u 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:
-进入开始>所有程序>附件
-右键单击记事本,然后单击以管理员身份运行。
-文件>打开并导航到tnsnames.ora文件。
-进行更改后,它将允许您保存它在我的机器上确实起了作用。但是我没有找到OracleServiceORCL,而是找到了OracleServiceXE。在搜索了很多之后,我找到了一个简单的方法来解决它。
只需按照步骤操作即可
检查侦听器的状态。
打开命令提示符并键入lsnrctl状态
你将没有听众
现在打开位于以下目录中的listener.ora
文件:C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
打开该文件并用您的计算机名更改主机参数
您可以通过右键单击My computer
获取您的计算机名,并检查您的计算机名,然后用您的计算机名替换主机参数,如下所示:
监听器=
(说明和清单=
(说明=
(地址=(协议=IPC)(键=EXTPROC1))
(地址=(协议=TCP)(主机=电子计算机)(端口=1521)
)
)
)
所以在这里你可以看到我的电脑名
保存listener.ora文件,然后再次返回cammand propt
3.在命令提示符下键入以下内容lsnrctl start
这将启动OracleTNSListner
通过打开任务管理器的“服务”选项卡,可以在服务中检查它。如果没有自动启动,您可以启动它
仅此而已,您已经准备好再次使用oracle
祝您好运。从命令控制台,如果您遇到此错误,可以通过键入
c:\> sqlplus /nolog
然后你就可以连接了
SQL> conn user/pass @host:port/service
考虑到我使用本地登录作为dba权限,另一个可能的解决方案刚刚对我有效
按照步骤进入服务。右键单击实例并转到“登录”?(可能不是名称,但它是包含权限的选项卡之一)。将设置更改为使用本地。在我的情况下,(ORA-12560:TNS协议适配器错误)问题导致数据库连接问题,如数据库、用户名和密码
一旦你得到了问题。首先,您必须检查连接详细信息,然后再检查oracle服务和其他更多信息
我错过了一些连接详细信息,因此只有我得到了TNS协议适配器错误,
我将更改连接详细信息,它将正常工作在我的情况下(对于OracleExpress),服务正在运行,但我在尝试通过sqlplus访问数据库时遇到了这个问题,而没有连接标识符:
sqlplus sys/mypassword as sysdba
为了使其正常工作,我需要添加连接标识符(XE用于Oracle Express),因此以下命令正常工作:
sqlplus sys/mypassword@XE as sysdba
如果您仍然获得ORA-12560,请确保您可以ping XE服务。使用:
tnsping XE
您应该会得到OK消息以及完整的连接字符串
TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
SCHEMADEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SCHEMADEV)
)
)
C:\Users\Frodo>set oracle_sid=<DB name>
C:\>set oracle_sid=<DB name>
C:\Users\Frodo> cd c:
C:\>set oracle_sid=<DB name>
C:\>exp ........