首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Oracle PDB数据库日常维护及相关命令

Oracle PDB数据库日常维护及相关命令

作者头像
用户5921339
发布2026-05-20 19:27:32
发布2026-05-20 19:27:32
1370
举报

Oracle PDB(Pluggable Database,可插拔数据库)是Oracle多租户架构的核心组件,允许在容器数据库(CDB)中独立管理逻辑数据库单元,实现资源高效共享与灵活部署‌,以下常见PDB数据操作:

  • 检查是否为CDB
代码语言:javascript
复制
SQL> SELECT name, cdb, open_mode FROM v$database;

NAME   CDB OPEN_MODE
--------- --- --------------------
ORCL   YES READ WRITE

CDB查询结果如果为NO,则表示该数据库是传统非容器数据库(Non-CDB),不能创建 PDB 数据库)

  • 查询 PDB 信息
代码语言:javascript
复制
SQL> SELECT pdb_name, status, creation_scn FROM dba_pdbs;

PDB_NAME STATUS     CREATION_SCN
-------- ---------- ------------
ORCLPDB  NORMAL   1438806
PDB$SEED NORMAL   1410268
  • 查询所有PDB状态
代码语言:javascript
复制
SQL> show pdbs

CON_ID CON_NAME  OPEN MODE  RESTRICTED
---- ---------- ---------- ----------
 2   PDB$SEED     READ ONLY  NO
 3   ORCLPDB      MOUNTED
  • 检查当前会话
代码语言:javascript
复制
SQL> select sys_context('USERENV', 'CON_NAME') container_name, sys_context('USERENV', 'CON_ID') container_id FROM dual;
  • 创建pdb数据库
代码语言:javascript
复制
SQL> create pluggable database PDB01 admin user user01 identified by 12345678 roles=(dba) file_name_convert=('/u01/app/oracle/oradata/orcl/pdbseed','/u01/app/oracle/oradata/orcl/pdb01');
  • 查看刚刚创建的PDB01
代码语言:javascript
复制
SQL> select name,restricted from v$pdbs;

NAME          RES
------------- ---
PDB$SEED      NO
ORCLPDB
PDB01
  • 打开(启动)PDB数据库
代码语言:javascript
复制
SQL> alter pluggable database PDB01 open;
SQL> startup pluggable database PDB01;
或者
SQL> alter session set container=PDB01;
SQL> alter database PDB01 open;
  • 进入根容器
代码语言:javascript
复制
SQL> alter session set container=cdb$root; 
  • 切换到指定PDB数据库
代码语言:javascript
复制
SQL> alter session set container=PDB01;
  • 重命名PDB数据库
代码语言:javascript
复制
SQL> alter pluggable database rename global_name to PDB01_NEW;
  • 克隆PDB数据库,以PDB01为模板克隆创建数据库PDB02
代码语言:javascript
复制
SQL> alter pluggable database PDB01 open read only;
SQL> create pluggable database PDB02 from PDB01 file_name_convert=('/u01/app/oracle/oradata/orcl/pdb01', '/u01/app/oracle/oradata/orcl/pdb02/');
  • 查看当前属于哪个容器
代码语言:javascript
复制
SQL> select sys_context('USERENV','CON_NAME') from dual;
SQL> show con_name
  • 关闭PDB
代码语言:javascript
复制
SQL> alter pluggable database PDB01 close immediate;

注意:PDB数据库closeclose immediate和数据库的 shutdown normalshutdown immediate 行为一致。

  • 关闭所有PDB
代码语言:javascript
复制
SQL> alter pluggable database all close;
-- 关闭当前实例上的PDB
SQL> alter pluggable database all close immediate; 
-- 关闭所有实例上的PDB
SQL> alter pluggable database all close immediate instances=all;
  • 删除PDB但保留数据文件
代码语言:javascript
复制
SQL> drop pluggable database PDB01 keep datafiles;
  • 删除PDB同时删除数据文件
代码语言:javascript
复制
SQL> drop pluggable database PDB01 including datafiles; 
图片
图片

· · · · · END · · · · ·

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档