当前位置: 首页 > 知识库问答 >
问题:

Oracle在立即关闭后抛出ORA-12514

于鸿博
2023-03-14

我的目标是让我的容器数据库进入挂载模式,以执行系统更改语句来启用闪回功能。

为闪回事务配置数据库

环境:OS Win 8.1 64位,Oracle 12c(12.1.0.2.0)64位

我验证了我的侦听器和db服务都在运行。

Listener.log

9月08 13:31:42 2015日星期二系统参数文件为C:\OracleServer\Products\12.1.0\dbhome_1\Network\admin\listener.ora写入C:\OracleServer\diag\tnslsnr\NA-D02979\listener\警报\log.xml写入C:\OracleServer\diag\tnslsnr\NA的跟踪信息-D02979\listener\Trace\ora_9672_20416.trcTrace级别当前为0

从pid=9672开始监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.105.118)(PORT=1521))监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\管道\EXTPROC1521ipc))监听器在启动时完成对CRS的通知

TIMESTAMP*CONNECT DATA[*PROTOCOL INFO]*EVENT[*SID]*返回代码监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=NA-D02979.vgnet.volgrp.com)(PORT=5500)(Security=(my_wallet_directory=C:\ORACLESERVER\admin\CDB1\xdb_wallet))(Presation=HTTP)(会话=RAW))已监听动态地址(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))08-SEP-2015 13:32:25*service_register*cdb1*0 08-SEP-2015 13:33:22*service_update*cdb1*0

SqlPlus的结果

C:\用户\杰夫

SQL*Plus:2015年9月8日星期二13:44:18发布12.1.0.2.0

版权所有(c)1982年,2014年,甲骨文。版权所有。

连接到:Oracle Database 12c Enterprise Edition 12.1.0.2.0版-64位生产,带有分区、OLAP、高级分析和实际应用程序测试选项

SQL

数据库关闭。

卸载数据库。

ORACLE实例已关闭。

错误:ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

警告:您不再连接到ORACLE。

SQL

SP2-0640:未连接

SQL

C:\用户\杰夫

SQL*Plus:2015年9月8日星期二13:46:24发布12.1.0.2.0

版权所有(c)1982年,2014年,甲骨文。版权所有。

错误:ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

输入用户名:

当我以sysdba的身份连接到我的容器数据库时,我可以发出shutdownimediate命令,但是一旦数据库卸载,侦听器就不再知道数据库,我无法发出“startupmount”命令。

Listener.ora

SID\u列表\u侦听器=(SID\u列表=

(SID_DESC =

  (SID_NAME = CLRExtProc)

  (ORACLE_HOME = C:\OracleServer\product\12.1.0\dbhome_1)

  (PROGRAM = extproc)

  (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleServer\product\12.1.0\dbhome_1\bin\oraclr12.dll")

) 

(SID_DESC=

 (GLOBAL_DBNAME = CDB1)

 (ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1)

 (SID_NAME = CDB1)

)   )

监听器=(说明\列表=(说明=

  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.105.118)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)   )

特斯奈姆斯·奥拉

LISTENER_CDB1=

 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

CDB1=

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.105.118)(PORT = 1521))

   (CONNECT_DATA =

    (SERVER = DEDICATED)

     (SERVICE_NAME = CDB1.vgnet.volgrp.com)

   )

 )

ORACLR\u连接\u数据=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

   )

   (CONNECT_DATA =

     (SID = CLRExtProc)

     (PRESENTATION = RO)

   )

 )

我已经为容器数据库定义了一个静态SID。

第二轮结果

从下面的结果中,我遵循了亚历克斯·普尔在答案中记录的内容。我和数据库在同一台机器上。我已经将ORACLE_SID设置为cdb1,然后每次我尝试连接时,都会出现ORA-12560: TNS:协议适配器错误。为什么当我试图基于SID连接时,我的听众仍然抛出TNS错误?

C:\Users\jeff>%ORACLE_SID%
'cdb1' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\jeff>sqlplus sys/********** as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 9 08:05:25 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

ERROR:
ORA-12560: TNS:protocol adapter error

Enter user-name: ^C
C:\Users\jeff>sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 9 08:05:36 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

ERROR:
ORA-12560: TNS:protocol adapter error

Enter user-name: ^C
C:\Users\jeff>sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 9 08:05:50 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> connect / as sysdba
ERROR:
ORA-12560: TNS:protocol adapter error

SQL>

共有2个答案

子车飞文
2023-03-14

$export TWO_任务=

SQLPlus /nolog

conn sys/pass as sysdba

鲁鹤轩
2023-03-14

侦听器不再知道该服务,因为数据库在关闭期间未注册自己。它仍然知道SID,尽管这不是很有用。可以在关机前后lsnrctl状态查看差异。

您说您已经定义了一个静态SID,这是正确的(假设您引用的是SID\u LIST\u侦听器条目),但是您正在使用@CDB1TNS别名进行连接,这在tnsnames.ora中被定义为使用服务名称,而不是SID。如果别名和SID的值相同,您可能会有点困惑,但它们之间没有直接关系;您可以将别名称为完全不同的名称(尽管相同的名称很常见)。

如果您是从同一个框进行连接,请将ORACLE_SID设置为CDB1,并在本地连接,而不是通过SQL*Net,只需:

sqlplus sys/********** as sysdba

甚至

sqlplus / as sysdba

sqlplus /nolog
connect / as sysdba

 类似资料:
  • 问题内容: 建立与服务器的连接,并显示连接打开的警报!但是之后,连接立即关闭。服务器没有调用close,并且控制台中似乎没有其他错误。chrome和firefox中都在发生这种情况。 我在网上看了一堆不同的类似示例,但都无济于事。 问题答案: 解决它! 我要做的就是在websocket连接关闭之前阻止处理程序返回

  • 我使用以下Java代码打印PDF文档: 控制台上的输出是: 为什么我会收到这个警告?

  • 我使用JarSplice创建了一个胖jar文件,但是当我启动它时,我得到一个窗口(大小可以),它在半秒后关闭。。。 在“addjars”部分中,我添加了从Eclipse导出的jar文件,以及我正在使用的所有库jar。在本机部分,我只为lwjgl添加Windows本机。我想我写了正确的主类。 我做错了什么?我怎样才能解决这个问题? 注意:我使用的是最新版本的eclipse和jdk。

  • 问题内容: 有什么办法可以阻止python.exe在完成后立即关闭?它关闭的速度比我读取输出的速度快。 这是程序: 问题答案: 您不能-全局地,即对于每个python程序。这是一件好事-Python非常适合编写脚本(自动执行操作),并且脚本应该能够在无需任何用户交互的情况下运行。 但是,您始终可以在程序结束时要求输入,从而有效地使程序保持活动状态,直到您按回车键为止。使用在Python 3 (或在

  • 我在下面的查询中遇到了一个错误,它给出了一个符号(在使用循环的行中)。我正在尝试开发一个函数,该函数将动态参数作为表名、列名、表id,并用于其他表。