> 文章列表 > Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下:

1、参考书籍:《Oracle Database SQL Language Reference》
2、参考书籍:《PostgreSQL中文手册》
3、EDB Postgres Advanced Server User Guides,点击前往
4、PostgreSQL数据库仓库链接,点击前往
5、PostgreSQL中文社区,点击前往
6、Oracle Real Application Testing 官网首页,点击前往
7、Oracle 21C RAT Testing Guide,点击前往
8、测试指南 Setting Up Replay Clients,点击前往
9、swingbench-免费的oracle性能压测工具,点击前往
10、使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能),点击前往
11、牛刀小试–Oracle Swingbench 压力测试,点击前往
12、创建可插拔数据库PDB,点击前往


1、本文内容全部来源于开源社区 GitHub和以上博主的贡献,本文也免费开源(可能会存在问题,评论区等待大佬们的指正)
2、本文目的:开源共享 抛砖引玉 一起学习
3、本文不提供任何资源 不存在任何交易 与任何组织和机构无关
4、大家可以根据需要自行 复制粘贴以及作为其他个人用途,但是不允许转载 不允许商用 (写作不易,还请见谅 💖)


Oracle数据库可插拔数据库PDB的创建及删除

  • 文章快速说明索引
  • 从种子PDB来创建
  • 从本地PDB来克隆
  • PDB数据库的删除
  • PDB进行数据负载


文章快速说明索引

学习目标:

目的:接下来这段时间我想做一些兼容Oracle数据库Real Application Testing (即:RAT)上的一些功能开发,本专栏这里主要是学习以及介绍Oracle数据库功能的使用场景、原理说明和注意事项等,基于PostgreSQL数据库的功能开发等之后 由新博客进行介绍和分享!


学习内容:(详见目录)

1、Oracle数据库可插拔数据库PDB的创建及删除


学习时间:

2023年04月18日 20:06:34


学习产出:

1、Oracle数据库可插拔数据库PDB的创建及删除
2、CSDN 技术博客 1篇


注:下面我们所有的学习环境是Centos7+PostgreSQL15.0+Oracle19c+MySQL5.7

postgres=# select version();version                                   
-----------------------------------------------------------------------------PostgreSQL 15.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.1.0, 64-bit
(1 row)postgres=##-----------------------------------------------------------------------------#SQL> select * from v$version; BANNER									    BANNER_FULL 								BANNER_LEGACY									CON_ID
--------------------------------------------------------------------------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- ----------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production	    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production	Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production		     0Version 19.3.0.0.0SQL>
#-----------------------------------------------------------------------------#mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.19    |
+-----------+
1 row in set (0.06 sec)mysql>

从种子PDB来创建

第一步,查看pdb状态,如下:

