Oracle数据库中的基本初始化参数

发布时间:2023年12月28日

基本初始化参数就是类型为Basic的初始化参数。大多数数据库只需要设置数据库基本初始化参数即可正确有效地运行。Oracle 建议您熟悉基本参数,并且仅在功能文档指示或特殊情况下使用其他参数

文档1.2 Basic Initialization Parameters中,列出了27个:

  1. CLUSTER_DATABASE
  2. COMPATIBLE
  3. CONTROL_FILES
  4. DB_BLOCK_SIZE
  5. DB_CREATE_FILE_DEST
  6. DB_CREATE_ONLINE_LOG_DEST_n
  7. DB_DOMAIN
  8. DB_NAME
  9. DB_RECOVERY_FILE_DEST
  10. DB_RECOVERY_FILE_DEST_SIZE
  11. DB_UNIQUE_NAME
  12. INSTANCE_NUMBER
  13. LDAP_DIRECTORY_SYSAUTH
  14. LOG_ARCHIVE_DEST_n
  15. LOG_ARCHIVE_DEST_STATE_n
  16. NLS_DATE_LANGUAGE
  17. NLS_TERRITORY
  18. OPEN_CURSORS
  19. PGA_AGGREGATE_TARGET
  20. PROCESSES
  21. REMOTE_LISTENER
  22. REMOTE_LOGIN_PASSWORDFILE
  23. SESSIONS
  24. SGA_TARGET
  25. SHARED_SERVERS
  26. STAR_TRANSFORMATION_ENABLED
  27. UNDO_TABLESPACE

命令查询,列出了30个。因为有3个参数有_1和_2的变种。

SELECT
    name
FROM
    v$parameter
WHERE
    isbasic = 'TRUE'
ORDER BY 1;

NAME                                    
----------------------------------------
cluster_database
compatible
control_files
db_block_size
db_create_file_dest
db_create_online_log_dest_1
db_create_online_log_dest_2
db_domain
db_name
db_recovery_file_dest
db_recovery_file_dest_size
db_unique_name
instance_number
ldap_directory_sysauth
log_archive_dest_1
log_archive_dest_2
log_archive_dest_state_1
log_archive_dest_state_2
nls_language
nls_territory
open_cursors
pga_aggregate_target
processes
remote_listener
remote_login_passwordfile
sessions
sga_target
shared_servers
star_transformation_enabled
undo_tablespace

已选择 30 行。

既然基本初始化参数非常重要,我们就来逐一了解。以下所有示例输出均基于2节点RAC(硬件为Exadata X8 EF),数据库版本为19.20。

01. CLUSTER_DATABASE

此参数可判断数据库是否为RAC集群。如果是RAC,所有实例的此参数都必须设为TRUE。

SQL> show spparameter CLUSTER_DATABASE

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        cluster_database              boolean     true

02. COMPATIBLE

COMPATIBLE 使您能够使用新版本的 Oracle,同时确保能够将数据库降级到早期版本。

COMPATIBLE 参数指定数据库磁盘格式必须兼容的 Oracle 版本号。 数据库可以降级到 COMPATIBLE 参数中指定的版本或任何更高版本。

设置 COMPATIBLE 可确保新功能不会将与早期版本不兼容的数据格式或结构写入磁盘,从而防止将来降级。 需要较高 COMPATIBLE 值才能正常工作的功能可能会受到限制或禁用,以确保可以降级。

通常,用户在升级 Oracle 软件时保持 COMPATIBLE 不变。 升级后,用户将运行新版本的Oracle软件几周,以确保新版本正常工作。 之后,用户可以选择将 COMPATIBLE 更新到最新版本以利用新功能。

SQL> show spparameter COMPATIBLE

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        compatible                    string      19.0.0

延伸阅读:When and how should you change COMPATIBLE?

03. CONTROL_FILES

CONTROL_FILES 指定一个或多个控制文件名称,以逗号分隔。

