oracle12c创建监听,Oracle 12c为PDB创建专用监听

在某些情况下,需要为一个或多个PDB使用特定的专用监听端口。这就需要创建新的监听,并确保PDB注册到它上面。

在下面的例子中,我们创建新的监听LISTENER_PDB,使用的端口为1522,修改listener.ora文件添加如下内容:

LISTENER_PDB =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

使用如下命令启动监听LISTENER_PDB:

$ lsnrctl start LISTENER_PDB

在tnsnames.ora中添加如下:

LISTENER_PDB =

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

修改PDB的listener_networks参数:

SQL> show pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

4 ORCLPDB2                       READ WRITE NO

SQL> alter system set listener_networks='((NAME=PDB_NETWORK2)(LOCAL_LISTENER=LISTENER_PDB))' SCOPE=BOTH;

System altered.

注意:listener_address字符串是一个地址(或地址列表),用于解析指定的监听。可以使用别名,本例中就使用了别名,尽管这需要在tnsnames.ora文件中添加地址条目。

[oracle@server admin]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-APR-2019 17:53:04

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

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

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production

Start Date                18-APR-2019 17:52:50

Uptime                    0 days 0 hr. 0 min. 14 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/12.2.0/db_home/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/server/listener/alert/log.xml

Listening Endpoints Summary...

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "8459af1e117074d1e053f950a8c04129" has 1 instance(s).

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

Service "8459b38716af75ede053f950a8c0a006" has 2 instance(s).

Instance "orcl", status READY, has 2 handler(s) for this service...

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

Service "orcl" has 1 instance(s).

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

Service "orclXDB" has 1 instance(s).

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

Service "orclpdb1" has 1 instance(s).

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

Service "orclpdb2" has 2 instance(s).

Instance "orcl", status READY, has 2 handler(s) for this service...

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

The command completed successfully

[oracle@server admin]$ lsnrctl status listener_pdb

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-APR-2019 17:53:13

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

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

STATUS of the LISTENER

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

Alias                     listener_pdb

Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production

Start Date                18-APR-2019 17:46:55

Uptime                    0 days 0 hr. 6 min. 18 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/12.2.0/db_home/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/server/listener_pdb/alert/log.xml

Listening Endpoints Summary...

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))

Services Summary...

Service "8459b38716af75ede053f950a8c0a006" has 1 instance(s).

Instance "orcl", status READY, has 2 handler(s) for this service...

Service "orclpdb2" has 1 instance(s).

Instance "orcl", status READY, has 2 handler(s) for this service...

The command completed successfully

[oracle@server admin]$ lsnrctl service listener_pdb

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-APR-2019 17:53:52

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

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

Services Summary...

Service "8459b38716af75ede053f950a8c0a006" has 1 instance(s).

Instance "orcl", status READY, has 2 handler(s) for this service...

Handler(s):

"D000" established:0 refused:0 current:0 max:1022 state:ready

DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=server)(PORT=59880))

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

LOCAL SERVER

Service "orclpdb2" has 1 instance(s).

Instance "orcl", status READY, has 2 handler(s) for this service...

Handler(s):

"D000" established:0 refused:0 current:0 max:1022 state:ready

DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=server)(PORT=59880))

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

LOCAL SERVER

The command completed successfully

现在PDB orclpdb2已经注册在新的监听上,就可以使用1522端口连接orclpdb2:

[oracle@server admin]$ sqlplus test/test@//server:1522/orclpdb2

SQL*Plus: Release 12.2.0.1.0 Production on Thu Apr 18 17:55:12 2019

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

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show pdbs

SP2-0382: The SHOW PDBS command is not available

SQL> show con_id

CON_ID

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

4

SQL> show con_name

CON_NAME

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

ORCLPDB2

此时连接非指定的PDB将报错:

[oracle@server admin]$ sqlplus test/test@//server:1522/orclpdb1

SQL*Plus: Release 12.2.0.1.0 Production on Thu Apr 18 18:05:40 2019

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

ERROR:

ORA-12514: TNS:listener does not currently know of service requested in connect

descriptor

Enter user-name:

使用1521端口仍然可以连接:

[oracle@server admin]$ sqlplus test/test@//server:1521/orclpdb2

SQL*Plus: Release 12.2.0.1.0 Production on Thu Apr 18 18:00:10 2019

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

Last Successful login time: Thu Apr 18 2019 17:59:12 +08:00

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show con_name

CON_NAME

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

ORCLPDB2

SQL>

为了不使用默认1521或公用端口连接,可将默认监听停止(lsnrctl stop listener)或者删除,为pdb指定专用监听。

b955ecaad26ab1bc1023ea5389cb2eb4.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值