[oracle@dbserver ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 19 10:10:28 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to an idle instance.SQL> startup;
ORACLE instance started.Total System Global Area 1157624440 bytes
Fixed Size		    9134712 bytes
Variable Size		  486539264 bytes
Database Buffers	  654311424 bytes
Redo Buffers		    7639040 bytes
Database mounted.
Database opened.
SQL> 
SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO
SQL> 

如上,seed pdb 在数据库cdb启动时处于read only的状态!


第二步,查看其数据文件,如下:

SQL> set line 1000
SQL> col name format a100
SQL> select name, con_id from v$datafile order by con_id;NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/system01.dbf							      1
/home/oracle/oracle19c/oradata/ORCL/sysaux01.dbf							      1
/home/oracle/oracle19c/oradata/ORCL/undotbs01.dbf							      1
/home/oracle/oracle19c/oradata/ORCL/users01.dbf 							      1
/home/oracle/oracle19c/oradata/ORCL/pdbseed/sysaux01.dbf						      2
/home/oracle/oracle19c/oradata/ORCL/pdbseed/undotbs01.dbf						      2
/home/oracle/oracle19c/oradata/ORCL/pdbseed/system01.dbf						      2
/home/oracle/oracle19c/oradata/ORCL/orclpdb/soe.dbf							      3
/home/oracle/oracle19c/oradata/ORCL/orclpdb/system01.dbf						      3
/home/oracle/oracle19c/oradata/ORCL/orclpdb/sysaux01.dbf						      3
/home/oracle/oracle19c/oradata/ORCL/orclpdb/undotbs01.dbf						      3NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/orclpdb/users01.dbf 						      312 rows selected.SQL> select name, con_id from v$tempfile order by con_id;NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/temp01.dbf								      1
/home/oracle/oracle19c/oradata/ORCL/pdbseed/temp012021-02-02_16-06-33-641-PM.dbf			      2
/home/oracle/oracle19c/oradata/ORCL/orclpdb/temp01.dbf							      3SQL>
-- PDB$SEED 数据存放的位置
[oracle@dbserver ~]$ tree /home/oracle/oracle19c/oradata/ORCL/pdbseed/
/home/oracle/oracle19c/oradata/ORCL/pdbseed/
├── sysaux01.dbf
├── system01.dbf
├── temp012021-02-02_16-06-33-641-PM.dbf
└── undotbs01.dbf0 directories, 4 files
[oracle@dbserver ~]$ tree /home/oracle/oracle19c/oradata/ORCL/orclpdb/
/home/oracle/oracle19c/oradata/ORCL/orclpdb/
├── addmrpt_1_1124_1125.txt
├── ashrpt_1_0406_1304.html
├── awrrpt_1_1124_1125.html
├── soe.dbf
├── sysaux01.dbf
├── system01.dbf
├── temp01.dbf
├── undotbs01.dbf
└── users01.dbf0 directories, 9 files
[oracle@dbserver ~]$

第三步,创建新的PDB目录,如下:

-- mkdir capturepdb
-- mkdir replaypdb
[oracle@dbserver ~]$ cd /home/oracle/oracle19c/oradata/ORCL/
[oracle@dbserver ORCL]$ ls
capturepdb  control01.ctl  control02.ctl  orclpdb  pdbseed  redo01.log  redo02.log  redo03.log  replaypdb  sysaux01.dbf  system01.dbf  temp01.dbf  undotbs01.dbf  users01.dbf
[oracle@dbserver ORCL]$ 
[oracle@dbserver ORCL]$ ls capturepdb/
[oracle@dbserver ORCL]$ 
[oracle@dbserver ORCL]$ ls replaypdb/
[oracle@dbserver ORCL]$

第四步,创建capturepdb,如下:

SQL> create pluggable database capturepdb admin user sysdba identified by 123456 roles=(connect) file_name_convert=('/home/oracle/oracle19c/oradata/ORCL/pdbseed','/home/oracle/oracle19c/oradata/ORCL/capturepdb');Pluggable database created.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO4 CAPTUREPDB			  MOUNTED
SQL>
[oracle@dbserver ORCL]$ ll capturepdb/
总用量 716880
-rw-rw---- 1 oracle oracle 346038272 4月  19 10:19 sysaux01.dbf
-rw-rw---- 1 oracle oracle 283123712 4月  19 10:19 system01.dbf
-rw-rw---- 1 oracle oracle  37756928 4月  19 10:19 temp012021-02-02_16-06-33-641-PM.dbf
-rw-rw---- 1 oracle oracle 104865792 4月  19 10:19 undotbs01.dbf
[oracle@dbserver ORCL]$ 
SQL> col name format a100
SQL> select name, con_id from v$datafile order by con_id;NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/system01.dbf							      1
/home/oracle/oracle19c/oradata/ORCL/sysaux01.dbf							      1
/home/oracle/oracle19c/oradata/ORCL/undotbs01.dbf							      1
/home/oracle/oracle19c/oradata/ORCL/users01.dbf 							      1
/home/oracle/oracle19c/oradata/ORCL/pdbseed/system01.dbf						      2
/home/oracle/oracle19c/oradata/ORCL/pdbseed/sysaux01.dbf						      2
/home/oracle/oracle19c/oradata/ORCL/pdbseed/undotbs01.dbf						      2
/home/oracle/oracle19c/oradata/ORCL/orclpdb/system01.dbf						      3
/home/oracle/oracle19c/oradata/ORCL/orclpdb/soe.dbf							      3
/home/oracle/oracle19c/oradata/ORCL/orclpdb/users01.dbf 						      3
/home/oracle/oracle19c/oradata/ORCL/orclpdb/sysaux01.dbf						      3NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/orclpdb/undotbs01.dbf						      3
/home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf						      415 rows selected.SQL> col file_name for a100;
SQL> col tablespace_name for a20;
SQL> select file_id, file_name, tablespace_name from cdb_data_files;FILE_ID FILE_NAME												TABLESPACE_NAME
---------- ---------------------------------------------------------------------------------------------------- --------------------7 /home/oracle/oracle19c/oradata/ORCL/users01.dbf							USERS4 /home/oracle/oracle19c/oradata/ORCL/undotbs01.dbf							UNDOTBS11 /home/oracle/oracle19c/oradata/ORCL/system01.dbf							SYSTEM3 /home/oracle/oracle19c/oradata/ORCL/sysaux01.dbf							SYSAUX9 /home/oracle/oracle19c/oradata/ORCL/orclpdb/system01.dbf						SYSTEM10 /home/oracle/oracle19c/oradata/ORCL/orclpdb/sysaux01.dbf						SYSAUX11 /home/oracle/oracle19c/oradata/ORCL/orclpdb/undotbs01.dbf						UNDOTBS112 /home/oracle/oracle19c/oradata/ORCL/orclpdb/users01.dbf						USERS17 /home/oracle/oracle19c/oradata/ORCL/orclpdb/soe.dbf							SOE9 rows selected.SQL>

第五步,打开上面创建的pdb,如下:

SQL> alter session set container = capturepdb;Session altered.SQL> alter pluggable database capturepdb open;Pluggable database altered.SQL>
SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ WRITE NO
SQL> select name, con_id from v$datafile order by con_id;NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf						      4SQL> select file_id, file_name, tablespace_name from cdb_data_files;FILE_ID FILE_NAME												TABLESPACE_NAME
---------- ---------------------------------------------------------------------------------------------------- --------------------21 /home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf						SYSTEM22 /home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf						SYSAUX23 /home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf 					UNDOTBS1SQL>

此时再新建一个会话,如下:

SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO4 CAPTUREPDB			  READ WRITE NO
SQL> col file_name for a100;
SQL> col tablespace_name for a20;
SQL> select file_id, file_name, tablespace_name from cdb_data_files;FILE_ID FILE_NAME												TABLESPACE_NAME
---------- ---------------------------------------------------------------------------------------------------- --------------------7 /home/oracle/oracle19c/oradata/ORCL/users01.dbf							USERS4 /home/oracle/oracle19c/oradata/ORCL/undotbs01.dbf							UNDOTBS11 /home/oracle/oracle19c/oradata/ORCL/system01.dbf							SYSTEM3 /home/oracle/oracle19c/oradata/ORCL/sysaux01.dbf							SYSAUX9 /home/oracle/oracle19c/oradata/ORCL/orclpdb/system01.dbf						SYSTEM10 /home/oracle/oracle19c/oradata/ORCL/orclpdb/sysaux01.dbf						SYSAUX11 /home/oracle/oracle19c/oradata/ORCL/orclpdb/undotbs01.dbf						UNDOTBS112 /home/oracle/oracle19c/oradata/ORCL/orclpdb/users01.dbf						USERS17 /home/oracle/oracle19c/oradata/ORCL/orclpdb/soe.dbf							SOE21 /home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf						SYSTEM22 /home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf						SYSAUXFILE_ID FILE_NAME												TABLESPACE_NAME
---------- ---------------------------------------------------------------------------------------------------- --------------------23 /home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf 					UNDOTBS112 rows selected.SQL>

第六步,配置tnsnames.ora,并建立连接,如下:

[oracle@dbserver ~]$ vim  ./oracle19c/product/19c/dbhome_1/network/admin/tnsnames.ora
[oracle@dbserver ~]$ 
[oracle@dbserver ~]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 oracle
[oracle@dbserver ~]$ 
[oracle@dbserver ~]$ cat  ./oracle19c/product/19c/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /home/oracle/oracle19c/product/19c/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.LISTENER_ORCL =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))PDBORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCLPDB)))CAPTUREPDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = capturepdb)))
[oracle@dbserver ~]$ cat /home/oracle/oracle19c/product/19c/dbhome_1/network/admin/listener.ora
# listener.ora Network Configuration File: /home/oracle/oracle19c/product/19c/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.ORCL =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))
SID_LIST_LISTENER =  
(SID_LIST =  (SID_DESC =  (GLOBAL_DBNAME = orcl)(SID_NAME = orcl))
)
[oracle@dbserver ~]$

