【问题标题】:Can't start / connect to Oracle Database - Windows 10 / Oracle 18 XE / SQL Developer无法启动/连接到 Oracle 数据库 - Windows 10 / Oracle 18 XE / SQL Developer
【发布时间】:2019-11-23 21:44:09
【问题描述】:

我正在尝试安装并运行这个数据库一周... ;

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

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: 监听器当前不知道连接描述符中请求的服务

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

请帮助我调查这个问题 - 我检查了几个答案,甚至在这个网站上,但我不能很好地理解它们,那里的信息比我需要的要多......

【问题讨论】:

标签: oracle-sqldeveloper oracle18c


【解决方案1】:

您的异常消息...

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

...以及您的听众状态...

服务摘要...
服务“CLRExtProc”有 1 个实例。
实例“CLRExtProc”,状态 UNKNOWN,有 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 映像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 2020-01-24
    • 2022-10-01
    • 1970-01-01
    • 2015-02-26
    • 2020-08-25
    • 1970-01-01
    相关资源
    最近更新 更多