无法启动/连接到Oracle数据库-Windows 10 / Oracle 18 XE / SQL Developer

时间:2019-11-23 21:44:09

标签: oracle-sqldeveloper oracle18c

我正在尝试将数据库安装和运行一周...; < 我以前尝试过使用Oracle 12 c标准版,但是没有用-我不知道为什么;( 到目前为止,我已经卸载了(我相信)12 c并安装了18 XE。

在SQL Plus上,我有:ORA-12560:当我尝试以sysdba身份登录时,TNS:protocol适配器错误服务正在运行

services.msc上的所有服务正在运行: -OracleOraDB18Home1MTSRecoveryService -OracleOraDB18Home1TNSListener -OracleRemExecServiceV2 -OracleServiceXE -OracleVssWriterXE

在命令行上,当我键入“ lsnrctl status”时,我有:

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DESKTOP-*******)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
Start Date                23-NOV-2019 10:41:47
Uptime                    0 days 11 hr. 36 min. 34 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:\app\*****\product\18.0.0\dbhomeXE\network\admin\listener.ora
Listener Log File         C:\app\*****\product\18.0.0\diag\tnslsnr\DESKTOP-*******\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-*******)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

在SQL Developer上,我有2个错误之一,具体取决于我在那写的内容: -状态:失败-网络适配器无法建立连接 -状态:失败-测试失败:侦听器拒绝连接并出现以下错误: ORA-12514,TNS:侦听器当前不知道连接描述符中请求的服务

我不知道我在做什么。我只想尽快安装并运行它,以便在示例数据库中进行考试:(这是我的PC,没有虚拟机或在线服务器

请帮助我调查问题-即使在本网站上,我也检查了几个答案,但我不太理解它们,那里有很多我需要的信息。...

1 个答案:

答案 0 :(得分:0)

您的异常消息...

  

TNS:listener当前不知道连接描述符中请求的服务

...以及您的收听者状态...

  

服务摘要...
  服务“ CLRExtProc”具有1个实例。
  状态为UNKNOWN的实例“ CLRExtProc”具有1个用于该服务的处理程序...
  命令成功完成

...确切说出问题所在。您的TNS侦听器不知道您的Oracle DB服务。

您可能正在运行Windows“ Oracle DB”服务;但这并不意味着您的Oracle实例正在运行。首先,从具有本地登录权限的Windows用户以管理员身份登录到Oracle DB ...

set ORACLE_SID=fill_in_the_SID_of_your_Oracle_instance_here
sqlplus / as sysdba

...然后运行...

alter system set local_listener = <fill_in_your_local_listener_SID_here>
alter system register;

这将向您的TNS侦听器注册数据库服务,只要您在服务器的tnsnames.ora中配置了本地TNS侦听器...

<fill_in_your_local_listener_SID_here> = (address = (protocol = tcp)(host = 127.0.0.1)(port = 1521))

太复杂了,我知道。这就是为什么(对于没有Oracle DBA技能的新开发人员来说)使用上面@thatjeffsmith的注释所建议的预先创建的VM映像更好的原因。