Chinaunix首页 | 论坛 | 博客
  • 博客访问: 74680
  • 博文数量: 38
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-13 15:19
文章分类

全部博文(38)

文章存档

2009年(12)

2008年(26)

我的朋友

分类: Oracle

2009-05-25 09:19:05

1.首先测试的是动态注册下的情况

  1.1 环境

[oracle@localhost admin]$ ll

total 48

-rw-r----- 1 oracle oinstall  468 May 22 02:19 listener.ora.bak

-rw-r----- 1 oracle oinstall  531 May 22 05:38 listener.ora.bak2

drwxr-x--- 2 oracle oinstall 4096 May 21 06:57 samples

-rw-r----- 1 oracle oinstall  172 Dec 26  2003 shrept.lst

-rw-r----- 1 oracle oinstall  167 May 21 07:00 sqlnet.ora

-rw-r----- 1 oracle oinstall  599 May 22 04:17 tnsnames.ora.bak

 

SQL> show parameter local_listener

NAME                  TYPE        VALUE

------------------------------------ ----------- ------------------------------

local_listener            string

 

SQL> show parameter instance_name

NAME                  TYPE        VALUE

------------------------------------ ----------- ------------------------------

instance_name           string      bal

 

SQL> show parameter service_name

NAME                  TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names            string      bal

 

1.2 还未启动listener时状态

LSNRCTL> status

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

TNS-12541: TNS:no listener

 TNS-12560: TNS:protocol adapter error

  TNS-00511: No listener

   Linux Error: 111: Connection refused

 

1.3 重启实例(PMON注册信息到listener)

SQL> startup force

ORACLE instance started.

Total System Global Area  260046848 bytes

Fixed Size                  1218820 bytes

Variable Size              75499260 bytes

Database Buffers          176160768 bytes

Redo Buffers                7168000 bytes

Database mounted.

Database opened.

 1.4 再次查看listener状态(已关闭常用的sidXDB,sid_XPT服务)

LSNRCTL> service

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

Services Summary...

Service "bal" has 1 instance(s).

  Instance "bal", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

The command completed successfully

(READY代表动态注册, UNKONW代表静态注册)

 

2. 动态注册+静态注册

   2.1 写入listener.ora

[oracle@localhost admin]$ more listener.ora

# listener.ora Network Configuration File: /oracle/10g/network/admin/listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /oracle/10g)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = bal)

      (ORACLE_HOME = /oracle/10g)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

    )

  )

  

2.2 重启listener

LSNRCTL> stop

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

The command completed successfully

LSNRCTL> start

Starting /oracle/10g/bin/tnslsnr: please wait...(以下省略)

 重启listener,Pmon不会马上将注册信息写入listener

此时强行注册下

SQL> alter system register;

System altered.

此时看下这时的服务:

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

Service "bal" has 2 instance(s).

  Instance "bal", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

  Instance "bal", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

The command completed successfully

(READY代表动态注册, UNKONW代表静态注册)

说明此时有2instance注册信息,动态+静态

 

动态注册默认只注册到默认的监听器上(名称是LISTENER、端口是1521、协议是TCP),如果需要向非默认监听注册,则需要配置local_listener参数!

3. 下面测试动态注册在非默认的监听上

3.1 首先更改listener.ora

[oracle@localhost admin]$ more listener.ora

# listener.ora Network Configuration File: /oracle/10g/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER2 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain )(PORT =1522))

      )

    )

  )

 

SID_LIST_LISTENER2 =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /oracle/10g)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = bal)

      (ORACLE_HOME = /oracle/10g)

    )

  )

 

3.2 重启listener

LSNRCTL> stop

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

The command completed successfully

LSNRCTL> start listener2

Starting /oracle/10g/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /oracle/10g/network/admin/listener.ora

Log messages written to /oracle/10g/network/log/listener2.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1522)))

STATUS of the LISTENER

------------------------

Alias                     listener2

Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                22-MAY-2009 12:03:39

Uptime                    0 days 0 hr. 0 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /oracle/10g/network/admin/listener.ora

Listener Log File         /oracle/10g/network/log/listener2.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "bal" has 1 instance(s).

  Instance "bal", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

SQL> alter system register;

System altered.

LSNRCTL> service listener2

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

Service "bal" has 1 instance(s).

  Instance "bal", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

The command completed successfully

说明此时只有静态注册的一个,没有动态注册。要动态注册就要改local_listener

SQL>alter system set local_listener=

'(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522))';       

System altered.

SQL> alter system register;

System altered.

 

LSNRCTL> service listener2

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

Service "bal" has 2 instance(s).

  Instance "bal", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

  Instance "bal", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

The command completed successfully

此时已经加入动态信息

如果要实现动态注册,我们在对初始化文件还有有一定的设置,必须设置instance_nameservice_names参数(我试了一下,其实只要设置了service_names就能实现动态注册的,并且用这个服务名对外提供服务)。

 

SQL> alter system set service_names='bal,ora';

System altered.

SQL> show parameter service

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names                        string      bal,ora

SQL>

SQL> alter system register;

System altered.

看这时的service

LSNRCTL> service listener2

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

Service "bal" has 2 instance(s).

  Instance "bal", status UNKNOWN, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0

         LOCAL SERVER

  Instance "bal", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

Service "ora" has 1 instance(s).

  Instance "bal", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

The command completed successfully

 

阅读(775) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~