然后重启了一下监听,如下:

[oracle@dbserver ~]$ lsnrctl stop ; lsnrctl start
...
[oracle@dbserver ~]$ lsnrctl status
...

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

[oracle@dbserver ~]$ sqlplus sys/123456@capturepdb as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 19 11:20:01 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ WRITE NO-- 查看用户
SQL> select username,common,con_id from cdb_users where account_status = 'OPEN';USERNAME	COM	CON_ID
--------------- --- ----------
SYS		YES	     4
SYSTEM		YES	     4
C##ORACLE	YES	     4
SYSDBA		NO	     4
C##SPA123	YES	     4
C##USER1	YES	     4
WMSYS		YES	     47 rows selected.SQL> 

第七步,创建并指定默认表空间,如下:

SQL> col file_name for a100;
SQL> col tablespace_name for a20;
SQL> 
SQL> select file_name, tablespace_name from cdb_data_files;FILE_NAME											     TABLESPACE_NAME
---------------------------------------------------------------------------------------------------- --------------------
/home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf					     SYSTEM
/home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf					     SYSAUX
/home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf					     UNDOTBS1SQL> create tablespace users datafile '/home/oracle/oracle19c/oradata/ORCL/capturepdb/user.dbf' size 50M autoextend on next 1G maxsize 5G;Tablespace created.SQL> select file_name, tablespace_name from cdb_data_files;FILE_NAME											     TABLESPACE_NAME
---------------------------------------------------------------------------------------------------- --------------------
/home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf					     SYSTEM
/home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf					     SYSAUX
/home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf					     UNDOTBS1
/home/oracle/oracle19c/oradata/ORCL/capturepdb/user.dbf 					     USERSSQL>