每个数据库都有一个控制文件,其中包含描述数据库结构的条目(例如数据库名称、创建时间戳以及数据文件和重做文件的名称和位置)。

Oracle 建议您在不同设备上复用多个控制文件或在操作系统级别镜像文件。

SQL> show spparameter CONTROL_FILES

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        control_files                 string      +DATAC1/ORCL/CONTROLFILE/cur
                                                   rent.692.1155482173
*        control_files                 string      +RECOC1/ORCL/CONTROLFILE/cur
                                                   rent.623.1155482173

04. DB_BLOCK_SIZE

DB_BLOCK_SIZE 指定 Oracle 数据库块的大小(以字节为单位)。

在创建数据库时设置该参数。 之后不要更改它。

DB_BLOCK_SIZE 的典型值为 4096 和 8192(默认值)。该参数的值必须是设备级别物理块大小的倍数。

创建数据库时有效的 DB_BLOCK_SIZE 值决定了块的大小。 该值必须保持为其初始值。

SQL> show spparameter DB_BLOCK_SIZE

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_block_size                 integer     8192

05. DB_CREATE_FILE_DEST

DB_CREATE_FILE_DEST 指定 Oracle 管理的数据文件的默认位置。

如果未指定任何 DB_CREATE_ONLINE_LOG_DEST_n 初始化参数,则此位置也用作 Oracle 管理的控制文件和联机重做日志的默认位置。

如果指定文件系统目录作为默认位置,则该目录必须已经存在; Oracle 不创建它。 该目录必须具有允许 Oracle 在其中创建文件的适当权限。 Oracle 为文件生成唯一的名称,这样创建的文件就是 OMF(Oracle Managed File)。

SQL> show spparameter DB_CREATE_FILE_DEST

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_create_file_dest           string      +DATAC1

06. DB_CREATE_ONLINE_LOG_DEST_n

DB_CREATE_ONLINE_LOG_DEST_n(其中 n = 1, 2, 3, … 5)指定 Oracle 管理的控制文件和联机重做日志的默认位置。

如果指定了多个 DB_CREATE_ONLINE_LOG_DEST_n 参数,则控制文件或联机重做日志将在其他 DB_CREATE_ONLINE_LOG_DEST_n 参数的位置上进行多路复用。 在每个位置创建每个联机重做日志的一个成员,并在每个位置创建一个控制文件。

如果其中一个位置发生故障,至少指定两个参数可以为控制文件和联机重做日志提供更高的容错能力。

如果指定文件系统目录作为默认位置,则该目录必须已经存在; Oracle 不创建它。 该目录必须具有允许 Oracle 在其中创建文件的适当权限。 Oracle 为文件生成唯一的名称,这样创建的文件就是 OMF(Oracle Managed File)。

SQL> show spparameter DB_CREATE_ONLINE_LOG_DEST_

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_create_online_log_dest_1   string
*        db_create_online_log_dest_2   string
*        db_create_online_log_dest_3   string
*        db_create_online_log_dest_4   string
*        db_create_online_log_dest_5   string

07. DB_DOMAIN

SQL> show spparameter DB_DOMAIN

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_domain                     string      cn.osc.oracle.com

如果此数据库是或将是分布式系统的一部分,则应设置此参数。 该值由全局数据库名称的扩展部分组成,由有效标识符(任何字母数字 ASCII 字符)组成,并用句点分隔。

注意:Oracle 建议您将 DB_DOMAIN 指定为域中所有数据库的唯一字符串。
此参数允许一个部门创建数据库,而不必担心它可能与另一部门创建的数据库同名。 如果某个销售部门的 DB_DOMAIN 是 JAPAN.EXAMPLE.COM,则其 SALES 数据库 (SALES.JAPAN.EXAMPLE.COM) 与 DB_NAME = SALES 但 DB_DOMAIN = US.EXAMPLE.COM 的另一个数据库具有唯一区别。

