Oracle 12c-23c 核心新特性培训文档
1.1 培训目标
•
系统掌握Oracle 12c至23c期间的核心新特性,明确各特性的迭代逻辑、核心价值及适用场景;
•
熟练掌握关键特性的实操方法,能够结合业务场景落地应用,提升数据库运维效率、性能及安全性;
•
理解Oracle数据库生命周期管理规范,掌握特性升级与版本适配的核心要点;
•
适配医疗、互联网等多行业需求,重点掌握高可用、安全、性能优化类特性的落地技巧。
1.2 培训对象
Oracle数据库管理员(DBA)、数据库运维工程师、开发工程师,需具备Oracle基础运维与SQL操作能力,适合从12c向高版本升级的技术人员学习。
1.3 培训时长
1天(6小时),以“特性讲解+实操演示+疑问答疑”为主,重点突破高频使用特性,兼顾理论与落地。
1.4 前置准备
•
环境:Oracle 19c/21c/23c数据库环境(单机/集群均可)、SQL Developer或PL/SQL Developer工具;
•
权限:具备SYSDBA权限,可执行创建表、索引、审计策略、配置ADG等操作;
•
资料:本培训文档、Oracle官方特性手册(精简版)、实操命令清单。
二、核心新特性详解(按版本迭代+功能分类)
2.1 性能优化类特性
2.1.1 In-Memory Column Store(IM 列存储)
核心定位:Oracle 12c引入的高性能存储特性,后续版本持续优化,核心是将表数据以“列存储”模式加载到内存中,与传统行存储形成互补,大幅提升复杂查询、聚合分析的性能。
核心价值:
•
突破行存储瓶颈:传统行存储适合OLTP高频增删改场景,IM列存储适合OLAP分析场景(如统计报表、多表关联聚合),查询速度提升10-100倍;
•
内存智能管理:支持自动将热点表、高频查询表加载到IM列存储,无需手动干预,且不占用SGA额外内存(独立的IM内存池);
•
兼容现有业务:无需修改应用SQL,数据库自动判断查询场景,选择行存储或列存储执行,对应用透明。
实操演示:
|
|
适配场景:医疗行业的病历统计、检查报告分析、科研数据批量查询;互联网行业的用户行为分析、订单统计等。
2.1.2 Automatic Indexing(自动索引)—— 19c 引入
核心定位:Oracle 19c推出的智能化索引管理特性,替代人工创建、维护索引,数据库自动识别高频查询语句,创建、使用、删除索引,降低DBA运维成本,避免索引冗余或缺失。
核心价值:
•
减负增效:无需DBA手动分析SQL、创建索引,自动适配业务查询负载变化;
•
智能优化:自动判断索引有效性,对无效、冗余索引进行标记或删除,避免索引过多导致的DML性能下降;
•
透明化操作:索引的创建、使用、删除对应用透明,不影响业务正常运行,支持手动干预调整。
实操演示:
|
sql |
注意事项:核心业务表(如医疗HIS系统的患者表、订单表)可结合手动索引,自动索引适合非核心、查询模式多变的表;不支持JSON列、向量列的自动索引创建。
2.2 高可用类特性(Active Data Guard 增强)
Active Data Guard(ADG)是Oracle高可用核心方案,从12c到21c持续增强,核心目标是提升备库可用性、性能,降低主库压力,适配7×24小时业务场景(如医疗核心系统、金融交易系统)。
2.2.1 12c 增强:Far Sync Instance(远同步实例)
核心价值:解决“零数据丢失”与“主库性能”的矛盾,在主库与备库之间增加Far Sync实例,主库将redo日志同步到Far Sync实例(同步模式,确保零数据丢失),Far Sync实例再异步同步到备库,避免主库直接异步同步备库导致的数据丢失,同时不影响主库性能。
核心优势:
•
零数据丢失:主库与Far Sync实例采用同步模式,redo日志确认写入Far Sync实例后,主库才提交事务;
•
零性能影响:Far Sync实例仅存储redo日志,不执行介质恢复,轻量无压力,主库无需等待备库恢复完成;
•
异地容灾适配:适合主备库跨地域部署(如医疗集团总部分院、跨城市容灾),降低跨地域网络延迟对主库的影响。
2.2.2 19c 增强:ADG DML Redirection(DML重定向)
核心价值:允许用户在备库执行DML操作(insert、update、delete),数据库自动将DML操作重定向到主库执行,执行完成后,主库的redo日志同步到备库,备库自动应用,实现“备库只读+DML重定向”,降低主库查询压力。
实操演示:
|
sql |
适配场景:医疗场景中,医生在备库查询患者病历并补充信息(DML操作),无需切换到主库,提升操作效率,同时减轻主库压力。
2.2.3 21c 增强:ADG with In-Memory(备库实时分析)
核心价值:将IM列存储与ADG结合,备库可启用IM列存储,加载热点数据,实现“备库实时分析+主库OLTP”分离,彻底释放主库性能,同时保证分析数据的实时性(与主库数据延迟秒级)。
核心优势:
•
实时分析:备库数据与主库同步,分析结果实时准确,无需批量同步数据;
•
负载分离:主库专注于OLTP高频增删改(如患者挂号、缴费),备库专注于OLAP分析(如病历统计、科室绩效分析);
•
资源复用:无需额外部署分析库,利用备库资源实现分析需求,降低硬件成本。
适配场景:医疗行业的实时病历分析、科研数据查询、医院运营报表生成;互联网行业的实时用户画像、订单分析等。
2.3 安全类特性
2.3.1 Unified Auditing(统一审计)—— 12c 默认启用
核心定位:12c引入,替代传统审计(Fine-Grained Auditing),提供统一的审计框架,集中管理所有审计日志,支持细粒度审计策略,满足合规要求(如医疗HIPAA、等保2.0)。
核心价值:
•
统一管理:所有审计日志集中存储在统一审计 trail 中,无需分散管理,便于查询、分析与归档;
•
细粒度管控:可针对用户、表、操作(select、insert、delete)、IP地址等设置审计策略,精准追踪敏感操作;
•
合规适配:支持审计日志加密、防篡改,满足医疗、金融等行业的合规审计要求,可追溯所有数据操作行为。
实操演示:
|
sql |
医疗场景适配:追踪医护人员对患者病历的查询、修改操作,实现操作可追溯,满足医疗数据隐私保护与合规要求,避免敏感病历数据泄露或篡改。
2.3.2 Data Redaction(数据脱敏)—— 12c 引入
核心定位:12c引入的敏感数据保护特性,可对数据库中的敏感字段(如身份证号、手机号、病历号)进行动态脱敏,不同权限用户看到不同数据,既保证数据可用性,又防止敏感信息泄露。
核心价值:
•
动态脱敏:无需修改数据存储,仅在查询时对敏感字段进行脱敏,不影响数据本身的完整性;
•
细粒度控制:可根据用户、角色、会话等设置脱敏规则,如管理员看到完整数据,普通用户看到脱敏后数据;
•
零应用侵入:无需修改应用代码,数据库层面自动实现脱敏,降低开发与维护成本。
实操演示(医疗场景):
|
sql |
医疗场景适配:对患者身份证号、手机号、病历隐私信息进行脱敏,普通运维人员、科研人员无法查看完整敏感信息,仅医护人员可查看,保护患者隐私,符合医疗数据安全规范。
2.4 运维效率类特性
2.4.1 Long Identifiers(长标识符)—— 12.2 引入
核心定位:12.2版本突破Oracle传统限制,将对象名(表、列、索引、视图等)的最大长度从30字节扩展至128字节,兼容PostgreSQL、MySQL等数据库的命名习惯,提升数据库设计的灵活性。
核心价值:
•
命名更规范:可使用更具描述性的对象名,如“medical_patient_clinical_examination_report”(医疗患者临床检查报告表),避免命名缩写导致的歧义;
•
跨库迁移便捷:从PostgreSQL、MySQL迁移到Oracle时,无需修改长对象名,降低迁移成本;
•
适配复杂业务:复杂业务场景(如医疗多系统集成)中,可通过长对象名区分不同系统、不同用途的对象,提升可维护性。
实操演示:
|
sql |
2.4.2 Autonomous Health Framework(AHF)—— 18c+ 引入并增强
核心定位:18c引入,是TFA Collector(跟踪文件分析器)的增强版,一套自动化的数据库健康管理框架,自动收集诊断数据、检测配置问题与性能瓶颈,降低DBA运维成本,实现“主动运维、提前预警”。
核心功能:
•
自动收集诊断数据:实时收集数据库日志、trace文件、性能指标、系统配置等数据,统一存储与管理,无需手动收集;
•
主动检测问题:自动检测数据库配置错误、性能瓶颈(如IO过高、会话阻塞)、集群异常等,生成预警信息;
•
自动分析与建议:针对检测到的问题,自动分析根因,并给出解决方案建议(如索引优化、参数调整);
•
支持集群与单机:适配RAC集群、单机环境,可集中管理多个数据库节点的健康状态。
实操演示:
|
bash |
医疗场景适配:实时监控HIS、LIS、PACS等核心医疗系统的数据库健康状态,提前预警性能瓶颈或故障,避免数据库异常导致医疗业务中断,降低运维成本。
2.5 扩展性类特性
2.5.1 Sharding(分片)—— 12.1.0.2 引入,12.2 增强
核心定位:Oracle的分布式数据库解决方案,将大规模数据水平拆分到多个独立的数据库(Shard)中,每个Shard存储部分数据,通过Shard
Director(分片控制器)实现应用透明访问,支持线性扩展,适配超大规模OLTP场景。
核心价值:
•
线性扩展:数据量增长时,只需增加Shard节点,无需修改应用代码,实现性能与容量的线性提升;
•
负载均衡:应用请求通过Shard Director自动路由到对应的Shard,避免单节点压力过大;
•
高可用:单个Shard故障,不影响其他Shard正常运行,应用可继续访问其他节点的数据;
•
透明访问:应用无需感知分片逻辑,如同访问单机数据库,降低开发与维护成本。
核心特性(12.2 增强):
•
支持全局索引:跨Shard的全局索引,实现跨Shard的聚合查询、排序;
•
动态分片:支持在线添加、删除Shard,无需中断业务;
•
多分片策略:支持按范围(如时间)、哈希(如患者ID)、列表(如科室)等方式分片,适配不同业务场景。
适配场景:
•
医疗行业:大型医疗集团、区域医疗平台,患者数据、病历数据超大规模(千万级以上),需拆分存储,提升访问性能;
•
互联网行业:用户表、订单表等超大规模OLTP场景,需要线性扩展能力。
实操演示(简化版):
|
sql |
2.6 Oracle 数据库生命周期管理
核心定位:Oracle数据库从部署、升级、运维到退役的全生命周期管理规范,结合上述所有新特性,确保数据库在不同阶段的稳定性、安全性与性能,适配业务长期发展需求。
核心生命周期阶段与特性适配:
1.
部署阶段:选择合适版本(19c/21c/23c),启用Long Identifiers、IM列存储等特性,规划Sharding策略(超大规模场景);
2.
运维阶段:利用AHF实现主动运维,Automatic Indexing优化性能,Unified Auditing与Data Redaction保障安全,ADG确保高可用;
3.
升级阶段:从低版本(12c/19c)升级到高版本(21c/23c),重点适配ADG增强、IM列存储优化、AHF升级等特性,确保业务平滑过渡;
4.
退役阶段:通过数据脱敏、审计日志归档,确保敏感数据安全,完成数据迁移与数据库退役,符合合规要求。
版本生命周期重点:
•
12c:长期支持版(已停止主流支持),核心特性为ADG Far Sync、统一审计、数据脱敏;
•
19c:长期支持版(当前主流),核心特性为ADG DML重定向、自动索引,适合生产环境长期部署;
•
21c:创新版,核心特性为ADG with In-Memory,适合需要实时分析的场景;
•
23c:最新长期支持版,整合所有特性,新增融合数据库能力,适合新系统部署或高版本升级。
3.1 基础实操(必练)
1.
启用IM列存储,为患者表、检查报告表配置列存储,并验证查询性能;
2.
配置统一审计策略,追踪病历表的查询、修改操作,查看审计日志;
3.
创建数据脱敏策略,对患者身份证号进行脱敏,验证不同角色的访问效果;
4.
启用自动索引,执行高频查询,查看自动创建的索引及建议。
3.2 进阶实操(选练)
1.
配置ADG DML重定向,在备库执行DML操作,验证数据同步效果;
2.
使用AHF收集诊断数据,查看健康检查报告与性能预警;
3.
创建长标识符对象(表、列、索引),验证命名规范;
4.
配置简单分片策略,实现患者表的水平拆分。
4.1 特性适配问题
•
Q:19c升级到21c,ADG需要重新配置吗?
A:无需重新配置,升级后ADG会自动适配新特性(如ADG with
In-Memory),只需启用对应的功能即可。
•
Q:数据脱敏会影响数据库性能吗?
A:影响极小,脱敏操作仅在查询时执行,且数据库会对脱敏操作进行优化,适合高频查询场景。
•
Q:Sharding适合小型数据库吗?
A:不适合,Sharding适用于超大规模数据(千万级以上),小型数据库使用Sharding会增加运维复杂度,建议使用单机或RAC集群。
4.2 实操常见问题
•
Q:启用IM列存储后,表数据没有加载到内存中?
A:需确保INMEMORY_SIZE参数配置正确,且表已启用INMEMORY属性,可通过v$im_user_segments查看加载状态,手动加载可执行ALTER TABLE 表名 INMEMORY MEMCOMPRESS FOR QUERY
HIGH。
•
Q:ADG DML重定向执行失败?
A:检查ADG主备库同步状态,确保备库处于MOUNT或READ ONLY状态,且会话已启用ADG_DML_REDIRECTION。
•
Q:长标识符对象创建失败?
A:需确保数据库版本为12.2及以上,且对象名不包含特殊字符,长度不超过128字节。
本次培训重点讲解了Oracle 12c至23c期间的核心新特性,涵盖性能优化(IM列存储、自动索引)、高可用(ADG增强)、安全(统一审计、数据脱敏)、运维效率(长标识符、AHF)、扩展性(Sharding)及生命周期管理,所有特性均结合实操演示,适配医疗、互联网等多行业场景。
核心重点:掌握各特性的核心价值与实操方法,结合自身业务场景(如医疗核心系统、超大规模数据存储)选择合适的特性落地,提升数据库运维效率、性能与安全性,同时遵循Oracle生命周期管理规范,确保数据库长期稳定运行。




