欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 静态监听注册详解

程序员文章站 2024-02-02 08:49:10
...

网上有很多关于Oracle 监听静态注册的文章,但大多都是简单说说,并没有详细的例子,这里,将结合Linux as4 下的Oracle 10gR2.0.

网上有很多关于Oracle 监听静态注册的文章,但大多都是简单说说,并没有详细的例子,这里,将结合Linux as4 下的Oracle 10gR2.0.1 举一个具体的例子。

1、在 $ORACLE_HOME/network/admin/listener.ora 文件中加入一个静态注册的节点

[oracle@prudent oracle]$ cd $ORACLE_HOME/network/admin
[oracle@prudent admin]$ vi listener.ora
# listener.ora Network Configuration File: /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /mydatafile2/app/oracle/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)

(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = /mydatafile2/app/oracle/oracle/product/11.2.0/db_1)
(GLOBAL_DBNAME=WOO.COM)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = prudent)(PORT = 1521))
)
)


注意这里的GLOBAL_DBNAME=WOO.COM
SID_NAME=ORCL
这个SID_NAME 应与你对外提供服务的 $ORACLE_SID 一致

[oracle@prudent admin]$ echo $ORACLE_SID

ORCL

2、配置对应的tnsnames.ora 中的节点

[oracle@prudent admin]$ vi tnsnames.ora

# tnsnames.ora Network Configuration File: /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = prudent)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)


WOOORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = prudent)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WOO.COM)
)
)

tnsname WOOORCL 中的 SERVICE_NAME=WOO.COM

这里的服务名为 WOO.COM 而不是通常的 ORCL,因为在 listener.ora 中已经注册了 WOO.COM,lsnrctl 启动时会监听 WOO.COM ,并对应到 SID_NAME=ORCL 上。

3、启动监听和服务


[oracle@prudent oracle]$ cat dbstart
lsnrctl start
sqlplus /nolog connect /as sysdba
startup
EOF
[oracle@prudent oracle]$ ./dbstart

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 13-FEB-2011 20:11:15

Copyright (c) 1991, 2005, Oracle. All rights reserved.

Starting /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=prudent)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 13-FEB-2011 20:11:15
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /mydatafile2/app/oracle/oracle/product/11.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=prudent)(PORT=1521)))
Services Summary...
Service "WOO.COM" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

SQL*Plus: Release 11.2.0.1.0 - Production on Sun Feb 13 20:11:16 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> Connected to an idle instance.
SQL> ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.