从本地PDB来克隆

从容器数据库中克隆本地capturepdb来创建replaypdb,如下:

第一步,以只读方式打开capturepdb,如下:

[oracle@dbserver ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 19 11:33:47 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO4 CAPTUREPDB			  READ WRITE NO
SQL> 
SQL> conn sys/123456@capturepdb as sysdba
Connected.
SQL> 
SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ WRITE NO
SQL> shutdown immediate;
Pluggable Database closed.
SQL> 
SQL> startup open read only;
Pluggable Database opened.
SQL> 
SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ ONLY  NO
SQL>

第二步,查看数据文件,并创建新的PDB目录,如下:

SQL> set line 1000;
SQL> col name format a100;
SQL> 
SQL> select name, con_id from v$datafile where con_id = 4;NAME													 CON_ID
---------------------------------------------------------------------------------------------------- ----------
/home/oracle/oracle19c/oradata/ORCL/capturepdb/system01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/sysaux01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/undotbs01.dbf						      4
/home/oracle/oracle19c/oradata/ORCL/capturepdb/user.dbf 						      4SQL>
[oracle@dbserver ~]$ cd /home/oracle/oracle19c/oradata/ORCL/
[oracle@dbserver ORCL]$ 
[oracle@dbserver ORCL]$ ls replaypdb/
[oracle@dbserver ORCL]$

第三步,克隆 如下:

[oracle@dbserver ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 19 12:44:54 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> create pluggable database replaypdb from capturepdb file_name_convert=('capturepdb','replaypdb');Pluggable database created.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO4 CAPTUREPDB			  READ ONLY  NO5 REPLAYPDB			  MOUNTED
SQL>

第四步,打开replaypdb数据库,如下:

SQL> conn /as sysdba
Connected.
SQL> 
SQL> alter session set container = capturepdb;Session altered.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ ONLY  NO
SQL> alter pluggable database capturepdb close immediate;Pluggable database altered.SQL> alter pluggable database capturepdb open;Pluggable database altered.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ WRITE NO
SQL>
SQL> conn /as sysdba
Connected.
SQL> 
SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO4 CAPTUREPDB			  READ WRITE NO5 REPLAYPDB			  MOUNTED
SQL> alter session set container = replaypdb;Session altered.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------5 REPLAYPDB			  MOUNTED
SQL> alter pluggable database replaypdb open;Pluggable database altered.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------5 REPLAYPDB			  READ WRITE NO
SQL>
[oracle@dbserver ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 19 12:55:11 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED			  READ ONLY  NO3 ORCLPDB			  READ WRITE NO4 CAPTUREPDB			  READ WRITE NO5 REPLAYPDB			  READ WRITE NO
SQL>

PDB数据库的删除

alter pluggable database pdbname close;
drop pluggable database pdbname [including datafiles];

PDB进行数据负载

[oracle@dbserver ~]$ lsnrctl statusLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-APR-2023 12:59:54Copyright (c) 1991, 2019, Oracle.  All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                19-APR-2023 12:57:27
Uptime                    0 days 0 hr. 2 min. 39 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/oracle19c/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/oracle19c/diag/tnslsnr/dbserver/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver.localdomain)(PORT=1521)))
Services Summary...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
Service "ba57177fca292d25e055020c2946ed4e" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
Service "capturepdb" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
Service "f9a7f0e56dce0f4de0538477a8c06579" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
Service "f9aa168e2c4e38fde0538477a8c0bb32" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
Service "orcl" has 2 instance(s).Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...Instance "orcl", status READY, has 2 handler(s) for this service...
Service "orclXDB" has 1 instance(s).Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
Service "replaypdb" has 1 instance(s).Instance "orcl", status READY, has 2 handler(s) for this service...
The command completed successfully
[oracle@dbserver ~]$ 
[oracle@dbserver ~]$ sqlplus sys/123456@capturepdb as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 19 13:06:16 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot order by end_interval_time desc;SNAP_ID BEGIN_INTERVAL_TIME							       END_INTERVAL_TIME
---------- --------------------------------------------------------------------------- ---------------------------------------------------------------------------1132 19-APR-23 12.00.41.585 PM						       19-APR-23 01.00.07.221 PM1131 19-APR-23 11.00.30.577 AM						       19-APR-23 12.00.41.585 PM1130 19-APR-23 10.21.35.563 AM						       19-APR-23 11.00.30.577 AM1129 19-APR-23 10.11.09.000 AM						       19-APR-23 10.21.35.563 AM1128 18-APR-23 11.19.32.000 PM						       18-APR-23 11.30.03.024 PM1127 18-APR-23 06.31.53.000 PM						       18-APR-23 06.42.35.592 PM1126 12-APR-23 05.16.19.000 PM						       12-APR-23 05.26.49.832 PM7 rows selected.SQL> show pdbs;CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------4 CAPTUREPDB			  READ WRITE NO
SQL> exec dbms_workload_repository.create_snapshot();PL/SQL procedure successfully completed.SQL> select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot order by end_interval_time desc;SNAP_ID BEGIN_INTERVAL_TIME							       END_INTERVAL_TIME
---------- --------------------------------------------------------------------------- ---------------------------------------------------------------------------1 19-APR-23 10.11.09.000 AM						       19-APR-23 01.09.22.022 PM1132 19-APR-23 12.00.41.585 PM						       19-APR-23 01.00.07.221 PM1131 19-APR-23 11.00.30.577 AM						       19-APR-23 12.00.41.585 PM1130 19-APR-23 10.21.35.563 AM						       19-APR-23 11.00.30.577 AM1129 19-APR-23 10.11.09.000 AM						       19-APR-23 10.21.35.563 AM1128 18-APR-23 11.19.32.000 PM						       18-APR-23 11.30.03.024 PM1127 18-APR-23 06.31.53.000 PM						       18-APR-23 06.42.35.592 PM1126 12-APR-23 05.16.19.000 PM						       12-APR-23 05.26.49.832 PM8 rows selected.SQL>

