目 录CONTENT

文章目录

创建可插拔数据库(Pluggable Database, PDB)的常用方式

暮渔木鱼
2025-01-08 / 0 评论 / 0 点赞 / 3 阅读 / 0 字 / 正在检测是否收录...

在Oracle数据库中(12c及以上版本),创建可插拔数据库(Pluggable Database, PDB)的常用方式包括以下五种,每种方式均提供详细的操作步骤和SQL语句:


一、从种子库(PDB$SEED)创建新PDB

原理:基于预定义的模板(PDB$SEED)快速生成新PDB。
步骤

-- 1. 连接到CDB实例(使用SYSDBA权限)
CONN / AS SYSDBA

-- 2. 创建PDB并指定文件路径转换(将种子库文件复制到新位置)
CREATE PLUGGABLE DATABASE pdb_name
  ADMIN USER pdb_admin IDENTIFIED BY password
  FILE_NAME_CONVERT = ('/path/to/pdbseed/', '/path/to/new_pdb/');

-- 3. 切换到新PDB并打开
ALTER SESSION SET CONTAINER = pdb_name;
ALTER PLUGGABLE DATABASE OPEN;

-- 4. 验证状态
SELECT name, open_mode FROM v$pdbs;

二、克隆现有PDB创建新PDB

原理:从已有的PDB克隆生成新PDB(支持热克隆,无需关闭源PDB)。
步骤

-- 1. 确保源PDB处于READ WRITE模式
ALTER PLUGGABLE DATABASE source_pdb OPEN READ WRITE;

-- 2. 克隆PDB(Oracle 12c R2+支持热克隆)
CREATE PLUGGABLE DATABASE new_pdb FROM source_pdb
  FILE_NAME_CONVERT = ('/path/to/source_pdb/', '/path/to/new_pdb/');

-- 3. 打开新PDB
ALTER PLUGGABLE DATABASE new_pdb OPEN;

-- 4. 验证克隆结果
SELECT name, open_mode FROM v$pdbs;

三、插入未插拔的PDB(Plug-in)

原理:将已拔出的PDB(XML元数据文件和数据文件)插入到当前CDB中。
步骤

-- 1. 将PDB元数据文件和数据文件拷贝到目标服务器
-- 假设已拔出PDB的元数据文件为 `unplugged_pdb.xml`

-- 2. 插入PDB到当前CDB
CREATE PLUGGABLE DATABASE new_pdb USING '/path/to/unplugged_pdb.xml'
  NOCOPY  -- 如果数据文件已在正确路径下,无需复制
  SOURCE_FILE_NAME_CONVERT = ('/original/path/', '/new/path/');

-- 3. 同步并打开PDB
ALTER PLUGGABLE DATABASE new_pdb OPEN;

四、使用DBCA(图形化工具)创建PDB

原理:通过Oracle提供的Database Configuration Assistant工具创建PDB。
步骤

# 1. 运行DBCA命令
dbca

# 2. 选择操作:
#    - 选择 "Manage Pluggable Databases" > "Create a Pluggable Database"
#    - 按向导配置名称、管理员密码、存储路径等
#    - 完成创建

五、通过RMAN复制PDB

原理:使用RMAN备份恢复功能克隆PDB。
步骤

-- 1. 在源CDB中备份PDB
RMAN> BACKUP PLUGGABLE DATABASE source_pdb;

-- 2. 在目标CDB中恢复备份
RMAN> RESTORE PLUGGABLE DATABASE source_pdb TO new_pdb
      FROM BACKUP '/path/to/backup'
      AUXILIARY DESTINATION '/path/to/temp';

-- 3. 插入并打开PDB
ALTER PLUGGABLE DATABASE new_pdb OPEN;

通用操作

1. 创建后配置

-- 创建用户并授权
CREATE USER pdb_user IDENTIFIED BY password;
GRANT CREATE SESSION, RESOURCE TO pdb_user;

-- 配置监听(修改tnsnames.ora)
LISTENER_ORA:
  (SERVICE_NAME = new_pdb)

2. 关闭/删除PDB

ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
DROP PLUGGABLE DATABASE pdb_name INCLUDING DATAFILES;

注意事项

  1. 权限要求:需SYSDBACREATE PLUGGABLE DATABASE权限。
  2. 文件路径:确保目标路径有足够空间,路径转换需正确。
  3. 兼容性:源PDB和目标CDB的字符集、版本需兼容。
  4. 监听配置:插入后需更新监听文件以支持客户端连接。

通过以上方式,可灵活创建适应不同场景的PDB。建议在生产环境中优先使用克隆DBCA工具以提高效率。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区