如何将listener对服务的注册由动态改为静态???

[复制链接]
查看11 | 回复9 | 2020-6-8 08:30:56 | 显示全部楼层 |阅读模式
经常能够遇到ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME!

如何将listener对服务的注册由动态改为静态???
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
1.静态注册
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)

(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
)
)
2.动态注册
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
看到区别了吧
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
(SID_NAME = orcl)
SID_NAME的值就是实例名吗?
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
说白了,就是把你的sid写道listener.ora中,不用让他自己找了...
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
(SID_NAME = orcl)
SID_NAME的值就是实例名吗?

ps:
sid_name 和ORACLE_HOME都要改
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
原帖由 棉花糖ONE 于 2007-11-26 17:39 发表
(SID_NAME = orcl)
SID_NAME的值就是实例名吗?

ps:
sid_name 和ORACLE_HOME都要改

知道两个都要改!
问题1:SID_NAME的值就是实例名吗?
问题2:ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME! 
    造成ORA-12514错误的原因,我分析有两个:
   (1)tnsnames.ora中SERVICE_NAME设置有误
   (2)由于动态注册的延误
这两个错误原因分析正确吗?若有误,请指出。并且还有什么其他原因可能引起该错误!
谢谢!
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
有没有办法禁止动态监听,虽然这种做法很愚蠢
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
原帖由 ilonng 于 2007-11-26 18:02 发表
有没有办法禁止动态监听,虽然这种做法很愚蠢
alter system set service_names='' scope=spfile; startup force;


回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
原帖由 ilonng 于 2007-11-26 18:02 发表
有没有办法禁止动态监听,虽然这种做法很愚蠢


动态监听好像是pmon在执行,如果要停止动态监听的话,就得停用这个进程了!
回复

使用道具 举报

千问 | 2020-6-8 08:30:56 | 显示全部楼层
原帖由 ilovemk 于 2007-11-26 18:03 发表
alter system set service_names='' scope=spfile; startup force;


先做一下更改,把service_names,db_domain的值去掉:
[php]
SQL> show parameter service_nam
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
service_names
stringdb11g18.csdba
SQL> show parameter db_doma
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
db_domain
stringcsdba
SQL> alter system set service_names='' scope=spfile;
System altered.
SQL> alter system set db_domain='' scope=spfile;
System altered.
SQL> create pfile='/opt/oracle/admin/db11g18/pfile/init.ora' from spfile;
File created.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[uniread] Saved history (980 lines)
[oracle11g@csdba1850 pfile]$ lsnrctl stop listener11g
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 26-NOV-2007 17:55:47
Copyright (c) 1991, 2007, Oracle.All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=csdba1850)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS

rotocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
[/php]

然后重新启动一下
[php]
[oracle11g@csdba1850 pfile]$ sys
[uniread] Loaded history (980 lines)
SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 26 17:56:02 2007
Copyright (c) 1982, 2007, Oracle.All rights reserved.
Connected to an idle instance.
SQL> startup pfile=/opt/oracle/admin/db11g18/pfile/init.ora;
ORA-32006: LOG_ARCHIVE_START initialization parameter has been deprecated
ORA-32006: SQL_TRACE initialization parameter has been deprecated
ORACLE instance started.
Total System Global Area552419328 bytes
Fixed Size
1301168 bytes
Variable Size
306185552 bytes
Database Buffers
239075328 bytes
Redo Buffers
5857280 bytes
Database mounted.
Database opened.
SQL> show parameter service_na
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
service_names
string
SQL> show parameter db_do
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
db_domain
string
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[uniread] Saved history (984 lines)
[/php]

再启动一下监听,得到结果不行:
[php]
[oracle11g@csdba1850 pfile]$ lsnrctl start listener11g
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 26-NOV-2007 17:57:51
Copyright (c) 1991, 2007, Oracle.All rights reserved.
Starting /opt/oracle/product/11g/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /opt/oracle/product/11g/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/csdba1850/listener11g/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=csdba1850)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=csdba1850)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias
listener11g
Version
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date
26-NOV-2007 17:57:51
Uptime
0 days 0 hr. 0 min. 0 sec
Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Listener Parameter File /opt/oracle/product/11g/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/csdba1850/listener11g/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=csdba1850)(PORT=1521)))
Services Summary...
Service "db11g18" has 1 instance(s).
Instance "db11g18", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle11g@csdba1850 pfile]$ lsnrctl status listener11g
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 26-NOV-2007 17:59:37
Copyright (c) 1991, 2007, Oracle.All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=csdba1850)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias
listener11g
Version
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date
26-NOV-2007 17:57:51
Uptime
0 days 0 hr. 1 min. 45 sec
Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Listener Parameter File /opt/oracle/product/11g/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/csdba1850/listener11g/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=csdba1850)(PORT=1521)))
Services Summary...
Service "db11g18" has 2 instance(s).
Instance "db11g18", status UNKNOWN, has 1 handler(s) for this service...
Instance "db11g18", status READY, has 1 handler(s) for this service...
Service "db11g18XDB" has 1 instance(s).
Instance "db11g18", status READY, has 1 handler(s) for this service...
Service "db11g18_XPT" has 1 instance(s).
Instance "db11g18", status READY, has 1 handler(s) for this service...
Service "pridb" has 1 instance(s).
Instance "db10g18", status READY, has 1 handler(s) for this service...
Service "pridb_XPT" has 1 instance(s).
Instance "db10g18", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle11g@csdba1850 pfile]$
[/php]
实验了一下,不行啊,应该没办法了,不知道谁知道办法,说来听听


[ 本帖最后由 ilonng 于 2007-11-26 18:18 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行