如果省略数据库链接名称中的域,Oracle 将通过使用数据字典中当前存在的本地数据库的域限定数据库来扩展名称,然后将链接名称存储在数据字典中。

08. DB_NAME

SQL> show spparameter DB_NAME

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_name                       string      orcl

该参数必须指定,并且必须与 CREATE DATABASE 语句中指定的名称相对应。

如果您有多个数据库,则此参数的值应与每个数据库的 Oracle 实例标识符相匹配,以避免与系统上运行的其他数据库混淆。 备用初始化参数文件和生产初始化参数文件中的DB_NAME值必须相同。

在 STARTUP 命令或 ALTER DATABASE … MOUNT 语句中为集群数据库的每个实例指定的数据库名称必须与 DB_NAME 初始化参数设置相对应。

以下字符在数据库名称中有效:字母数字字符、下划线 (_)、数字符号 (#) 和美元符号 ($)。 其他字符均无效。 数据库名称必须以字母字符开头。 Oracle 在处理数据库名称之前删除双引号。 因此,不能使用双引号在名称中嵌入其他字符。 数据库名称不区分大小写。

09. DB_RECOVERY_FILE_DEST

SQL> show spparameter DB_RECOVERY_FILE_DEST

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_recovery_file_dest         string      +RECOC1
*        db_recovery_file_dest_size    big integer 50G

DB_RECOVERY_FILE_DEST 指定快速恢复区的默认位置。

快速恢复区包含当前控制文件和联机重做日志的复用副本,以及归档重做日志、闪回日志和 RMAN 备份。

不允许指定此参数而不同时指定 DB_RECOVERY_FILE_DEST_SIZE 初始化参数。

10. DB_RECOVERY_FILE_DEST_SIZE

SQL> show spparameter DB_RECOVERY_FILE_DEST

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_recovery_file_dest         string      +RECOC1
*        db_recovery_file_dest_size    big integer 50G

DB_RECOVERY_FILE_DEST_SIZE 指定在快速恢复区中创建的目标数据库恢复文件要使用的总空间的硬限制(以字节为单位)。

请注意,每个 Oracle 文件的块 0 和操作系统块头都不包含在此大小中。 在计算快速恢复区所需的实际磁盘使用量时,请为该数据留出额外的 10%。

11. DB_UNIQUE_NAME

SQL> show spparameter DB_UNIQUE_NAME

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        db_unique_name                string

DB_UNIQUE_NAME 指定数据库的全局唯一名称。

同一 DB_DOMAIN 中具有相同 DB_NAME 的数据库(例如,为报告或物理备用数据库创建的数据库副本)必须具有唯一的 DB_UNIQUE_NAME。 每个数据库的 DB_UNIQUE_NAME 在企业内必须是唯一的。

DB_UNIQUE_NAME 的值最多可达 30 个字符,并且不区分大小写。 以下字符在数据库名称中有效:字母数字字符、下划线 (_)、数字符号 (#) 和美元符号 ($)。

12. INSTANCE_NUMBER

SQL> show spparameter INSTANCE_NUMBER

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
orcl1    instance_number               integer     1
orcl2    instance_number               integer     2

INSTANCE_NUMBER 指定一个唯一编号,该编号将实例映射到使用存储参数 FREELIST GROUPS 创建的每个数据库对象的一个空闲列表组。

INSTANCE_NUMBER 是 Oracle RAC 参数,可以在并行模式或独占模式下指定。

ALTER TABLE … ALLOCATE EXTENT 语句的 INSTANCE 参数将范围分配给特定的空闲列表组。 如果将 INSTANCE_NUMBER 设置为为 INSTANCE 参数指定的值,则实例将使用该范围进行插入和扩展行的更新。

该参数的实际最大值是 CREATE DATABASE 语句中指定的最大实例数。 绝对最大值取决于操作系统。

13. LDAP_DIRECTORY_SYSAUTH

SQL> show spparameter LDAP_DIRECTORY_SYSAUTH

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        ldap_directory_sysauth        string

当 LDAP_DIRECTORY_SYSAUTH 设置为 yes 时,如果目录用户具有被授予相应管理权限(例如 SYSDBA、SYSOPER、SYSBACKUP、SYSDG)的映射数据库全局用户,则允许目录用户以 SYSDBA、SYSOPER、SYSBACKUP、SYSDG 或 SYSKM 连接到数据库 和 SYSKM。

当 LDAP_DIRECTORY_SYSAUTH 设置为 no 时,不允许目录用户以 SYSDBA、SYSOPER、SYSBACKUP、SYSDG 或 SYSKM 身份连接到数据库,即使他们具有被授予相应管理权限(例如 SYSDBA、SYSOPER、SYSBACKUP)的映射数据库全局用户 、SYSDG 和 SYSKM。

在 PDB 中修改此参数时,请使用带有 SCOPE=SPFILE 的 ALTER SYSTEM 命令。

14. LOG_ARCHIVE_DEST_n

SQL> show spparameter LOG_ARCHIVE_DEST_

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        log_archive_dest_1            string
*        log_archive_dest_10           string
*        log_archive_dest_11           string
*        log_archive_dest_12           string
*        log_archive_dest_13           string
*        log_archive_dest_14           string
*        log_archive_dest_15           string
*        log_archive_dest_16           string
*        log_archive_dest_17           string
*        log_archive_dest_18           string
*        log_archive_dest_19           string
*        log_archive_dest_2            string
*        log_archive_dest_20           string
*        log_archive_dest_21           string
*        log_archive_dest_22           string
*        log_archive_dest_23           string
*        log_archive_dest_24           string
*        log_archive_dest_25           string
*        log_archive_dest_26           string
*        log_archive_dest_27           string
*        log_archive_dest_28           string
*        log_archive_dest_29           string
*        log_archive_dest_3            string
*        log_archive_dest_30           string
*        log_archive_dest_31           string
*        log_archive_dest_4            string
*        log_archive_dest_5            string
*        log_archive_dest_6            string
*        log_archive_dest_7            string
*        log_archive_dest_8            string
*        log_archive_dest_9            string
*        log_archive_dest_state_1      string
*        log_archive_dest_state_10     string
*        log_archive_dest_state_11     string
*        log_archive_dest_state_12     string
*        log_archive_dest_state_13     string
*        log_archive_dest_state_14     string
*        log_archive_dest_state_15     string
*        log_archive_dest_state_16     string
*        log_archive_dest_state_17     string
*        log_archive_dest_state_18     string
*        log_archive_dest_state_19     string
*        log_archive_dest_state_2      string
*        log_archive_dest_state_20     string
*        log_archive_dest_state_21     string
*        log_archive_dest_state_22     string
*        log_archive_dest_state_23     string
*        log_archive_dest_state_24     string
*        log_archive_dest_state_25     string
*        log_archive_dest_state_26     string
*        log_archive_dest_state_27     string
*        log_archive_dest_state_28     string
*        log_archive_dest_state_29     string
*        log_archive_dest_state_3      string
*        log_archive_dest_state_30     string
*        log_archive_dest_state_31     string
*        log_archive_dest_state_4      string
*        log_archive_dest_state_5      string
*        log_archive_dest_state_6      string
*        log_archive_dest_state_7      string
*        log_archive_dest_state_8      string
*        log_archive_dest_state_9      string

LOG_ARCHIVE_DEST_n 初始化参数最多定义 31 个(其中 n = 1, 2, 3, … 31)个目标,每个目标必须指定 LOCATION 或 SERVICE 属性以指定将重做数据归档到的位置。

除 LOCATION 或 SERVICE 属性之外的所有其他属性都是可选的。 请注意,无论您是指定 LOCATION 属性还是 SERVICE 属性,它都必须是属性列表中提供的第一个属性。

您可以设置 LOG_ARCHIVE_DEST_n 初始化参数的属性,以控制重做传输服务如何将重做数据从生产或主数据库目标传输到另一个(备用)数据库目标的不同方面。 您可以查询 V$ARCHIVE_DEST 视图以查看每个目标 (n) 的当前属性设置。

对于您定义的每个 LOG_ARCHIVE_DEST_n 初始化参数,您必须指定相应的 LOG_ARCHIVE_DEST_STATE_n 参数。 LOG_ARCHIVE_DEST_STATE_n(其中 n 是 1 到 31 之间的整数)初始化参数指定相应的目标当前是启用还是禁用。

15. LOG_ARCHIVE_DEST_STATE_n

SQL> show spparameter LOG_ARCHIVE_DEST_STATE_

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        log_archive_dest_state_1      string
*        log_archive_dest_state_10     string
*        log_archive_dest_state_11     string
*        log_archive_dest_state_12     string
*        log_archive_dest_state_13     string
*        log_archive_dest_state_14     string
*        log_archive_dest_state_15     string
*        log_archive_dest_state_16     string
*        log_archive_dest_state_17     string
*        log_archive_dest_state_18     string
*        log_archive_dest_state_19     string
*        log_archive_dest_state_2      string
*        log_archive_dest_state_20     string
*        log_archive_dest_state_21     string
*        log_archive_dest_state_22     string
*        log_archive_dest_state_23     string
*        log_archive_dest_state_24     string
*        log_archive_dest_state_25     string
*        log_archive_dest_state_26     string
*        log_archive_dest_state_27     string
*        log_archive_dest_state_28     string
*        log_archive_dest_state_29     string
*        log_archive_dest_state_3      string
*        log_archive_dest_state_30     string
*        log_archive_dest_state_31     string
*        log_archive_dest_state_4      string
*        log_archive_dest_state_5      string
*        log_archive_dest_state_6      string
*        log_archive_dest_state_7      string
*        log_archive_dest_state_8      string
*        log_archive_dest_state_9      string

LOG_ARCHIVE_DEST_STATE_n 参数(其中 n = 1, 2, 3, … 31)指定相应目标的可用性状态。

参数后缀(1 到 31)指定相应的 LOG_ARCHIVE_DEST_n 目标参数之一。

16. NLS_DATE_LANGUAGE

SQL> show spparameter NLS_DATE_LANGUAGE

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        nls_date_language             string

NLS_DATE_LANGUAGE 指定用于拼写 TO_DATE 和 TO_CHAR 函数返回的日期和月份名称以及日期缩写(a.m.、p.m.、AD、BC)的语言。

注意:这个初始化参数NLS_DATE_LANGUAGE的值用于初始化该参数的会话值,该值是SQL查询处理引用的实际值。 如果客户端使用 Oracle JDBC 驱动程序或者客户端基于 OCI 并且定义了 NLS_LANG 客户端设置(环境变量),则此初始值将被客户端值覆盖。 因此,初始化参数值通常被忽略。

17. NLS_TERRITORY

SQL> show spparameter NLS_TERRITORY

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        nls_territory                 string      AMERICA

NLS_TERRITORY 指定区域的名称,该区域的日和周编号应遵循该区域的约定。

此参数还建立默认日期格式、默认小数字符和组分隔符以及默认 ISO 和本地货币符号。

有关这些设置的信息,请参阅“NLS_DATE_FORMAT”、“NLS_NUMERIC_CHARACTERS”、“NLS_CURRENCY”和“NLS_ISO_CURRENCY”。

注意:这个初始化参数NLS_TERRITORY的值用于初始化该参数的会话值,该值是SQL查询处理引用的实际值。 如果客户端使用 Oracle JDBC 驱动程序或者客户端基于 OCI 并且定义了 NLS_LANG 客户端设置(环境变量),则此初始值将被客户端值覆盖。 因此,初始化参数值通常被忽略。

18. OPEN_CURSORS

SQL> show spparameter OPEN_CURSORS

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        open_cursors                  integer     300

OPEN_CURSORS 指定会话一次可以拥有的打开游标(私有 SQL 区域的句柄)的最大数量。 您可以使用此参数来防止会话打开过多的游标。

将 OPEN_CURSORS 的值设置得足够高非常重要,以防止应用程序耗尽打开的游标。 不同的应用程序的数量会有所不同。 假设会话未打开由 OPEN_CURSORS 指定的游标数量,则将此值设置为高于实际需要的值不会增加任何开销。

19. PGA_AGGREGATE_TARGET

SQL> show spparameter PGA_AGGREGATE_TARGET

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        pga_aggregate_target          big integer 50G

PGA_AGGREGATE_TARGET 指定附加到实例的所有服务器进程可用的目标聚合 PGA 内存。

要设置聚合 PGA 内存的硬限制,请使用 PGA_AGGREGATE_LIMIT 参数。

将 PGA_AGGREGATE_TARGET 设置为非零值会自动将 WORKAREA_SIZE_POLICY 参数设置为 AUTO。 通过此设置,内存密集型 SQL 运算符(例如排序、分组依据、散列联接、位图合并和位图创建)使用的 SQL 工作区的大小将自动调整。 此参数的非零值是默认值,因为除非您另外指定,否则 Oracle 将其设置为 SGA 的 20% 或 10 MB(以较大者为准)。

将 PGA_AGGREGATE_TARGET 设置为 0 会自动将 WORKAREA_SIZE_POLICY 参数设置为 MANUAL。 通过此设置,SQL 工作区的大小可使用 *_AREA_SIZE 参数来确定。

Oracle 尝试通过使工作区的大小适应私有内存来将私有内存量保持在该参数指定的目标以下。 增加此参数的值时,会间接增加分配给工作区的内存。 因此,更多的内存密集型操作能够完全在内存中运行,而更少的操作会转移到磁盘上。

如果启用自动内存管理(MEMORY_TARGET 设置为正值)并且 PGA_AGGREGATE_TARGET 也设置为正值,则 PGA_AGGREGATE_TARGET 值将充当实例 PGA 大小的最小值。

注意:对于可插拔数据库 (PDB),此参数是可选的。 当为 PDB 设置此参数时,它指定 PDB 的目标聚合 PGA 大小。

20. PROCESSES

SQL> show spparameter PROCESSES

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        aq_tm_processes               integer
*        asm_io_processes              integer
*        db_writer_processes           integer
*        gcs_server_processes          integer
*        global_txn_processes          integer
*        job_queue_processes           integer
*        log_archive_max_processes     integer
*        processes                     integer     3840

PROCESSES 指定可以同时连接到 Oracle 的操作系统用户进程的最大数量。

此参数的值应允许所有后台进程,例如锁、作业队列进程和并行执行进程。

SESSIONS 和 TRANSACTIONS 参数的默认值源自此参数。 因此,如果更改 PROCESSES 的值,您应该评估是否调整这些派生参数的值。

21. REMOTE_LISTENER

SQL> show spparameter REMOTE_LISTENER

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        remote_listener               string

REMOTE_LISTENER 指定解析为 Oracle Net 远程侦听器(即与此实例不在同一系统上运行的侦听器)的地址或地址列表的网络名称。 地址或地址列表在 TNSNAMES.ORA 文件或为您的系统配置的其他地址存储库中指定。

22. REMOTE_LOGIN_PASSWORDFILE

SQL> show spparameter REMOTE_LOGIN_PASSWORDFILE

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        remote_login_passwordfile     string      exclusive

REMOTE_LOGIN_PASSWORDFILE 指定 Oracle 是否检查密码文件。

23. SESSIONS

SQL> show spparameter SESSIONS

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        java_max_sessionspace_size    integer
*        java_soft_sessionspace_limit  integer
*        license_max_sessions          integer
*        license_sessions_warning      integer
*        sessions                      integer
*        shared_server_sessions        integer

SESSIONS 指定系统中可以创建的最大会话数。

由于每次登录都需要一个会话,因此该参数有效地决定了系统中的最大并发用户数。 您应始终显式将此参数设置为等于您估计的最大并发用户数加上后台进程数的值,再加上递归会话的大约 10%。

Oracle 使用该参数的默认值作为其最小值。 1 和默认值之间的值不会触发错误,但 Oracle 会忽略它们并使用默认值。

24. SGA_TARGET

SQL> show spparameter SGA_TARGET

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        sga_target                    big integer 350G

SGA_TARGET指定所有SGA组件的总大小。

如果指定了 SGA_TARGET,则自动调整以下内存池的大小:

  • 缓冲区高速缓存 (DB_CACHE_SIZE)
  • 共享池 (SHARED_POOL_SIZE)
  • 大型池 (LARGE_POOL_SIZE)
  • Java 池 (JAVA_POOL_SIZE)
  • 流池 (STREAMS_POOL_SIZE)
  • 数据传输缓存 (DATA_TRANSFER_CACHE_SIZE)

如果这些自动调整的内存池设置为非零值,则自动共享内存管理将使用这些值作为最低级别。 如果应用程序组件需要最小量的内存才能正常运行,您可以设置最小值。

以下池是手动调整大小的组件,不受自动共享内存管理的影响:

  • 日志缓冲区
  • 其他缓冲区高速缓存,例如 KEEP、RECYCLE 和其他块大小
  • 修复 SGA 和其他内部分配

如果启用自动内存管理(MEMORY_TARGET 设置为正值)并且 SGA_TARGET 也设置为正值,则 SGA_TARGET 值将充当 SGA 大小的最小值。

注意:对于可插拔数据库 (PDB),此参数是可选的。 当为 PDB 设置此参数时,它指定 PDB 在任何时候可以使用的最大 SGA。 当在 PDB 级别未设置此参数时,除了 CDB 的 SGA 大小之外,PDB 对它可以使用的 SGA 数量没有限制。

25. SHARED_SERVERS

SQL> show spparameter SHARED_SERVERS

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        max_shared_servers            integer
*        shared_servers                integer

SHARED_SERVERS 指定启动实例时要创建的服务器进程数。 如果系统负载减少,则维持此最小服务器数量。 因此,您应该注意在系统启动时不要将 SHARED_SERVERS 设置得太高。

26. STAR_TRANSFORMATION_ENABLED

SQL> show spparameter STAR_TRANSFORMATION_ENABLED

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
*        star_transformation_enabled   string

STAR_TRANSFORMATION_ENABLED 确定是否将基于成本的查询转换应用于星型查询。

27. UNDO_TABLESPACE

SQL> show spparameter UNDO_TABLESPACE

SID      NAME                          TYPE        VALUE
-------- ----------------------------- ----------- ----------------------------
orcl1    undo_tablespace               string      UNDOTBS1
orcl2    undo_tablespace               string      UNDOTBS2

UNDO_TABLESPACE 指定实例启动时要使用的撤消表空间。 如果实例处于手动undo管理模式时指定该参数,则会出现错误,启动失败。

如果省略UNDO_TABLESPACE参数,则选择数据库中第一个可用的撤消表空间。 如果没有可用的撤消表空间,则实例将在没有撤消表空间的情况下启动。 在这种情况下,用户事务将使用 SYSTEM 回滚段执行。 正常情况下应避免在此模式下运行。

在实例运行时,您可以将一个撤消表空间替换为另一个撤消表空间。

文章来源:https://blog.csdn.net/stevensxiao/article/details/135206087
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。