Oracle19c新特性概要
本⽂归纳出⼀些⼯做中可能会⽤到的Oracle 19c新特性,全部新增功能的说明请参考新特性官⽅⽂档《database-new-features-guide》
根据官⽅⽂档分为如下⼏个部分
应⽤开发
可⽤性
⼤数据和数据仓库
总体数据库
性能
RAC和⽹格
安全
其余
1、  Application Development
1. General
1) Easy Connect Syntax Improvements
轻松链接语法改进
应⽤程序⽤于链接Oracle数据库的Easy Connect语法已获得扩展。此功能经过消除对Oracle Net链接参数⽂件(例如a和a)的须要,⽽且⽆需设置TNS_ADMIN环境变量,简化了常见链接⽤例的O acle/en/database/oracle/oracle-database/19/netag/configuring-naming-methods.html#GUID-B0437826-43C1-49EC-A94D-B650B6A4A6EE
2) Oracle Network Log File Segmentation
Oracle⽹络⽇志⽂件分段
能够为Oracle⽹络组件(如Oracle Net Listener,CMAN和GSM)配置⽂本⽇志⽂件的最⼤⼤⼩和数量。此功能可防⽌⽇志⽂件⼤⼩不断增长的问题。
acle/en/database/oracle/oracle-database/19/netag/troubleshooting-oracle-net-services.html#GUID-6F554CD1-84EC-42F4-B968-1E6657452956
2. JSON
1)  JSON-Object Mapping
JSON对象映射
此功能⽀持将JSON数据映射到SQL对象类型和集合类型。使得使⽤SQL对象和集合的程序更容易与基于JSON的应⽤程序进⾏交互。
2)  JSON Update Operations
JSON更新操做
可使⽤新的SQL函数json_mergepatch以声明⽅式更新JSON⽂档。可使⽤单个语句将⼀个或多个更改应⽤于多个⽂档。此功能提升了JSON更新操做的灵活性。
3)  Materialized View Support for Queries containing JSON_TABLE
物化视图⽀持包含JSON_TABLE的查询
物化视图查询重写已获得加强,所以具备JSON_EXISTS,JSON_VALUE和其余函数的查询能够利⽤包含JSON_TABLE函数的查询上建⽴的物化视图。
当表中的JSON⽂档包含数组时,此功能特别有⽤
3. SQL
DISTINCT option for LISTAGG aggregate
LISTAGG聚合的DISTINCT选项
使⽤新的DISTINCT关键字,能够在链接成单个字符串以前从指定的表达式中删除重复的值。这消除了在使⽤聚合LISTAGG函数以前建⽴复杂查询处理以查不⼀样值的须要。
acle/en/database/oracle/oracle-database/19/dwhsg/sql-analysis-reporting-data-warehouses.html#GUID-EDBADEC3-4DC5-4A3A-85EF-B64C45910B1D
2、  Availability
1.  General
1)  Dynamically change Fast-Start Failover (FSFO) target
动态更改快速启动故障转移(FSFO)⽬标
⽬前,DBA必须禁⽤Fast_Start故障转移才能更改FSFO⽬标备⽤数据库。随着Oracle Database 12.2.0.1中多个FSFO⽬标的到来,这变得更加剧要。此新命令将容许⽤户动态地将FSFO⽬标备⽤数据库更改成⽬标列表
2)  Simplified Database Parameter Management in a Broker Configuration
简化Broker配置中的数据库参数管理
⽤户如今可使⽤SQL * Plus ALTER SYSTEM命令管理全部与Data Guard相关的参数设置,或者使⽤新的EDIT DATABASE ... SET PARAMETER命令管理DGMGRL中的全部Data Guard相关参数设置。DGMGRL界⾯的参数,从⽽⽆需到每⼀个数据库并执⾏ALTER SYSTEM命令或为每⼀个数据库设置Broker属性使⽤多个EDIT PROPERTY命令。SHOW命令也已更新,以显⽰⽬标数据库中参数的当前设置。
消除数据库的Data Guard参数设置与Data Guard Broker的属性设置之间的不⼀致,经过容许它们根据须要经过SQL * Plus接⼝进⾏全部参数管理,简化数据库管理员对数据库参数的管理。
3)  Oracle Data Guard Multi-Instance Redo Apply works with the In-Memory Column Store
Oracle Data Guard多实例redo应⽤可与In-Memory列存储⼀块⼉使⽤
在Oracle Data Guard环境中,备库的⽇志应⽤速度⼀直是⼀个重要挑战,若是备库不可以及时跟上主库的步调,则可能影响备库的使⽤。
⾃Oracle 12.2 版本开始,⽀持多实例并⾏应⽤,这极⼤加快了恢复进度,在 18c 中,开始⽀持 In-Memory 列式存储,在 19c 中,并⾏应⽤开始⽀持 In-Memory列式存储。
如今能够在Active Data Guard备⽤数据库上同时启⽤Oracle数据库In-Memory列存储和Data Guard多实例redo应⽤。多实例redo应⽤将使⽤Active Data Guard备⽤数据库In-Memory列存储中的信息来尽量提升应⽤速度acle/en/database/oracle/oracle-database/19/sbydb/configuring-data-guard-standby-databases-in-oracle-RAC.html#GUID-00B72AF1-0453-4FBD-901F-A3764631BE1F
4)  Propagate Restore Points from Primary to Standby site
⽀持从主库到备库传播还原点
此前咱们能够在主库上定义正常还原点或保证还原点,以便在出现任何逻辑损坏问题时实现快速时间点恢复。可是,此还原点存储在控制⽂件中,并不会传播到备库。若是发⽣故障转移,备库将成为主库,⽽且还原点此功能可确保还原点从主库传播到备库,所以即便在故障转移后,还原点也可⽤,简化了故障转移后还原和恢复过程的复杂性。
acle/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-guard-physical-standby-databases.html#GUID-45D7D60E-ED0F-4B3E-9D32-EB5394196CAF
5)  Flashback Standby database when Primary database is flashed back
备库随主库闪回
闪回数据库将整个数据库移动到较旧的时间点,并使⽤RESETLOGS打开数据库。此前,若是主库闪回,则备库再也不与主库同步,须要⼿动来闪回备库到与主库相同的时间。现在引⼊了⼀个新参数(哪⼀个⽂闪回。
经过在主数据库闪回时⾃动闪回备⽤数据库,减⼩了时间,精⼒和⼈为错误,从⽽加快了同步速度并下降了RTO(但⼀般咱们闪回备库…)。
acle/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-guard-ph
ysical-standby-databases.html#GUID-252097AC-3070-43B6-88D8-919AE27F97AD
acle/en/database/oracle/oracle-database/19/sbydb/examples-of-using-oracle-data-guard.html#GUID-09129494-CD98-44B6-821F-A4C2CB5AEE08
6)  Active Data Guard DML Redirection
Data Guard 备库DML⾃动重定向
在使⽤ ADG 做为备库进⾏读写分离部署时,可能由于应⽤的缘由,会有偶然的DML操做发送到备库上,在19c 中,Oracle ⽀持⾃动重定向备库 DML,具体执⾏步骤为:
更新会⾃动重定向到主库;
主库执⾏更新、产⽣和发送Redo⽇志到备库;
在Redo备库应⽤后,ADG会话会透明的看到更新信息的落地实施;
这⼀特性能够经过在系统级或者会话级设置参数 ADG_REDIRECT_DML 参数启⽤,经过这种⽅式,ADG 会话的 ACID ⼀致性得以保持,同时透明的⽀持『多数读,偶尔更新』应⽤的天然读写分离配置。
acle/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-guard-physical-standby-databases.html#GUID-8AAD002C-ED06-4349-8BB5-EC8DB30B2628
mp.weixin.qq/s?
__biz=MjM5MDAxOTk2MQ==&mid=2650280718&idx=1&sn=fb42d1737262e1946adb049a1a64da35&chksm=be478b188930020ef2b1e807cc1d7b58f5e7a55ccd41336bfa48b8128e8ee71c859b936b2cb1&mpshar
7)  Clear Flashback logs periodically for increased FRA size predictability
按期清除闪回⽇志以提升FRA⼤⼩的可预测性
从19c开始,简化了FRA中的空间管理。Oracle数据库监视FRA中的闪回⽇志,并⾃动删除超出保留期的闪回⽇志。当保留期时,将当即删除超出保留期的闪回⽇志。
经过⾃动确保闪回⽇志不会过分使⽤保留所需的空间,能够对数据库的存储管理和运⾏情况产⽣整体积极影响。
acle/en/database/oracle/oracle-database/19/bradv/maintaining-rman-backups.html#GUID-26C1A1E8-5555-4399-9DD1-39BA90E45A0C
8)  PDB Recovery catalog
PDB恢复⽬录
⽀持了在⽬标数据库是PDB时与恢复⽬录的链接。
⽀持PDB做为⽬标数据库,⽽且可使⽤虚拟专⽤⽬录(VPC)⽤户更精细地控制在PDB级别执⾏备份和还原操做的权限。元数据视图也是有限的,所以VPC⽤户只能查看⽤户已被授予权限的数据。
9)  New Parameters for tuning automatic outage resolution with Data Guard
使⽤Data Guard调整⾃动中断解决⽅案的新参数
Oracle Data Guard在主数据库和备⽤数据库上有多个进程,⽤于处理重作传输和归档,这些进程经过⽹络相互通讯。在某些故障状况下,⽹络挂起和断开链接或磁盘I / O问题,这些进程可能会挂起,可能致使重作传输中,DBA能够经过使⽤两个新参数DATA_GUARD_MAX_IO_TIME和DATA_GUARD_MAX_LONGIO_TIME来调整此检测周期的等待时间,从⽽容许根据⽤户⽹络和磁盘I / O⾏为针对特定Data Guard配置调整等待时acle/en/database/oracle/oracle-database/19/refrn/release-changes.html#GUID-509A6343-5882-4260-BAD0-DC6B2BDC8301
10)  Finer granularity Supplemental Logging
更精细的粒度补充记录
以禁⽤不感兴趣的表的补充⽇志记为逻辑备⽤或完整数据库复制要求设计/实现了补充⽇志记录。这会在仅复制表的⼦集的环境中增长没必要要的开销。细粒度的补充⽇志记录将为部分数据库复制⽤户提供⼀种⽅法,以禁⽤不感兴趣的表的补充⽇志记在数据库中只有⼀些表须要补充⽇志记录的状况下,使⽤此功能能够显着减⼩资源使⽤和重作⽣成⽅⾯的开销。例如,GoldenGate部分复制配置。
2.  Sharding
1)  Propagation of Parameter Settings Across Shards
跨越Shards的参数设置的传播
跨越Shards的参数设置的传播
在Oracle Database 19c以前,数据库管理员必须在分⽚数据库中的每⼀个分⽚上配置ALTER SYSTEM参数设置。此功能容许管理员集中管理参数设置并将参数设置从分⽚⽬录传播到全部数据库分⽚,从⽽提供易管理
2)  Generation of Unique Sequence Numbers Across Shards
跨越碎⽚⽣成惟⼀序列号
在Oracle Database 19c以前,若是您须要跨分⽚的惟⼀编号,则必须本⾝管理它。在19c中,Oracle Sharding容许您为具备惟⼀约束的⾮主键列的分⽚⽣成全局惟⼀的序列号,或者使⽤Sequence对象的任何其余⽤法当customer_id是分⽚键时,客户⼀般须要为⾮主键列⽣成惟⼀ID,例如order_id。对于这种状况,此功能容许您跨分⽚⽣成惟⼀的序列号,⽽不须要您管理应⽤程序中给定⾮主键列的全局惟⼀性。
3)  Multiple Table Family Support for System-Managed Sharding
Oracle Sharding 特性的多表家族⽀持
在Oracle Sharding特性中,被分⽚的表称为 Sharded table,这些sharded table的集合称为表家族(Table Family),表家族之中的表具有⽗-⼦关系,⼀个表家族中没有任何⽗表的表叫作根表(root table),每⼀个表在12.2,在⼀个SDB中只⽀持⼀个表家族,在19c 中,SDB 中容许存在多个表家族,每⼀个经过不⼀样的 Sharding Key进⾏分⽚,这是 Sharding 特性的⼀个重要加强,有了 Multiple Table Families 的⽀持,Shardin
4)  Support for Multiple PDB-Shards in the Same CDB
⽀持同⼀CDB中的多个PDB-Shards
18c⽀持CDB中的⼀个PDB分⽚。19c中,Oracle Sharding容许您在CDB中使⽤多个PDB⽤于分⽚或分⽚⽬录数据库,但有⼀些限制。
5)  Support for Multi-Shard Query Coordinators on Shard Catalog Standbys
⽀持分⽚⽬录备⽤数据库上的多分⽚查询协调器
在19c以前,只有主分⽚⽬录数据库能够⽤做多分⽚查询协调器。在19c中,您还能够在分⽚⽬录数据库的Oracle Active Data Guard备⽤数据库上启⽤多分⽚查询协调器。提升了多分⽚查询⼯做负载的可伸缩性和可⽤3、  Big Data and Data Warehousing
1.  Automatic Indexing
⾃动化索引建⽴和实施
对于关系型数据库来讲,索引是使得查询加速的重要⼿段,⽽如何设计和建⽴有效的索引,长期以来是⼀项复杂的任务。
在 Oracle 19c 中,⾃动化索引建⽴和实施技术被引⼊进来,Oracle 经过模拟⼈⼯索引的思路,创建了内置的专家系统。数据库内置的算法将会经过捕获、识别、验证、决策、在线验证、监控的全流程管控索引⾃动化⼤缓解数据库索引维护⼯做。
⾃动化还将删除由新建⽴的索引(逻辑合并)废弃的索引,并删除⾃动建⽴但长时间未使⽤的索引。
acle/en/database/oracle/oracle-database/19/admin/managing-indexes.html#GUID-D1285CD5-95C0-4E74-8F26-A02018EA7999
2.  Bitmap based count distinct SQL Function
基于位图的COUNT DISTINCT SQL函数
在 19c 中,SQL 功能得到了进⼀步的加强,这其中包括对于 COUNT DISTINCT的进⼀步优化,在12c中引⼊的近似 Distinct 操做已经能够为特定SQL带来极⼤性能提⾼,如今基于位图的COUNT DISTINCT 操做继续例如,以下案例,经过物化视图的⾃动改写,能够实现显著的性能提⾼。
acle/en/database/oracle/oracle-database/19/dwhsg/basic-materialized-views.html#GUID-03107B3C-72D3-4B6B-A922-F13FF0CF2B6D
3.  High-Frequency Automatic Optimizer Statistics Collection
⾼频⾃动优化器统计收集
您能够配置轻量级,⾼频率的⾃动任务,按期收集过期对象的优化程序统计信息。在执⾏DBMS_STATS统计信息收集做业之间,统计信息可能会过期。经过更频繁地收集统计信息,优化程序能够⽣成更优化的计划。acle/en/database/oracle/oracle-database/19/tgsql/gathering-optimizer-statistics.html#GUID-374ACB86-2512-4658-9170-8505B3EACF7D
4.  Automatic Resolution of SQL Plan Regressions
⾃动化的SQL执⾏计划管理
在19c 中,数据库缺省的就会启⽤对于全部可重⽤SQL的执⾏计划捕获(固然SYS系统Schema的SQL除外),⽽后进⾏⾃动的执⾏计划评估,评估能够针对AWR中的TOP SQL、SGA、STS中的SQL进⾏。
若是被评估的执⾏计划优于当前执⾏计划(通常是要有效率 50%以上的提⾼),会被加⼊到执⾏计划基线库中,做为后续的执⾏选择,⽽不佳的执⾏计划则会被标记为不可接受。
acle/en/database/oracle/oracle-database/19/tgsql/managing-sql-plan-baselines.html#GUID-A94CFA49-910A-4237-A7BB-39BFA94E227E
5.  Hybrid Partitioned Tables
Oracle的混合分区表⽀持
在 19c 中,Oracle 加强了分区特性,能够将外部对象存储上的⽂件,之外部表的⽅式连接到分区中,造成混合分区表,借助这个特性,Oracle 将数据库内外整合打通,冷数据能够剥离到外部存储,热数据在数据库中
这个特性借助了外部表的特性实现,如下是⼀个⽰例:
CREATE TABLE orders ( order_idnumber,
order_dateDATE,…)
EXTERNAL PARTITION ATTRIBUTES
( TYPE oracle_loaderDEFAULTDIRECTORY data_dir
ACCESS PARAMETERS (..) REJECT LIMIT unlimited)
PARTITION BY RANGE(order_date)
( partition q1_2015 values less than(‘2014-10-01’)
EXTERNAL LOCATION (‘order_q1_2015.csv’),
partition q2_2015 values less than (‘2015-01-01’),
partition q3_2015 values less than (‘2015-04-01’),
partition q4_2015 values less than (‘2015-07-01’));
acle/en/database/oracle/oracle-database/19/vldbg/partition-concepts.html#GUID-C2B04585-BCFC-40D6-AFAB-47DF99A31C76
4、  Database Overall
1.  Automated install, config, and patch
1)  Create a duplicate of a non-CDB or an Oracle RAC database using DBCA in silent mode
使⽤DBCA以静默⽅式建⽴⾮CDB或Oracle RAC数据库的副本
您如今可使⽤DBCA 的createDuplicateDB命令以静默⽅式建⽴⾮CDB或Oracle RAC数据库的副本。此功能能够复制数据库,从⽽便于开发⼈员处理数据库的相同副本。
2)  Relocate a PDB to another CDB using DBCA in silent mode
在静默模式下使⽤DBCA将PDB重定位到另外⼀个CDB
3)  Create a PDB by cloning a remote PDB using DBCA in silent mode
在静默模式下使⽤DBCA克隆远程PDB来建⽴PDB
您如今能够经过使⽤DBCA 的createPluggableDatabase命令的createFromRemotePDB参数以静默⽅式克隆远程PDB来建⽴PDB
4)  Simplified Image Based Oracle Database Client Installation
基于简化映像的Oracle数据库客户端安装
从Oracle Database 19c开始,经过基于映像的安装简化了Oracle Database Client软件的安装和配置。
要安装Oracle数据库客户端,请建⽴新的Oracle主⽬录,将映像⽂件解压缩到新建⽴的Oracle主⽬录中,⽽后运⾏安装向导以启动Oracle Database Client安装和配置。
与Oracle数据库和Oracle Grid Infrastructure映像⽂件安装同样,Oracle数据库客户端映像安装可简化Oracle数据库客户端安装并确保最佳实践部署。Oracle Database Client安装⼆进制⽂件继续以传统格式提供为⾮映
5)  Root Scripts Automation Support for Oracle Database Installation
Root脚本⾃动化⽀持Oracle数据库安装
从Oracle Database 19c开始,数据库安装程序或设置向导提供了⼀些选项,⽤于设置在数据库安装期间根据须要⾃动运⾏根配置脚本的权限。您能够继续⼿动运⾏根配置脚本。
设置root配置脚本的权限以便在⽆需⽤户⼲预的状况下运⾏能够简化数据库安装并帮助避免意外的权限错误。
5、  Performance
1.  Quarantine for SQL statements consuming excessive system resources
隔离消耗过多系统资源的SQL语句
资源管理器会终⽌及⾃动隔离过分消耗CPU和I / O资源⽽终⽌的SQL语句,被隔离的SQL语句再次执⾏时会被阻⽌。
acle/en/database/oracle/oracle-database/19/admin/diagnosing-and-resolving-problems.html#GUID-1CF7E2B7-1BF8-4907-889E-1107CAA83E51
acle/en/database/oracle/oracle-database/19/admin/diagnosing-and-resolving-problems.html#GUID-1CF7E2B7-1BF8-4907-889E-1107CAA83E51
2.  Resource Manager Automatically Enabled for Database In-Memory
数据库In-Memory⾃动启⽤资源管理器
当INMEMORY_SIZE⼤于0时,将⾃动启⽤Oracle数据库资源管理器。
acle/en/database/oracle/oracle-database/19/inmem/in-memory-column-store-architecture.html#GUID-C5D44481-13B9-4C6F-BD6E-B6E75A901BA5
3.  Automatic Database Diagnostic Monitor (ADDM) Support for Pluggable Databases (PDBs)
PDB中⽀持ADDM
您如今能够在多租户环境中对PDB使⽤ADDM分析。PDB级别的ADDM分析使您可以有效地调整PDB以得到更好的性能。
acle/en/database/oracle/oracle-database/19/tgdba/automatic-performance-diagnostics.html#GUID-B4B0899D-90A3-4E19-8654-1D5C34A48FD5
4.  Real-Time SQL Monitoring for Developers
⾯向开发⼈员的实时SQL监控
没有SELECT_CATALOG_ROLE的数据库⽤户能够为本⾝的SQL语句⽣成和查看SQL Monitor报告,包括执⾏计划和性能指标。
数据库开发⼈员的主要职责是编写和调优SQL语句。访问SQL Monitor报告使开发⼈员⽆需数据库管理员权限便可执⾏这些任务。
acle/en/database/oracle/oracle-database/19/tgsql/monitoring-database-operations.html#GUID-4048D00E-2635-42C8-A37D-71EFAC619062
5.  Workload Capture and Replay in a PDB
PDB中的⼯做负载捕获和重放
Oracle Real Application Testing旨在捕获和重放根容器数据库(CDB)级别的多租户数据库。从19c开始,您能够从单个可插拔数据库PDB中捕获和重放⼯做负载。
acle/en/database/oracle/oracle-database/19/ratug/introduction-to-database-replay.html#GUID-B47B8419-A618-4EB5-A402-54157C609AAA
6.  Memoptimized Rowstore - Fast Ingest
内存优化⾏存储 – 快速抓取
此功能可让IoT等应⽤程序快速将数据插⼊19c,以最少的事务开销处理⼤量⼩事务。使⽤快速抓取功能的插⼊操做会临时将数据缓冲在⼤池中,⽽后以延迟的异步⽅式批量写⼊磁盘。
acle/en/database/oracle/oracle-database/19/tgdba/tuning-system-global-area.html#GUID-CFADC9EA-2E2F-4EBB-BA2C-3663291DCC25
6、  RAC and Grid
1.  Zero-Downtime Oracle Grid Infrastructure Patching
零停机Oracle Grid Infrastructure补丁
零停机Oracle Grid Infrastructure Patching能够在不中断数据库操做的状况下修补Oracle Grid Infrastructure。修补程序以⾮滚动⽅式应⽤,⼀次修补⼀个节点,同时节点上的数据库实例保持运⾏。零停机Oracle Grid In acle/en/database/oracle/oracle-database/19/cwadd/rapid-home-provisioning.html#GUID-A40643A4-9ADA-4F35-87B6-967BC24363FF
2.  Fine-Grained Single-Instance PDB Patching
细粒度单实例PDB打补丁
您能够在Multitenant环境中修补单个PDB,从⽽使错误修复仅在特定PDB上,⽽不是在整个CDB上进⾏。
7、 Security
1. New ALTER SYSTEM clause FLUSH PASSWORDFILE_METADATA_CACHE
新的ALTER SYSTEM⼦句FLUSH PASSWORDFILE_METADATA_CACHE
ALTER SYSTEM的FLUSH PASSWORDFILE_METADATA_CACHE⼦句⽤于刷新拥有最新详细信息的数据库密码⽂件元数据⾼速缓存。能够经过查询V$PASSWORDFILE_INFO视图来检索数据库密码⽂件的最新详更改数据库密码⽂件名或位置时,此功能很是有⽤
acle/en/database/oracle/oracle-database/19/admin/getting-started-with-database-administration.html#GUID-2031F0DC-CC00-468C-9DFA-E6299420FE21
2. Support for Additional Algorithms for Offline Tablespace Encryption
离线表空间新增长密算法⽀持
在之前的版本中,离线表空间加密仅⽀持AES128加密算法。除了AES128以外,此版本还引⼊了对AES19⼆、AES25六、ARIA、GOST和3DES加密算法的⽀持。
3. PDB_GUID as Audit Record Field Name for SYSLOG and the Windows Event Viewer
PDB_GUID做为SYSLOG和Windows事件查看器的审计记录字段名称
SYSLOG和Windows事件查看器的审计记录字段如今有⼀个新字段PDB_GUID,⽤于标识与统⼀审计跟踪记录关联的可插⼊数据库。
oracle 字符串转数组8、其余
1.  新增参数
ADG_REDIRECT_DML
DATA_GUARD_MAX_IO_TIME
DATA_GUARD_MAX_LONGIO_TIME

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。