暂无图片
oracle19c,CDB是GBK字符集,我从种子库创建了一个pdb,也是GBK字符集。我这个pdb目前没有数据,我想要将它字符集切换成utf8
我来答
分享
vic
2024-08-30
oracle19c,CDB是GBK字符集,我从种子库创建了一个pdb,也是GBK字符集。我这个pdb目前没有数据,我想要将它字符集切换成utf8

oracle19c,CDB是GBK字符集,我从种子库创建了一个pdb,也是GBK字符集。我这个pdb目前没有数据,我想要将它字符集切换成utf8,请问怎么操作?前提是不能关闭CDB,不能挂载CDB。pdb内可以随意操作。

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
夏宁

--修改字符集(12.2之后才可以修改pdb的字符集)
alter session set container=pdb1;
select userenv('language') from dual;
alter session set container=cdb$root;
alter pluggable database pdb1 close immediate;
alter pluggable database pdb1 open read write restricted;
alter session set container=pdb1;
alter database character set internal_use zhs16gbk;
select userenv('language') from dual;
alter pluggable database pdb1 open;

暂无图片 评论
暂无图片 有用 2
vic
题主
2024-09-02
alter database character set internal_use AL32UTF8; alter database character set internal_use AL32UTF8 * ERROR at line 1: ORA-12715: invalid character set specified 报错:使用的字符集无效或不支持字符集的更改操作。 查看了一下是支持AL32UTF8
vic

alter database character set internal_use AL32UTF8;
alter database character set internal_use AL32UTF8
*
ERROR at line 1:
ORA-12715: invalid character set specified
报错:使用的字符集无效或不支持字符集的更改操作。
查看了一下是支持AL32UTF8

暂无图片 评论
暂无图片 有用 1
每日一步

1、当CDB root 的字符集不是AL32UTF8时,CDB中的所有PDB都必须和CDB root的字符集相同;

2、所以你需要先调整CDB$ROOT的字符集为: AL32UTF8;

暂无图片 评论
暂无图片 有用 0
赵小兵

每个PDB之间的字符集可以不统一

暂无图片 评论
暂无图片 有用 0
夏宁
2024-09-04
你这回答 是来蹭墨值的吗
mayyf

cdb中pdb字符集可以不统一,但是必须cdb自身要是AL32UTF8。然后从其他 gbk的pdb(非本cdb)通过clone pdb到这个 cdb,这样就得到一个gbk的pdb。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