oracle 12c pdb字符集,Oracle 12C R2-新特性-多租户:PDB支持不同字符集

Oracle 12C R2-新特性-多租户:PDB支持不同字符集

在12.2之前的版本中,PDB的字符集必须和root容器保持一致。很显然这样就限制了PDB的灵活性。这个限制在12.2中被取消,12.2中支持PDB的字符集可以和root容器字符集不同。

https://www.cndba.cn/Expect-le/article/1754

1

检查CDB字符集

可以看到CDB字符是AL32UTF8

https://www.cndba.cn/Expect-le/article/1754

SQL>COLUMN parameter FORMAT A30

SQL>COLUMN value FORMAT A30

SQL>SELECT *

FROM nls_database_parameters

WHERE parameter = 'NLS_CHARACTERSET';

PARAMETER VALUE

------------------------------ ------------------------------

NLS_CHARACTERSET AL32UTF8

SQL>

2

创建一个源CDB和PDB

首先,我们必须使用WE8ISO8859P1字符集创建CDB,以便我们有合适的源CDB和PDB。 以下命令将创建一个名为cdb3的CDB,并带有一个名为pdb5的PDBhttps://www.cndba.cn/Expect-le/article/1754

dbca -silent -createDatabase /

-templateName General_Purpose.dbc /

-gdbname cdb3 -sid cdb3 -responseFile NO_VALUE /

-characterSet WE8ISO8859P1 /https://www.cndba.cn/Expect-le/article/1754https://www.cndba.cn/Expect-le/article/1754

-systemPassword OraPasswd1 /

-createAsContainerDatabase true /

-numberOfPDBs 1 /

-pdbName pdb5 /

-pdbAdminPassword OraPasswd1 /

-databaseType MULTIPURPOSE /

-automaticMemoryManagement false /

-totalMemory 2048 /

-storageType FS /

-datafileDestination "/u02/app/oracle/oradata/" /

-redoLogFileSize 50 /

https://www.cndba.cn/Expect-le/article/1754

-emConfiguration NONE /

-ignorePreReqs

我们使源CDB使用OMF管理方式,并切换到归档模式。

ALTER SYSTEM SET db_create_file_dest = '/u02/app/oracle/oradata';

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

ALTER PLUGGABLE DATABASE pdb5 OPEN;

--保存当前PDB的状态,下次重启自动到这个状态

ALTER PLUGGABLE DATABASE pdb5 SAVE STATE;

3

克隆一个PDB

为了证明PDB可以支持不同的字符集,我们需要克隆一个源PDB出来。就克隆刚刚创建的另一个CDB中的PDB。

3.1

通过dblink来克隆

SQL>CREATE PLUGGABLE DATABASE pdb5new FROM pdb5@clone_link;

3.2

查看当前PDB

SQL>SHOW PDBS

CON_ID CON_NAME OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED READ ONLY NO

3 PDB1 READ WRITE NO

4 PDB5NEW MOUNTED

SQL>

https://www.cndba.cn/Expect-le/article/1754

3.3

打开克隆的PDB

SQL>ALTER PLUGGABLE DATABASE pdb5new OPEN;

SQL>SHOW PDBS

CON_ID CON_NAME OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED READ ONLY NO

3 PDB1 READ WRITE NO

4 PDB5NEW READ WRITE NO

SQL>

如果克隆有什么问题,可以通过pdb_plug_in_violations视图查看具体信息。

该视图主要是展示了关于CDB和PDB之间不兼容的一些信息。

3.4

验证

可以看到PDB字符集是WE8ISO8859P1,CDB字符集是AL32UTF8。

3.4.1

查看CDB字符集

SQL>COLUMN parameter FORMAT A30

SQL>COLUMN value FORMAT A30

SQL>SELECT *

FROM nls_database_parameters

WHERE parameter = 'NLS_CHARACTERSET';

PARAMETER VALUE

------------------------------ ------------------------------

NLS_CHARACTERSET AL32UTF8

SQL>

https://www.cndba.cn/Expect-le/article/1754

3.4.2

查看PDB字符集

SQL>ALTER SESSION SET CONTAINER=pdb5new;

SQL>COLUMN parameter FORMAT A30

SQL>COLUMN value FORMAT A30

SQL>SELECT *

FROM nls_database_parameters

WHERE parameter = 'NLS_CHARACTERSET';

PARAMETER VALUE

------------------------------ ------------------------------

NLS_CHARACTERSET WE8ISO8859P1

SQL>

版权声明:本文为博主原创文章,未经博主允许不得转载。

PDB 字符集

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值