oracle – 监听器不支持任何服务
我在
Linux机器上安装了Oracle Database 11gR2以及Oracle Grid Infrastructure,然后创建了orcl数据库.
我一直能够使用SQL * Plus或OEM连接到我的数据库.但是最近,我在输入命令lsnrctl status时遇到了问题,所以我无法连接到数据库. 我的listener.ora文件: # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/grid/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = pc.company.com)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /u01/app/oracle 我的tnsnames.ora文件: # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = pc.company.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.example.com) ) ) 键入lsnrctl status时,我得到以下内容: LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-JUL-2014 03:35:48 Copyright (c) 1991,2009,Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 21-JUL-2014 03:25:58 Uptime 0 days 0 hr. 9 min. 50 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /u01/app/oracle/diag/tnslsnr/pc151/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pc.company.com)(PORT=1521))) The listener supports no services The command completed successfully 当输入sqlplus / as sysdba然后启动时,我得到这个: ORA-01078: failure in processing system parameters ORA-01565: error in identifying file '+DATA/orcl/spfileorcl.ora' ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora ORA-29701: unable to connect to Cluster Synchronization Service 并且srvctl start database命令也无法启动数据库. 我的oratab文件如下: #Backup file is /u01/app/oracle/product/11.2.0/dbhome_1/srvm/admin/oratab.bak.pc150 line added by Agent # # This file is used by ORACLE utilities. It is created by root.sh # and updated by the Database Configuration Assistant when creating # a database. # A colon,':',is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign,'#',are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third filed indicates # to the dbstart utility that the database should,"Y",or should not,# "N",be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM:/u01/app/oracle/product/11.2.0/grid:N orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N # line added by Agent数据库在启动时向监听器注册其服务名称.如果它无法这样做,那么它会定期再次尝试 – 所以如果监听器在数据库之后启动,那么在识别服务之前可能会有一段延迟. 但是,如果数据库没有运行,则没有任何内容会注册该服务,因此您不应期望侦听器知道它 – lsnrctl status或lsnrctl服务不会报告尚未注册的服务. 您可以在没有监听器的情况下启动数据库;从Oracle帐户和您的ORACLE_HOME,ORACLE_SID和PATH设置,您可以: sqlplus /nolog 然后从SQL * Plus提示符: connect / as sysdba startup 或者通过网格基础结构,从网格帐户,使用 srvctl start database -d db_unique_name [-o start_options] [-n node_name] 您可能想要查看数据库是否设置为在oratab文件中自动启动,并且取决于您使用的是否应该自动启动.如果你期望它正在运行而它不是,或者你试图启动它并且它不会出现,那么这是一个完全不同的场景 – 你需要查看错误消息,警报日志,可能跟踪文件等,以确切了解它无法启动的原因,如果您无法弄明白,可能会询问数据库管理员而不是Stack Overflow. 如果数据库看不到DATA,那么ASM可能没有运行;你可以see how to start that here;或者使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |