天天看點

oracle 多執行個體 端口,oracle一個别執行個體配置多個listener或多個端口

listener.ora檔案的内容如下:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = jingyong)

(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)

(SID_NAME = jingyong)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1521))

)

)

上面的配置隻配置了一個listener

下面再增加一個listener_2

SID_LIST_LISTENER_2 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = jingyong)

(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)

(SID_NAME = jingyong)

)

)

LISTENER_2 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1522))

)

)

SID_LIST_這裡的要和LISTENER名稱一緻。

SID_DESC則注冊要提供服務的資料庫執行個體名。這樣LISTENER2 才能夠提供服務。

再來啟動兩個listener

[[email protected] udump]$ lsnrctl stop listener

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-JAN-2013 18:06:21

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jingyong)(PORT=1521)))

The command completed successfully

[[email protected] udump]$ lsnrctl start listener_2

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-JAN-2013 18:06:37

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

Starting /u01/app/oracle/product/10.2.0/db/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db/network/log/listener_2.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jingyong)(PORT=1522)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jingyong)(PORT=1522)))

STATUS of the LISTENER

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

Alias listener_2

Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date 13-JAN-2013 18:06:37

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora

Listener Log File /u01/app/oracle/product/10.2.0/db/network/log/listener_2.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jingyong)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

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

Service "jingyong" has 1 instance(s).

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

The command completed successfully

[[email protected] udump]$ lsnrctl start listener

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-JAN-2013 18:06:41

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

Starting /u01/app/oracle/product/10.2.0/db/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jingyong)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jingyong)(PORT=1521)))

STATUS of the LISTENER

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

Alias listener

Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date 13-JAN-2013 18:06:41

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora

Listener Log File /u01/app/oracle/product/10.2.0/db/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jingyong)(PORT=1521)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

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

Service "jingyong" has 1 instance(s).

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

The command completed successfully

一個oracle執行個體對于多個監聽,一個監聽對于多個端口。

現在我們可以建立一個oracle執行個體一個監聽的兩個端口。這一共有兩種方法:

在listener檔案添加一行,具體如下:

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1521))

)

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1522))

)

)

這時我們隻有重新開機監聽,就可以用兩個端口連接配接資料庫執行個體了。。。。

當然我們也可以一個執行個體啟動兩個監聽,但是具體隻有一個監聽起作用。

我們可以在一個資料庫下,一個執行個體對于一個監聽,但執行個體必須在不同目錄。或者先建監聽,再建執行個體。一樣能達到效果。。。

具體配置如下:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = jingyong)

(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)

(SID_NAME = jingyong)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1521))

)

)

SID_LIST_LISTENER_2 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = jingyong)

(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)

(SID_NAME = jingyong)

)

)

LISTENER_2 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1522))

)

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = jingyong)(PORT = 1523))

)

)[@more@]