在 Oracle Database 23c 之前,多租户容器数据库中的可插拔数据库(PDB)可以以两种模式之一打开:读写模式或只读模式,默认是读写模式。Oracle Database 23c 引入了一种新模式,称为混合只读模式(Hybrid Read-Only Mode)。如果PDB被设置成混合只读模式,使用CDB 公共用户登录后,该PDB是读写模式,而 PDB 本地用户登录,则该PDB是只读模式。
关于号主,姚远:
-
Oracle ACE(Oracle和MySQL数据库方向)
-
华为云最有价值专家
-
《MySQL 8.0运维与优化》的作者
-
拥有 Oracle 10g、12c和19c OCM等数十项数据库认证
-
曾任IBM公司数据库部门经理
-
20+年DBA经验,服务2万+客户
-
精通C和Java,发明两项计算机专利
PDB的混合只读模式的一个常用的使用场景是数据库管理员在对PDB进行升级或维护的时候,可以将PDB设置为混合只读模式,这时公用用户可以对PDB进行更新,而本地用户只能对该PDB进行只读查询。这样保证了对PDB的升级或维护不受本地用户的干扰。将PDB设置成混合只读模式的命令如下:
SQL> alter pluggable database freepdb1 open hybrid read only;
Pluggable database altered.
使用公用用户登录PDB,执行修改命令可以成功:
[oracle@INSPUR ~]$ sqlplus c##scott/oracle@localhost/freepdb1
SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Thu Dec 14 14:40:52 2023
Version 23.2.0.0.0
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Last Successful login time: Thu Dec 14 2023 14:36:50 +08:00
Connected to:
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
Version 23.2.0.0.0
SQL> insert into scott.tt1 values(1);
1 row created.
使用本地用户登录PDB,执行修改命令失败:
[oracle@INSPUR ~]$ sqlplus scott/oracle@localhost/freepdb1
SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Thu Dec 14 14:39:07 2023
Version 23.2.0.0.0
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Last Successful login time: Thu Nov 23 2023 17:18:12 +08:00
Connected to:
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
Version 23.2.0.0.0
SQL> insert into scott.tt1 values(1);
insert into scott.tt1 values(1)
*
ERROR at line 1:
ORA-16000: Attempting to modify database or pluggable database that is open for
read-only access.
这两个操作的屏幕截图如下:
在V$CONTAINER_TOPOLOGY 动态视图中有一个名为 IS_HYBRID_READ_ONLY 的新列用来标识对应的PDB是否是混合只读模式:
SQL> col con_name format a10
SQL> select con_name,OPEN_MODE,IS_HYBRID_READ_ONLY from V$CONTAINER_TOPOLOGY;
CON_NAME OPEN_MODE IS_HYBRID
---------- ------------------------------ ---------
FREEPDB1 READ WRITE YES
顺便说一下,从 Oracle Database 21c 开始,Oracle Database 只能作为多租户 CDB 数据库可用,对非 CDB 数据库的支持已停止。
欢迎加我的微信,拉你进数据库微信群👇
推荐文章👇
试看《MySQL 8.0运维与优化》(清华大学出版社)
托业890分的Oracle ACE为您翻译国际大佬的雄文(合集)