如果我尝试以db用户身份登录,则会出现此错误。如果运行lsnrctl
状态,我会收到以下错误。
这些年来DB工作正常并且突然停止工作。
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ABC.LOCAL)(PORT=1521)
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Start Date 19-MAY-2014 12:18:17
Uptime 0 days 0 hr. 22 min. 51 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File D:\Oracle\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
Listener Log File d:\oracle\administrator\diag\tnslsnr\abc\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ABC.LOCAL)(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...
Service "devdb" has 1 instance(s).
Instance "devdb", status BLOCKED, has 1 handler(s) for this service...
Service "testdb" has 1 instance(s).
Instance "testdb", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully
答案 0 :(得分:11)
set ORACLE_SID=<YOUR_SID>
sqlplus "/as sysdba"
alter system disable restricted session;
或者
shutdown abort;
或者
lsnrctl stop
lsnrctl start
答案 1 :(得分:4)
您必须知道问题是来自侦听器还是来自数据库。
首先,重新启动监听器,它可以解决问题。
其次,如果它不处于打开模式(nomount,mount,restrict),它可能来自db。要检查它,请在本地连接并执行以下查询:
sqlplus / nolog
connect / as sysdba
SQL&GT;从v $ instance中选择instance_name,status,database_status;
答案 2 :(得分:3)
我在带有docker-oracle-xe-11g图像(https://registry.hub.docker.com/u/wnameless/oracle-xe-11g/)的Windows上使用boot2docker时出现此错误消息。
原因是虚拟盒磁盘已满(请与boot2docker.exe ssh df
一起检查)。删除旧图像并重新启动容器解决了这个问题。
答案 3 :(得分:2)
我在使用Visual Studio的开发环境中遇到了这个问题。
帮助我的是Visual Studio中的Clean Solution
,然后进行重建。
答案 4 :(得分:0)
如果您在Windows上使用11G XE,并且重启tns侦听器,请确保已启动Windows事件日志服务。