尝试使用服务名orcl
从客户端连接到服务器数据库时出现上述错误。当我使用其他服务名称dms
以下是我的listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dms)
(SERVICE_NAME = dms)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
# (PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = orcl)
(SERVICE_NAME = dms)
# (GLOBAL_DBANME = orcl)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
# (PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /home/oracle/app/oracle
and tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
#(SERVICE_NAME = orcl.localdomain)
(ORACLE_SID = dms)
(SERVICE_NAME = orcl)
)
)
DMS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dms)
(ORACLE_SID = dms)
)
)
请告诉我该怎么做?
答案 0 :(得分:57)
打开命令提示符并执行以下命令:
set oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup
答案 1 :(得分:18)
一段时间。数据库将无法正确安装,因此我们需要手动安装...为此,关闭它并启动它然后安装....运行以下命令
以oracle用户身份登录,然后
'sqlplus / as sysdba;'
'shutdown immediate;'
'startup nomount;'
'alter database mount;'
'alter database open;'
答案 2 :(得分:5)
确保您的ORACLE_HOME和ORACLE_SID正确无误 要在Windows中查看当前值,请在命令提示符下键入
echo %ORACLE_HOME%
然后
echo %ORACLE_SID%
如果值不是您当前的oracle home和SID,则需要更正它们。这可以在Windows环境变量中完成。
答案 3 :(得分:2)
ORA-01034和ORA-27101通常表示您尝试连接的数据库实例已关闭,并且您没有以具有启动权限的用户身份进行连接。登录到服务器192.168.1.53并启动orcl
实例,或让您的DBA为您执行此操作。
答案 4 :(得分:2)
我在SQLDeveloper上创建连接时面临同样的问题" ORA-01034:ORACLE不可用ORA-27101:共享内存领域不存在"
解决方案:
1.更新listene.ora文件以包含SID。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc) (ORACLE_HOME = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server) (PROGRAM = extproc) ) (SID_DESC = ((GLOBAL_DBNAME = XE.DB) ((ORACLE_HOME = C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server) ((SID_NAME = XE) ) )
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS =(PROTOCOL = TCP)(HOST = USMUMTBALAKDAS2.us.deloitte.com)(PORT = 1521)) ) )
DEFAULT_SERVICE_LISTENER =(XE)
Oraclexe目录可能将权限设置为" ReadOnly",更改目录/子目录读/写权限并重新启动侦听器服务。 问题解决了。
快乐的编码!干杯!!
答案 5 :(得分:2)
在Windows XP上遇到同样的问题。解决。 该错误是由于系统日志已满而引起的。 控制面板 - >管理工具 - >事件查看器 右键单击应用程序日志,清除所有事件,选择保存日志。 系统日志的过程相同。 重启,它应该工作。
答案 6 :(得分:2)
SQL> sqlplus "/ as sysdba"
SQL>startup
Oracle instance started
------
Database mounted.
Database opened.
Quit
[oracle@hcis ~]$ lsnrctl start
答案 7 :(得分:2)
即使ORACLE_HOME和ORACLE_SID似乎已正确设置,我也会遇到同样的错误。
问题出现在ORACLE_HOME中,它不应该以斜杠字符结尾。当我删除结束斜杠时,它开始正常工作。
## WRONG !!!
export ORACLE_HOME=/usr/local/oracle/11gR2/
## CORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2
因此,即使看起来一切都配置正常,也请检查变量。
答案 8 :(得分:2)
在cmd中运行:
sqlplus / as sysdba;
然后:
SQL> create pfile='c:/init.ora' from spfile;
删除sga_target
文件中的init.ora
行,然后:
SQL> create spfile from pfile='c:/init.ora';
SQL> startup;
答案 9 :(得分:1)
我遇到了相同的shared memory realm does not exist
症状(在Windows上),但原因不同。我刚刚安装了Oracle(XE)并经过一些故障排除后确定我的安装已损坏,因为我在安装时存在ORACLE_HOME环境属性。
如果这是TLDR,请跳至'解决方法:'!
我最初的症状是:
Message 850 not found; No message file for product=NETWORK, facility=NL
显然,Windows安装程序从注册表中读取ORACLE_HOME,并且不需要(当然在我的情况下不应该......)环境属性。
删除它,如下所示:
重新启动后,我能够获得除“无消息文件...”之外的错误消息,并且可以开始查看问题所在。 将ORACLE_SID设置为XE并连接@XE我得到了此页面中的错误,即以下症状:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
另一个症状是: 当启动'Get started'页面时,它无法连接,给出了一个未找到的错误(如果我没记错的话),尽管有Windows监听器& XE服务正在启动。如另一个答案所述,这可能是由于Windows服务未启动。在我的情况下,这些服务已经启动,因此其他一些配置错误。
此时,我想可能我的安装刚刚出错,因为我应该重新安装我的糟糕的ORACLE_HOME环境属性。 (以前的重新安装没有帮助,但这些都是在我注意到ORACLE_HOME系统环境属性之前(可能是我一年前设置的!)。
所以要解决:
答案 10 :(得分:0)
您的listener.ora配置错误。没有orcl服务。
答案 11 :(得分:0)
我希望你已经解决了你的问题。如果仍有问题,请再次仔细检查是否在域帐户下安装此Oracle。我发现一个帖子说Oracle XE在域帐户下安装时会出现同样的错误。请改用本地帐户。
来源:
https://community.oracle.com/thread/2141735?start=0&tstart=0
答案 12 :(得分:0)
在这里,我只需要重新启动一台使用了9年的服务器,Oracle就给了我这个错误。
由于某种原因,服务器已被重命名,但是app/oracle/product/10.2.0/server/network/admin/listener.ora
文件仍在声明带有旧主机的LISTENER。
我必须在/etc/hostname
中输入与/etc/hosts
中相同的名称,并且还要修复listener.ora
中使用的名称。
答案 13 :(得分:0)
也可以尝试直接启动:
sqlplus /nolog
conn / as sysdba
startup
答案 14 :(得分:0)
浪费了很多时间后,我才知道连接数据库的语法有误。我使用的是冒号“ :”,而不是斜杠“ / ”。
(1)(如果您使用sid)是获得连接的语法:
**"jdbc:oracle:thin:@{hostname}:{port}:{SID}"**
(2)如果使用服务名称,则以下是获得连接的语法:
"**jdbc:oracle:thin:@//{hostname}:{port}/{servicename}**"
答案 15 :(得分:-1)
SQL> sqlplus“ /作为sysdba”
SQL>启动
Oracle instance started
------
Database mounted.
Database opened.
SQL>退出
我也遇到了同样的问题。我尝试了上述步骤并 然后它对我有用。您可以尝试。