Oracle 23ai新增参数介绍(一)

来源:这里教程网 时间:2026-03-03 19:59:33 作者:

前情概要

Oracle 23ai 数据库引入了许多新特性,特别是与人工智能相关的功能。Oracle 23ai 的这些特性旨在简化 AI 与数据的结合使用,加快应用开发速度,并支持关键任务工作负载的运行。这些特性对于开发者来说是非常有价值的,因为它们可以提高开发效率并创建智能应用程序。接下来笔者将分几期来介绍23ai新增的参数:

0 ALLOW_LEGACY_RECO_PROTOCOL参数

ALLOW_LEGACY_RECO_PROTOCOL
 参数在 Oracle 数据库中指定分布式事务恢复过程(RECO)是使用传统恢复协议还是升级后的恢复协议。默认情况下,此参数设置为 
true
,意味着 RECO 将使用 Oracle 数据库 23ai 版本之前的传统恢复协议。

Parameter Type: Boolean

Default Value: true

Modifiable: No

Range of values: true | false 

Oracle RAC: Multiple instances should use the same value.

当 

ALLOW_LEGACY_RECO_PROTOCOL
 设置为 
false
 时,RECO 将被指示使用升级后的恢复协议。但是,所有参与分布式事务的数据库必须运行 Oracle 数据库 23ai 或更高版本。如果涉及分布式事务的数据库中有未升级到 Oracle 数据库 23ai 的数据库,并且此参数设置为 
false
,分布式事务恢复将失败。因此,在将此参数设置为 
false
 之前,重要的是确保所有数据库都升级到至少 Oracle 数据库 23ai。

0 ALLOW_WEAK_CRYPTO参数

allow_weak_crypto
 参数是在  MIT Kerberos 配置文件 
krb5.conf
 中使用的一个设置。如果将此标志设置为 
false
,则会从 
default_tgs_enctypes
default_tkt_enctypes
 和 
permitted_enctypes
 列表中过滤掉弱加密类型。默认值为 
false
,这可能会导致在不支持强加密的现有 Kerberos 基础设施中出现认证失败。 在 Kerberos 配置中,强加密类型是推荐使用的,因为它们提供更高的安全性。如果你的环境中有旧的或不支持强加密的应用程序,可能需要将 
allow_weak_crypto
 设置为 
true
 以确保兼容性。但请注意,这可能会降低安全性水平。

0 BLOCKCHAIN_TABLE_RETENTION_THRESHOLD参数

blockchain_table_retention_threshold
 是 Oracle 数据库中的一个参数,它允许你控制当数据库用户在没有表保留系统权限的情况下创建或修改区块链表或不可变表时,可以指定的最大空闲时间。这个参数的默认值是  16,并且可以通过 
ALTER SYSTEM
 命令进行修改。它的值范围是  0 到 365,000 天。 这个参数的作用是,它定义了一个非空的区块链表或不可变表在可以被删除之前必须处于非活动状态的时间长度(以天为单位)。 在RAC环境中,所有实例上必须使用相同的值。如果你正在管理 Oracle 数据库,并需要设置区块链表的保留阈值,这个参数将非常有用。

0 CLIENT_PREFETCH_ROWS参数

client_prefetch_rows
 是 Oracle 数据库中的一个初始化参数,它用于优化查询性能。这个参数允许你设置在执行查询时,Oracle 客户端预取结果集中的行数。通过预取多行,可以减少服务器往返次数,从而提高性能 在 Oracle Call Interface (OCI) 中,你可以通过设置语句句柄的 
OCI_ATTR_PREFETCH_ROWS
 或 
OCI_ATTR_PREFETCH_MEMORY
 属性来自定义预取行为。例如,如果你设置 
client_prefetch_rows
 为 100,那么在每次网络往返时,客户端会尝试预取 100 行数据。 这个参数对于需要从数据库中检索大量数据的应用程序特别有用,因为它可以显著减少查询响应时间。但是,设置过高的预取值可能会消耗更多的客户端内存,因此需要根据应用程序的需求和资源情况进行适当的调整。

0 DB_FLASHBACK_LOG_DEST 参数

db_flashback_log_dest
 是 Oracle 数据库中的一个参数,它指定了闪回数据库日志存储的位置1。这个参数允许你为闪回数据库日志指定一个与备份使用的快速恢复区域不同的位置。例如,你可以将闪回数据库日志放置在高性能存储中 在修改 
db_flashback_log_dest
 参数时,你需要先关闭再重新开启闪回日志记录。例如,你可以使用以下命令:



SQL
> 
alter database flashback off;
Database altered.


