19c多租户架构下的UNDO管理- Local Undo

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: Oracle 12c引入多租户架构,PDB共享CDB的UNDO表空间。19c新增Local Undo特性,支持各PDB独立管理UNDO,提升性能、隔离性与可管理性,且为热克隆、PDB迁移等高级功能的前提。建议19c环境启用Local Undo。


Oracle Database 12c(12.1)引入了多租户特性,数据库实现了容器化,多租户架构下实现可插拔。一个CDB中可以有0个或多个PDB。在同一个CDB中所有PDB共享一个UNDO表空间。
在Oracle Database 19c中,对UNDO的管理有一个重要增强是支持 Local Undo,允许每个PDB独立管理自己的UNDO表空间。此特性增强了多租户环境中的性能、隔离性和可管理性。

Oracle 12.1 中 UNDO是共享模式

Oracle 19c中支持共享UNDO和Local Undo

Lolcal UNDO的优点:
提高性能:通过在每个PDB中隔离UNDO表空间进行管理,Local UNDO减少了多个PDB共享一个共享UNDO表空间时可能出现的争用和潜在瓶颈。
增强隔离:Local Undo可确保一个PDB中的操作不会影响其他PDB的UNDO性能,从而提高稳定性和可靠性。
简化管理:DBA可以在PDB级别管理UNDO表空间,根据每个PDB的特点和业务特点在PDB级设置UNDO。
为什么在19c中建议使用Local Undo?

本地撤销模式是使用hot cloning, PDB relocation, and PDB proxying这些特性的前提。

CDB架构PDB的UNDO表空间管理

1、连接到根容器

[oracle@19cdb01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sun May 11 05:57:33 2025 Version 19.27.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0

CONNAME
---------------------------------------------------------------------- CDB$ROOT

SYS@cdb19c(CDB$ROOT)>
2、检查CDB中UNDO表空间的使用

SYS@cdb19c(CDB$ROOT)> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 HRPDB READ WRITE NO SYS@cdb19c(CDB$ROOT)> show con_id con_name

CON_ID
------------------------------ 1
CON_NAME
------------------------------ CDB$ROOT
SYS@cdb19c(CDB$ROOT)>

SYS@cdb19c(CDB$ROOT)> SELECT file#, ts.name, ts.ts#, ts.con_id FROM v$datafile d, v$tablespace ts
WHERE d.ts#=ts.ts# AND d.con_id=ts.con_id
AND ts.name like 'UNDO%'; 2 3 4 5

FILE# NAME TS# CON_ID ---------- ------------------------------ ---------- ---------- 4 UNDOTBS1 2 1
8 UNDOTBS1 2 2
11 UNDOTBS1 2 3
每个PDB都有自己的UNDO表空间
SYS@cdb19c(CDB$ROOT)> select a.con_id, b.name, tablespace_name from cdb_tablespaces a, v$pdbs b where a.con_id=b.con_id and contents = 'UNDO'
order by con_id; 2 3 4
CON_ID NAME TABLESPACE_NAME---------- -------------------- ------------------------------
3 HRPDB UNDOTBS1
SYS@cdb19c(CDB$ROOT)>
HRPDB的UNDO表空间是UNDOTBS1
3、验证是否开启Local Undo

SYS@cdb19c(CDB$ROOT)> col property_name for a20
SYS@cdb19c(CDB$ROOT)> col property_value for a15
SYS@cdb19c(CDB$ROOT)> SELECT property_name, property_value
FROM database_properties
WHERE property_name = 'LOCAL_UNDO_ENABLED';

PROPERTY_NAME PROPERTY_VALUE
-------------------- --------------- LOCAL_UNDO_ENABLED TRUE

SYS@cdb19c(CDB$ROOT)>
LOCAL_UNDO_ENABLED是true,该环境开启了Local Undo模式,CDB中每个PDB都有自己的UNDO表空间。19c RAC 多租户环境下,如果开启Local Undo模式,每个PDB也是在每个节点有自己的UNDO表空间。
-the end-

相关文章
|
存储 监控 安全
【Elasticsearch专栏 11】深入探索:Elasticsearch如何支持多租户架构
Elasticsearch支持多租户架构主要通过索引隔离、集群隔离和基于路由的隔离。通过为每个租户创建独立索引或配置路由规则,实现数据隔离。同时,利用基于角色的访问控制机制进行权限管理,确保租户数据安全。这些策略提供了灵活且安全的多租户支持。
480 5
|
SQL 存储 安全
Spring Boot集成Mybatis-Plus多租户架构实战
Spring Boot集成Mybatis-Plus多租户架构实战
1134 0
Spring Boot集成Mybatis-Plus多租户架构实战
|
安全 Java 数据库
在 Spring Boot 中如何优雅地实现多租户架构?
在 Spring Boot 中如何优雅地实现多租户架构?
1965 0
在 Spring Boot 中如何优雅地实现多租户架构?
|
存储 Java 数据库
Spring Boot 优雅实现多租户架构
本文详细介绍如何使用Spring Boot和Spring Cloud实现多租户架构。多租户架构允许多个租户共用一个应用,各自拥有独立资源和数据。其优势包括满足个性化需求、降低成本、复用代码以及增强可扩展性。文中探讨了架构选型、数据库设计、应用部署及租户管理等内容,并提供了具体实现步骤和技术细节。适用于SaaS应用和多租户云服务等场景。
|
监控 Java 数据库
Spring Boot中的多租户架构实现
Spring Boot中的多租户架构实现
|
存储 Java 数据库
在Spring Boot中实现多租户架构的数据隔离
在Spring Boot中实现多租户架构的数据隔离
|
安全 Java 数据安全/隐私保护
Spring Boot优雅实现多租户架构:概念与实战
【4月更文挑战第29天】在多租户系统中,一个应用实例服务于多个租户,每个租户享有独立的数据视图,而应用的基础设施被共享。这样的架构不仅优化了资源使用,还能降低维护和运营成本。本文将详细介绍如何在Spring Boot中实现多租户架构,并提供具体的实战案例。
536 2
|
Oracle 关系型数据库 MySQL
深入OceanBase内部机制:多租户架构下的资源隔离实现精讲
深入OceanBase内部机制:多租户架构下的资源隔离实现精讲
|
Oracle 安全 数据管理
Oracle 12c多租户架构:数据管理的“摩天大楼”
【4月更文挑战第19天】Oracle 12c的多租户架构允许多个独立数据库环境在同一实例中共享资源,提高效率,降低成本。该架构保证了数据隔离和安全性,同时提供灵活性和可扩展性,简化管理任务。通过理解其原理和管理方法,我们可以充分利用这一架构,为企业数据管理和业务发展提供强大支持。
|
存储 新零售 监控
新零售SaaS架构:多租户系统架构设计(1)
新零售SaaS架构:多租户系统架构设计
1268 1

热门文章

最新文章