Oracle 如何向新创建的侦听器注册可插拔数据库(PDB)

Oracle 如何向新创建的侦听器注册可插拔数据库(PDB),oracle,listener,centos7,oracle19c,pluggable-database,Oracle,Listener,Centos7,Oracle19c,Pluggable Database,我在centos 7中使用的是Oracle 19c。Oracle安装后,我使用DBCA创建了新的容器数据库(CDB),其中包含可插拔数据库(PDB) 我正在使用端口号=1522 [oracle@ol8-19 ~]$ lsnrctl start LISTENER_TST LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 17-AUG-2020 16:02:02 Copyright (c) 1991, 2019, Oracle. All

我在
centos 7
中使用的是
Oracle 19c
。Oracle安装后,我使用DBCA创建了新的容器数据库(CDB),其中包含可插拔数据库(PDB)

我正在使用
端口号=1522

[oracle@ol8-19 ~]$ lsnrctl start LISTENER_TST

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 17-AUG-2020 16:02:02

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

Starting /opt/Oracle19c/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /opt/Oracle19c/network/admin/listener.ora
Log messages written to /opt/oraclebase19c/diag/tnslsnr/ol8-19/listener_tst/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ol8-19.localdomain)(PORT=1522)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ol8-19.localdomain)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_TST
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                17-AUG-2020 16:02:02
Uptime                    0 days 0 hr. 0 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/Oracle19c/network/admin/listener.ora
Listener Log File         /opt/oraclebase19c/diag/tnslsnr/ol8-19/listener_tst/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ol8-19.localdomain)(PORT=1522)))
The listener supports no services
The command completed successfully
这是我的Listener.ora文件

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

LISTENER_TST =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1522))
    )
  )
LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1521))


LISTENER_ABC =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1522))

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ABC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ABC)
    )
  )
这是我的tnsnames.ora文件

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

LISTENER_TST =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1522))
    )
  )
LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1521))


LISTENER_ABC =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1522))

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ABC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-19.localdomain)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ABC)
    )
  )

我的可插拔数据库名是PDB。如何使用端口1522向侦听器注册PDB???

连接到空闲实例并启动该实例

[oracle@ol8-19 ~]$ sqlplus / as sysdba

SQL> startup;
将容器更改为可插入数据库

SQL> alter session set container=pdb;
Session altered.
SQL> alter pluggable database pdb close immediate;

SQL> alter pluggable database pdb open;

SQL> exit;
打开它

SQL> alter pluggable database pdb open;
现在,您可以设置
local\u listener

SQL> alter system set local_listener='(address=(protocol=tcp)(host=ol8-19.localdomain)
(port=1522))' scope=spfile;

System altered.
并发出以下命令以立即注册服务

SQL> alter system register;

System altered.
并重新启动可插拔数据库

SQL> alter session set container=pdb;
Session altered.
SQL> alter pluggable database pdb close immediate;

SQL> alter pluggable database pdb open;

SQL> exit;
然后启动侦听器

[oracle@ol8-19 ~]$ lsnrctl start
并重新检查侦听器的当前状态

[oracle@ol8-19 ~]$ lsnrctl status
应该在半分钟内开始