oracle19c,如何创建多个不同字符集的pdb

early__xz 2024-03-20 11:37:23

环境:oracle19c,已存在一个CDB,这个cdb下有俩pdb,字符集为AL32UTF8。现在需求是我们上线了一个新的应用,字符集为ZHS16GBK,我该如何创建新的字符集为ZHS16GBK的pdb。

...全文
761 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
姚远Oracle ACE 2024-03-21
  • 打赏
  • 举报
回复

可以使用下面的命令进行修改
alter database character set internal_use zhs16gbk;

JJJ69 2024-03-21
  • 打赏
  • 举报
回复 1

在Oracle 19c中创建一个新的PDB,并指定其字符集为ZHS16GBK,你需要按照以下步骤进行操作:

确认CDB支持多字符集: 首先确保你的CDB启用了多字符集支持。如果未启用,则需要启用它以允许不同字符集的PDB共存。

准备数据库环境: 确保有足够的存储空间用于新的PDB,并且操作系统环境中已经安装了对应ZHS16GBK字符集的支持。

创建新的PDB并指定字符集: 在CDB根容器(CDB$ROOT)中作为管理员登录,使用CREATE PLUGGABLE DATABASE命令创建新PDB,并指定字符集参数CHARACTER SET为ZHS16GBK。示例命令如下:
ALTER SESSION SET CONTAINER = CDB$ROOT;
CREATE PLUGGABLE DATABASE new_pdb_name
  ADMIN USER admin_user IDENTIFIED BY password
  CHARACTER SET ZHS16GBK
  FILE_NAME_CONVERT=('<source_file_prefix>', '<target_file_prefix>');

这里,

new_pdb_name 替换为你打算创建的新PDB的名字。
admin_user 和 password 是为新PDB创建的管理员用户及其密码。
<source_file_prefix><target_file_prefix> 是文件名转换参数,用来指定数据文件路径的模板替换规则。比如,如果你从pdbseed复制文件结构,那么可能需要将pdbseed的数据文件路径前缀替换成新PDB的数据文件存放路径。

完成创建并开启新PDB: 创建后,还需要打开这个新PDB以便能够对其进行进一步的操作和应用部署。
ALTER PLUGGABLE DATABASE new_pdb_name OPEN;

验证字符集设置: 登录到新创建的PDB中,检查当前会话的字符集是否已正确设置。

ALTER SESSION SET CONTAINER = new_pdb_name;
SELECT value FROM v$nls_parameters WHERE parameter = 'NLS_CHARACTERSET';



5,139

社区成员

发帖
与我相关
我的任务
社区描述
一起学习数据库技术
oraclemysqlsql 个人社区 广东省·广州市
社区管理员
  • 姚远Oracle ACE
  • dndba
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