学习笔记第四课时 (4.1)pdb的创建

PDB 是 Oracle 12c+(以 19c 为例)基于 CDB(容器数据库)的 “轻量级数据库”,可通过PDB$SEED 种子模板快速创建,以下是完整创建与访问步骤。

一、PDB 创建前提

PDB 基于PDB$SEED(CDB 内置的模板数据库)创建,需先查询其数据文件路径,用于后续映射新 PDB 的文件路径:

-- 查询PDB$SEED(con_id=2对应种子模板)的数据文件路径
SELECT name FROM v$datafile WHERE con_id=2;

查询结果如下图所示

三、步骤 2:创建新 PDB(以 Appdb 为例)

使用CREATE PLUGGABLE DATABASE命令,基于 PDB$SEED 创建新 PDB,并指定管理员用户与数据文件路径:

然后使用create pluggable database创建一个名为Appdb的pdb,用户名密码为neo,第四行指明了数据文件目录,第五行是一个数据库的极简模式。包含了最小配置所需的文件,比如system表空间、辅助表空间、undo表空间、临时表空间。

sql

CREATE PLUGGABLE DATABASE Appdb
-- 创建PDB的管理员用户(用户名neo,密码neo)
ADMIN USER neo IDENTIFIED BY neo
-- 数据文件路径映射:PDB$SEED路径 → 新PDB路径
FILE_NAME_CONVERT = (
  '/u01/app/oracle/oradata/ORCL/pdbseed/',
  '/u01/app/oracle/oradata/ORCL/PDB1/'
);

执行结果:

⚠️ 说明:

  • 创建后的 PDB 默认处于MOUNTED 状态(仅挂载,未打开,无法访问,需手动打开)。
  • FILE_NAME_CONVERT用于将种子模板的文件路径替换为新 PDB 的存储路径,确保数据文件独立存储。

四、步骤 3:打开 PDB 并验证状态

sql

-- 查看所有PDB的状态
SHOW PDBS;

此时是mount状态

sql

-- 打开Appdb(默认READ WRITE模式,支持读写)
ALTER PLUGGABLE DATABASE APPDB OPEN;

成功打开数据库

下图为打开后的状态

五、步骤 4:验证监听服务(确认 PDB 注册)

刚才进行了空的PDB数据库的基本安装。这个时候我们的新的数据库其实已经可以具备对外服务的基本条件了。通过检查监听验证一下。

bash

lsnrctl status

关键输出(确认 Appdb 服务已注册):

plaintext

Services Summary...
Service "appdb" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...

六、步骤 5:配置 tnsnames.ora(客户端访问别名)

编辑$ORACLE_HOME/network/admin/tnsnames.ora,添加 Appdb 的访问别名(以别名P1为例):

通过编辑服务命名文件,模拟客户端登录。这里P1是别名, SERVICE_NAME = APPDB (填刚才创建的pdb),host填主机名或者ip地址

七、步骤 6:客户端连接 PDB

通过sqlplus使用别名 + PDB 管理员用户登录:

bash

sqlplus neo/neo@P1

这里的P1是别名。这里的neo分别是用户名和密码。通过访问别名进行数据库登录。到此我们完成了创建PDB的步骤。

八、CDB/PDB 的核心优势(Oracle 19c 云原生特性)

Oracle 12c+(命名含 “c” 即 “Cloud”)的 CDB/PDB 架构,解决了传统数据库 “部署慢” 的问题:

  • 传统方式创建数据库:需部署操作系统、安装数据库、初始化实例,耗时久;
  • PDB 方式:基于种子模板一键创建,仅需数秒即可生成独立数据库,大幅提升部署效率,适配云环境的快速资源交付需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值