下面使用swingbench进行负载,如下:

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

[oracle@dbserver capturepdb]$ pwd
/home/oracle/oracle19c/oradata/ORCL/capturepdb
[oracle@dbserver capturepdb]$ ll
总用量 799160
-rw-rw---- 1 oracle oracle 377495552 4月  19 13:11 sysaux01.dbf
-rw-rw---- 1 oracle oracle 283123712 4月  19 13:11 system01.dbf
-rw-rw---- 1 oracle oracle  37756928 4月  19 13:03 temp012021-02-02_16-06-33-641-PM.dbf
-rw-rw---- 1 oracle oracle 104865792 4月  19 13:08 undotbs01.dbf
-rw-rw---- 1 oracle oracle  52436992 4月  19 13:08 user.dbf
[oracle@dbserver capturepdb]$

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

[oracle@dbserver capturepdb]$ ll
总用量 3761320
-rw-rw---- 1 oracle oracle 2603622400 4月  19 13:25 soe.dbf
-rw-rw---- 1 oracle oracle  387981312 4月  19 13:25 sysaux01.dbf
-rw-rw---- 1 oracle oracle  283123712 4月  19 13:24 system01.dbf
-rw-rw---- 1 oracle oracle  247472128 4月  19 13:24 temp012021-02-02_16-06-33-641-PM.dbf
-rw-rw---- 1 oracle oracle  277880832 4月  19 13:25 undotbs01.dbf
-rw-rw---- 1 oracle oracle   52436992 4月  19 13:24 user.dbf
[oracle@dbserver capturepdb]$

数据加载完成,开始负载,如下:
Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除

Oracle的学习心得和知识总结(二十一)|Oracle数据库可插拔数据库PDB的创建及删除