以下是我的SQLPLUS启动,LSNRCTRL SERVICES,LSNRCTRL STATUS和TNSPING的输出。还包括我的LISTENER.ORA文件,TNSNAMES.ORA和我的PFILE。
正如您从SQLPLUS启动输出中看到的那样,数据库将无法启动,因为init.ora文件local_listener设置为LISTENER并且它表示无法解析该名称。但是,LSNCTRL状态显示LISTENER的名称是LISTENER,因此我不确定LSNCTRL实用程序如何看到LISTENER和SQLPLUS不能。我的猜测是,我错过了一些东西,我确信它的显而易见。任何帮助将不胜感激!
ORACLE_HOME=C:\app\product\12.1.0\dbhome_1
SQLPLUS STARTUP
================================================================================
sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Fri Feb 27 06:37:51 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER'
SQL>
================================================================================
LSNRCTL SERVICES
================================================================================
LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 27-FEB-2015 06:36:45
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "EDMP1" has 1 instance(s).
Instance "EDMP1", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:6 refused:0
LOCAL SERVER
The command completed successfully
================================================================================
LSNRCTL STATUS
================================================================================
LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 27-FEB-2015 06:36:59
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 - Production
Start Date 27-FEB-2015 06:07:14
Uptime 0 days 0 hr. 29 min. 49 sec
Trace Level support
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\app\product\12.1.0\dbhome_1\network\admin\listener.ora
Listener Log File C:\app\diag\tnslsnr\MWKS137477\listener\alert\log.xml
Listener Trace File C:\app\diag\tnslsnr\MWKS137477\listener\trace\ora_9096_8848.trc
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(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 "EDMP1" has 1 instance(s).
Instance "EDMP1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
================================================================================
TNSPING
================================================================================
TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 27-FEB-2015 06:37:31
Copyright (c) 1997, 2014, Oracle. All rights reserved.
Used parameter files:
C:\app\product\12.1.0\dbhome_1\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = EDMP1)))
OK (10 msec)
================================================================================
LISTENER.ORA
================================================================================
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = EDMP1)
(ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1)
(SID_NAME = EDMP1)
)
)
================================================================================
TNSNAMES.ORA
================================================================================
EDMP1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = EDMP1)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
================================================================================
PFILE.ORA
================================================================================
edmp1.__data_transfer_cache_size=0
edmp1.__db_cache_size=1795162112
edmp1.__java_pool_size=16777216
edmp1.__large_pool_size=33554432
edmp1.__oracle_base='C:\app'#ORACLE_BASE set from environment
edmp1.__pga_aggregate_target=855638016
edmp1.__sga_target=2533359616
edmp1.__shared_io_pool_size=117440512
edmp1.__shared_pool_size=553648128
edmp1.__streams_pool_size=0
*.audit_file_dest='C:\app\admin\EDMP1\adump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='C:\app\oradata\EDMP1\control01.ctl','C:\app\oradata\EDMP1\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='EDMP1'
*.diagnostic_dest='C:\app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=EDMP1XDB)'
*.local_listener='LISTENER'
*.open_cursors=300
*.pga_aggregate_target=804m
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=2413m
*.undo_tablespace='UNDOTBS1'
================================================================================
答案 0 :(得分:7)
尝试以下程序。它对我有用。
C:\Users\Hp>sqlplus SYSTEM as SYSDBA
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 3 12:28:32 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
SQL> create pfile from spfile;
File created.
**************************
Now open the PFILE (INIT%ORACLE_SID%.ORA) from %ORACLE_HOME%\database
Search for string local_listener='LISTENER_ORCL' and remove it and save the file.
**************************
SQL> startup nomount pfile='C:\app\Hp\product\11.2.0\dbhome_1\database\INITorcl.ORA'
ORACLE instance started.
Total System Global Area 1686925312 bytes
Fixed Size 2176368 bytes
Variable Size 1291848336 bytes
Database Buffers 385875968 bytes
Redo Buffers 7024640 bytes
SQL> create spfile from pfile;
File created.
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1686925312 bytes
Fixed Size 2176368 bytes
Variable Size 1291848336 bytes
Database Buffers 385875968 bytes
Redo Buffers 7024640 bytes
Database mounted.
Database opened.
SQL>
答案 1 :(得分:5)
您的初始化参数正在寻找别名LISTENER
;并且您已经显示存在于listener.ora
中,但数据库没有查看该文件 - 它甚至可能无法读取它。
如果您指定了别名,则它必须存在于tnsnames.ora
文件中,因此请在该文件中添加匹配的相同条目:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
或者将初始化参数设置为连接字符串而不是别名,因此不需要引用tnsnames.ora
:
*.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))'
答案 2 :(得分:1)
(SID_DESC =
(GLOBAL_DBNAME = EDMP1)
(ORACLE_HOME = C:\app\oracle\product\11.2.0\dbhome_1)
(SID_NAME = EDMP1
C:\app\product\12.1.0\dbhome_1\network\admin\sqlnet.ora
C:\app\product\12.1.0\dbhome_1\network\admin\listener.ora
ORACLE_HOME - 您的ORACLE_HOME环境变量设置不正确。你有多个ORACLE_HOME,一个指向11.2.0
,另一个指向12.1.0
。
本地听众 - 更重要的是,正确设置LOCAL LISTENER。
STATIC注册 - 另一件事,为什么要使用STATIC监听器注册?删除 SID_LIST_LISTENER
。它使用静态注册,这就是您将 STATUS
视为 UNKNOWN
服务的原因。让它动态注册。
可插入的数据库 - 如果您在12c
,并且已将其创建为可插入的数据库,则必须在 {{中包含PDB详细信息1}} 文件。否则,当您执行tnsnames.ora
时,默认情况下会连接到 CDB
。
答案 3 :(得分:0)
有类似的问题。就我而言,它是通过更改主机名解决的。
发现local_listener
变量是根据随机启动的主机名在某处计算的,因此该值不正确。
在/etc/sysconfig/network
中进行了更改,并用hostname myshost.mydomain
进行了设置。未编辑/etc/hosts
,因为我已经设置了dns,否则可能有必要。