SQL
> 
alter 
system 
set db_flashback_log_dest
=
'/u01/oracle/dbs/ofba2';

System altered.


SQL
> 
alter database flashback 
on;
Database altered.

在 RAC环境中,每个实例都必须设置这个参数,并且多个实例必须具有相同的值。在设置这个参数之前,你必须将  DB_FLASHBACK_LOG_DEST_SIZE 参数设置为非零值。

0 DB_FLASHBACK_LOG_DEST_SIZE 参数

db_flashback_log_dest_size 是 Oracle 数据库中的一个参数,它指定了在  db_flashback_log_dest指定的位置存储闪回数据库日志文件所使用的总空间的硬限制(以字节为单位)。这个参数的类型是大整数,可以通过  ALTER SYSTEM命令进行修改 例如,如果你想为闪回日志文件分配 10GB 的空间,你可以使用以下命令:

ALTER SYSTEM SET db_flashback_log_dest_size=10G;

这个参数的默认值是  0,表示没有分配空间给闪回日志文件。在 Oracle RAC环境中,每个实例都必须设置这个参数,并且多个实例必须具有相同的值。 请注意,这个参数从 Oracle 数据库  23c 版本开始提供。在设置 

db_flashback_log_dest
 参数之前,你必须将 
db_flashback_log_dest_size
 参数设置为非零值。

0 DB_RECOVERY_AUTO_REKEY 参数

当然可以。

DB_RECOVERY_AUTO_REKEY
 是 Oracle 数据库中的一个参数,特别是用于 Oracle Data Guard 备库实例。它用于启用或禁用自动表空间重加密恢复。以下是一个简要概述:

Parameter Type: String

Syntax

DB_RECOVERY_AUTO_REKEY = { ON | OFF }

Default Value: ON

Modifiable: ALTER SYSTEM

Basic: No

Oracle RAC: Multiple instances should use the same value.

当设置为  ON 时,如果 Oracle Data Guard 备库恢复遇到表示主数据库执行了表空间重加密的重做日志,备库恢复将自动执行相应的表空间重加密。如果设置为  OFF,备库恢复将不会执行表空间重加密。

08  DBNEST_ENABLE 参数

DBNEST_ENABLE
 是 Oracle 数据库的一个初始化参数,它允许您启用或禁用 dbNest。这个参数只适用于 Linux 系统。dbNest 提供了操作系统资源隔离和管理、文件系统隔离以及 PDB(可插拔数据库)的安全计算。以下是关于 
DBNEST_ENABLE
 参数的一些详细信息:

Parameter Type: String

Syntax

DBNEST_ENABLE = { NONE | CDB_RESOURCE_PDB_ALL }

Default Value: NONE

Modifiable: No

Modifiable in a PDB: No

Basic: No

Oracle RAC: All instances should use the same value.

dbNest 通过提供称为 nests 的分层容器来实现这些功能。一个 CDB位于单个父 nest 中,而 PDB 位于父 nest 内创建的各个子 nest 中。nest 的隔离和资源管理属性是分开的。完整的 nest 包括隔离和资源管理两部分。或者,您可以配置仅包括资源管理的部分 nest。 您可以为此参数设置以下值:

NONE:禁用 dbNest。这是默认值。

CDB_RESOURCE_PDB_ALL:为 CDB 启用仅资源管理的 nest,并为每个 PDB 启用完整的 nest。

09  DBNEST_PDB_FS_CONF 参数

DBNEST_PDB_FS_CONF
 是 Oracle 数据库中的一个参数,它指定了用于 PDB(可插拔数据库)的 dbNest 文件系统配置文件。以下是关于 
DBNEST_PDB_FS_CONF
 参数的一些详细信息:

Parameter Type: String

Syntax

DBNEST_PDB_FS_CONF = '路径名'

Default Value: NONE

Modifiable: No

Modifiable in a PDB: No

Basic: No

Oracle RAC: All instances should use the same value.

dbNest 文件系统配置文件指定了要在 PDB 的 nest 内挂载的目录。这些目录除了默认目录外,还会被额外挂载。对于路径名,您需要指定文件的完整操作系统路径。如果您不设置这个参数,那么只有默认目录会被挂载。 例如,您可以使用以下命令来设置 

DBNEST_PDB_FS_CONF
 参数:

ALTER SYSTEM SET DBNEST_PDB_FS_CONF='/dsk1/nest_blocklist.txt' SCOPE=SPFILE;

这个参数只适用于 Linux 系统。

今天的分享到此结束,欲知更多,请关注下一期!

相关推荐