oracle参数说明

来源:互联网 发布:理财收益计算器 软件 编辑:程序博客网 时间:2024/04/25 04:52

Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数。Oracle系统中的参数,根据系统使用情况可以简单分为两大类,普通参数,也就是Oracle系统正常使用的一些参数,另外一类就是特殊参数,包括三种,过时参数、强调参数和隐藏参数。随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数。如何查询当
前版本数据库系统的参数情况以及当前系统版本相对于以前版本增加或者丢弃的那些参数呢?本文将详细介绍如何查询当前系统版本中的各种参数情况。

一、过时参数和强调参数
Oracle数据库中,系统提供了几个视图可以查看系统参数的情况。视图V$OBSOLETE_PARAMETER中含有所有的过时(obsolete)和强调(underscored)参数。这里首先说明一下什么是Oracle的过时(obsolote)和强调(underscored)参数,过时参数,顾名思义就是在Oracle以前的版本中存在,但在新版本中已经淘汰了的参数,已经不再使用;而强调参数,是指那些在新版本中保留了下来,但是除非特殊需要不希望用户使用的那些参数。在视图V$OBSOLETE_PARAMETER中,包含这些参数的名称和一个标志字ISSPECIFIED,该标志字用来指出这个参数是否在init.ora文件中已实际设置。

下面的SQL脚本列出了当前系统中所有的过时参数名称以及它们是否在当前系统中设定。
SQL> COL name format a50;
SQL> SELECT name, isspecified FROM v$obsolete_parameter;

上面谈到,Oracle系统并没有将V$OBSOLETE_PARAMETER视图中的所有参数均丢弃,而是将其中的一部分转换为强调参数,下面就来讨论如何查看这些参数是已被丢弃还是被转换。这可以通过系统视图X$KSPPO来查看,该视图中包含一个名为KSPPOFLAG的字段,用来指明该参数在当前版本中是被丢弃还是被强调,如果该值为1,则表示该参数已被丢弃,该值为2,则表明该参数现为强调参数。
SELECT kspponm,
DECODE(ksppoflg, 1,';Obsolete';, 2, ';Underscored';)
FROM x$ksppo
ORDER BY kspponm;
注:该视图只在sys用户下可以看到。

二、隐藏参数
Oracle系统中还有一类参数称之为隐藏参数(hidden parameters),是系统中使用,但Oracle官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。这些参数在所有Oracle官方提供的文档中都没有介绍,他们的命名有一个共同特征就是都以';_';作为参数的首字符,诸如Oracle 8i中的_trace_files_public和_lock_sga_areas等等。
下面的查询可以得到当前系统中的所有隐藏参数(以sys身份登录):
SELECT ksppinm, ksppstvl, ksppdesc
FROM x$ksppi x, x$ksppcv y
WHERE x.indx = y.indx
AND translate(ksppinm,';_';,';#';) like ';#%';;

三、系统当前参数
下面的脚本以英文字母顺序列出了系统当前使用的所有参数。在列出的参数中,如果参数名称前面有#这个符号,则表示该参数没有明确指定,采用了系统中的默认参数。一般在一个新的Oracle版本安装完成后,首先运行该脚本,则可以生成该版本数据库的标准init.ora文件。

SET pagesize 9000
SET head OFF
SET term OFF
SELECT
DECODE(isdefault, ';TRUE';, ';# ';) ||
DECODE(isdefault, ';TRUE';, RPAD(name,43), RPAD(name,45)) ||
'; = '; || value
FROM v$parameter
ORDER BY name;

参数 类别 说明 值范围 默认值
always_anti_join 优化程序 一个反连接返回符合 NOT IN 子查询的行。优化程序校验是否可能反连接,如果可能,按照该参数的值处理子查询。 NESTED_LOOPS|MERGE | HASH NESTED_LOOPS

always_semi_join 优化程序 一个半连接返回符合 EXISTS 子查询的行。如果在限制子查询的列上尚未定义索引,半连接可以改善查询性能。 NESTED_LOOPS | MERGE | HASH NESTED_LOOPS

aq_tm_processes 如果大于零,就会启用对队列消息的时间监视。该时间值可用于指定消息的延迟和失效属性 (用于应用程序的开发)。 0 - 10 0

audit_file_dest 对于每个与数据库的 SYSDBA 或 INTERNAL 连接,都将在该目录中生成一个审计文件 (仅用于 UNIX)。 任何有效的目录名 ORACLE_HOME/rdbms/audit
audit_trail 安全性与审计 启用或禁用数据库审计。如果该参数为 TRUE 或 DB,审计记录将被写入 SYS.AUD$ 表中;如果参数为OS,则写入一个操作系统文件。 NONE | FALSE | DB | TRUE | OS NONE

background_core_dump 诊断统计 是否将 SGA 信息转储到一个生成的核心文件中 (用于 UNIX)。 FULL | PARTIAL FULL

background_dump_dest 诊断统计 指定在 Oracle 操作过程中为后台进程 (LGWR,DBW n 等等) 写入跟踪文件的路径名(目录或磁盘)。它还定义记录着重要事件和消息的数据库预警文件的位置。 任何有效的目录名。 ORACLE_HOME/rdbms/log (根据操作系统而定)

backup_tape_io_slaves 备份与恢复 一个恢复管理器参数,用于确定读取或写入磁带是否要使用服务器进程或一个附加的 I/O 从属。 TRUE | FALSE FALSE

bitmap_merge_area_size 优化程序 指定合并从对索引的某一范围进行扫描而检索得到的位图要使用的内存量。 根据系统而定。 1M

blank_trimming ANSI相容性 果值为 TRUE,即使源长度比目标长度 (SQL92 兼容) 更长,也允许分配数据。 RUE | FALSE FALSE
buffer_pool_keep 高速缓存与I/O 保留池大小 (从 DB_BLOCK_BUFFERS 分配)。目的是将对象保留在内存中,以减少 I/O。 特定的字符串值。如: buffers:400 无
buffer_pool_recycle 高速缓存与I/O 循环池大小 (从 DB_BLOCK_BUFFERS 分配)。目的是使用对象后将其清除,以便重复使用内存。 特定的字符串值 如: buffers:50 无
commit_point_strength 分布式复制快照 一个用于确定分布式事务处理中提交点的位置的值。 0 -255 据操作系统而定
compatible 移植与兼容 允许使用一个新的发行版,同时保证与先前版本的向后兼容性。 默认为当前发行版。 由发行版确定
control_file_record_keep_time 重做日照、恢复与控制文件 控制文件中可重新使用部分中的记录必须保留的最短时间 (天数)。 0 -365 7
control_files 重做日照、恢复与控制文件 指定一个或多个控制文件名。Oracle 建议对于不同设备或 OS 文件镜像使用多个文件。 1 - 8 文件名 (带路径名)。 根据操作系统而定
core_dump_dest 诊断与统计 指定核心转储位置的目录名 (用于 UNIX)。 任何有效的目录名。 ORACLE_HOME/dbs
cpu_count 进程和会话 Oracle 可用的 CPU 的数目 (用于计算其它参数值)。请勿更改该值。 0 - 无限制 由 Oracle 自动设置
create_bitmap_area_size 优化程序 指定为创建位图索引而分配的内存量。 根据操作系统而定。
c
ursor_sharing 游标和库高速缓存 控制可以终止共享相同的共享游标的 SQL 语句类型。 强制:强制表达方式不同但语句意思相同的语句共享一个游标。EXACT:只令完全相同的 SQL 语句共享一个游标。

cursor_space_for_time 游标和库高速缓存 一个游标引用共享 SQL 区时,确定将 SQL 区保留在共享池中还是从中按过期作废处理。 TRUE | FALSE FALSE (过期作废)
db_block_buffers 高速缓存与I/O 缓冲区高速缓存中 Oracle 块的数量。该参数会显著影响一个例程的 SGA 总大小。 4 - 根据操作系统而定。

db_block_checking 诊断与统计 用于控制是否检查事务处理管理的块有无损坏。 TRUE | FALSE FALSE

db_block_checksum 高速缓存与I/O DBWn、ARCH 和 SQL*loader 是否为每一个数据块读或写计算或校验块的校验和。 TRUE | FALSE FALSE

db_block_lru_latches 高速缓存与I/O 指定 LRU 闩锁集数量的上限。只有在 V$LATCH 中的失败率超过 3% 的情况下,才需要增大该值。 1 - CPU 的数量 CPU_COUNT/2
db_block_max_dirty_target 高速缓存与I/O 缓冲区高速缓存中可以为灰缓冲区的数量。可以用来估计在恢复过程中读取的块数。 1000 到缓冲区高速缓存的大0 不限制缓冲区)。 缓冲区高速缓存中的所有缓冲区
db_block_size 高速缓存与I/O 一个 Oracle 数据库块的大小 (以字节计)。该值在创建数据库时设置,而且此后无法更改。 1024 - 65536 (根据操作系统而定)。 2048 (根据操作系统而定)
db_domain 分布式、复制与快照 指定数据库名的扩展名 (例如:US.ORACLE.COM) 为使一个域中创建的数据库名唯一,建议指定该值。 由句点分隔的任何字符串,最长可以有 128 个字符。 WORLD
db_file_direct_io_count 高速缓存与I/O 用于备份、复原或直接方式读写 I/O 操作的块的数量。 根据操作系统而定。 64
db_file_multiblock_read_count 高速缓存与I/O 在涉及一个完全连续扫描的一次 I/O 操作过程中读取的块的最大数量。 根据操作系统而定。 8
db_file_name_convert 备用数据库 将主数据库上的一个新数据文件的文件名转换为备用数据库上的文件名。 一个有效的主/备用目录和文件名对。 无
db_files 高速缓存与I/O 可为该数据库打开的数据文件的最大数量。 根据操作系统而定。 据操作系统而定
db_name 重作日照、恢复与控制文件 一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应。 任何有效名称最多可有 8 个字符。 无 (但应指定)
db_writer_processes 高速缓存与I/O 一个例程的数据库写进程的初始数量。如果使用了 DBWR_IO_SLAVES,则只能使用一个数据库写进程。 1 - 10 1
dblink_encrypt_login 分布式复制快照 连接到其它 Oracle 服务器时,数据库链路是否使用加密口令。 TRUE | FALSE FALSE
dbwr_io_slaves 高速缓存与I/O DBW0 进程使用的 I/O 从属的数量。DBW0 进程及其从属始终写入磁盘。 0 - 根据操作系统而定。 0
disk_asynch_io 高速缓存与I/O 控制数据文件、控制文件和日志文件的 I/O 是否异步 (即在表扫描过程中进程是否重叠 I/O 和CPU请求)。只有在您的平台支持磁盘异步 I/O的情况下才能更改该参数。 TRUE | FALSE TRUE
distributed_transactions 分布式复制快照 一个数据库一次可参与的分布式事务处理的最大数量。如果由于网络故障异常频繁而减少该值,将造成大量未决事务处理。 0 - TRANSACTIONS 参数值。 根据操作系统而定
dml_locks 锁 所有用户获取的表锁的最大数量。对每个表执行 DML 操作均需要一DML 锁。例如,如果3个用户修改2个表,就要求该值为 6。 0 或 20 到无限制。 4 * TRANSACTIONS (派生)

enqueue_resources 锁 入队可使并行进程能够共享资源。例如,Oracle 允许一个进程以共享模式锁定一个表,以共享更新模式锁定另一个表。 10 - 65535 (7.3) 或 10 - 无限制 (8.1)。 派生 (该值大于 DML_LOCKS + 20 即已足够)
event 诊断和统计 由 Oracle 技术支持人员使用,以调试系统。一般情况下,不应变更该值。 不可用。

fast_start_io_target 重作日志恢复和控制文件 指定在系统崩溃或例程恢复期间需要的 I/O 数量。该值比 DB_BLOCK_MAX_DIRTY_TARGET对恢复过程的控制更加精确。 0 (禁用 I/O 恢复限制) 或 1000,到高速缓存中的所有缓冲区数。 高速缓存中的所有缓冲区数

fast_start_parallel_rollback 事务处理和回滚段 执行并行回退时确定进程的最大数量。在多数事务处理的运行时间都较长的系统上,该值很有用。

fixed_date 其他 SYSDATE 返回的数据。对于须始终返回固定日期而非系统日期的测试,该值很有用。使用双引号或不使用引号。请勿使用单引号。 YYYY-MM-DD-HH24:MI:SS (或默认Oracle 格式)。 NULL

gc_defer_time OPS 一个并行服务器参数,用于确定服务器在将频繁使用的块写入磁盘之前要等待的时间长度 (以 1/100 秒为单位)这样能减少例程争用,并优化例程对块的访问。 任何正整数 (0 将禁用该功能)。  

gc_files_to_locks OPS 一个并行服务器参数,用于控制将并行高速缓存管理 (PCM) 锁映射到数据文件。 GC_FILES_TO_LOCKS = ';{file_list=lock_count[!blocks][R][EACH][:...]'; NULL

gc_releasable_locks OPS 一个并行服务器参数,用于指定将用来为小粒度锁分配空间的可分配锁元素。其最大值只受内存限制的影响。 50 或更大。 DB_BLOCK_BUFFERS 的值
gc_rollback_locks OPS 一个并行服务器参数,用于为同时修改的每个回退段块指定分布式锁的数量。在另一个例程需要具有读取一致性的块的情况下,这些锁能强制例程将回退段块写入磁盘。

global_names 分布式复制快照 指定是否要求数据库链路与所连接的数据库同名。如果该值为 FALSE,则不执行检查。要使分布式处理中的命名约定一致,请将该参数设置为 TRUE。

hash_area_size 排序和散列连接 与并行执行操作和 DML 或 DDL 语句相关。它以字节为单位,指定要用于散列连接的最大内存量。 0 到根据操作系统而定的值。

hash_join_enabled 排序和散列连接 如果设置为 TRUE,优化程序将在计算最有效的连接方法时考虑散列连接。Oracle 建议数据仓库应用程序应使用 TRUE 值。 TRUE | FALSE TRUE

hash_multiblock_io_count 排序和散列连接 指定一次 I/O 中一个散列连接读取和写入的连续块的数量。该值始终小于以 Oracle 块数 (MAX_IO_SIZE / DB_BLOCK_SIZE) 表示的操作系统 I/O 的最大大小。Oracle 使用公式 R / M = 20000M (最大值是根据操作系统而定的)。 0,除非配置了并行执行或 DBWR_IO_SLAVES

license_max_sessions 许可限制 指定允许同时进行的并行用户会话的最大数量。达到该限制后,只有具有 RESTRICTED SESSION 权限的用户才能连接到服务器。所有其他用户都会收到一条警告消息,表明已达到系统最大容量的限制。 0 - 会话许可的数量。 0

license_max_users 许可限制 指定您可在该数据库中创建的用户的最大数量。并行会话使用许可和用户使用许可不应被同时启用。LICENSE_MAX_SESSIONS 或 LICENSE_MAX_USERS 或这两者的值应为零。 0 - 用户许可的数量。 0

license_sessions_warning 许可限制 指定对并行用户会话数量的警告限制。达到该限制后,其他用户仍然可以连接,但一条消息将被写入 ALERT 文件。具有 RESTRICTED SESSION 权限的用户将收到一条警告消息,表明系统已接近最大容量。 0 - LICENSE_MAX_SESSIONS 0

lm_locks OPS 一个并行服务器参数,指定为锁管理器配置的锁的数量。锁的数量可用等式 L = R + (R*(N - 1))/N 来表示,其中 R 是资源数量,N 是节点的总数量,L 是锁的总数量。 512 (最小值);最大值是根据操作系统而定的。 12000

lm_ress OPS 一个并行服务器参数,控制每个锁管理器例程可以锁定的资源的数量。指定的这个值应小于 2 * DML_LOCKS 加上约 20 个锁的系统开销。 256 (最小值);最大值是根据操作系统而定的。 6000

local_listener 网络注册 一个 Net8 地址列表,用于标识同一台计算机上的数据库例程,可以作为 Net8 监听程序。所有例程和调度程序都在该监听程序上注册,以便启用客户机连接。该参数覆盖在 8.1 版本中废弃的MTS_LISTENER_ADDRESS 和 MTS_MULTIPLE_LISTENERS 参数。 一个有效的 Net8 地址列表。 (ADDRESS_LIST=(Address=(Protocol=TCP)(Host=localhost)(Port=1521)) (Address=(Protocol=IPC)(Key=DBname)))
lock_name_space OPS 指定分布式锁管理器 (DLM) 用来生成锁名称的命名空间。如果同一个簇上存在一个同名的备用数据库或克隆数据库,最好设置该值。 最多有 8 个字符,不允许使用特殊字符。 NULL

lock_sga 内存 用于将整个 SGA 锁定在物理内存中。在不支持这种功能的平台上,该值将被忽略。 TRUE | FALSE FALSE

log_archive_dest 归档 只适用于数据库正以“归档日志”模式运行的情况,或正在从已归档的重做日志恢复数据库的情况。在 8.1 企业版中,应使用 LOG_ARCHIVE_DEST_n。 一个 NULL 字符串,或者任何有效的路径或设备名,原始分区除外。 NULL

log_archive_dest_1 归档 五个本地 (指定LOCATION) 或远程 (指定 SERVICE) 目标位置中的第一个归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版 oracle8i数据库或更高版本的数据库中有效。
语法为 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTI

ONAL][REOPEN=integer] NULL
log_archive_dest_2
log_archive_dest_3
log_archive_dest_4
log_archive_dest_5
log_archive_dest_state_1 归档 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_1) 的可用性状态。如果启用,日志目标将被归档。如果延迟,该目标将被排除在归档操作之外直至重新启用。 ENABLE | DEFER ENABLE
log_archive_dest_state_2
log_archive_dest_state_3
log_archive_dest_state_4
log_archive_dest_state_5
log_archive_duplex_dest 归档 指定 LOG_ARCHIVE_DEST 外的另一个归档目标。在 Oracle8i 企业版中,该参数被 LOG_ARCHIVE_DEST_n 代替。 一个 NULL 字符串,或者任何有效的路径或设备名,原始分区除外。 NULL

log_archive_format 归档 LOG_ARCHIVE_FORMAT 只在数据库处于“归档日志”模式的情况下有用。文本字符串与变量 %s (日志序列号) 和 %t (线程号) 结合使用,用于指定各归档重做日志文件的唯一文件名。该字符串被附加到 LOG_ARCHIVE_DEST 参数。 任何有效的文件名。 根据操作系统而定
log_archive_max_processes 归档 指定要求的 ARCH 进程的数量。如果 LOG_ARCHIVE_START = TRUE,该值可以在例程启动时被评估;也可以在通过 SQL*Plus 或 SQL 语法调用 ARCH 进程时评估。 1 - 10 (包括端点) 的任何整数。 1
log_archive_min_succeed_dest 归档 定义在可以覆盖日志文件前必须将其复制到的目标的最小数量。该值应大于或等于 LOG_ARCHIVE_DEST_n 中 MANDATORY 目标的数量。 1 - 5 (如果与 LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST 共同使用,则限制在 1-2)。 1

log_archive_start 归档 只在数据库处于“归档日志”模式的情况下适用。它指定重做日志是自动还是手动复制。建议值是 TRUE,即执行自动归档;否则就需要手动干预,使用 ALTER SYSTEM ARCHIVE LOG ... 命令来阻止例程挂起。 TRUE | FALSE FALSE

log_archive_trace 归档 控制归档日志进程生成的输出。此进程可以通过下列方式启动ARCn 后台进程 (在输出日志中指定为 ARCn)明确的会话调用的前台进程 (在输出日志中指定为 ARCH) 或 “受管备用数据库”的远程文件服务器 (RFS) 进程。 0: 禁用归档日志跟踪 (这是默认设置)1: 重做日志文件的追踪归档2: 每个归档日志目标的追踪归档状态4: 追踪归档操作阶段8: 追踪归档日志目标16: 追踪详细的归档日志目标活动32: 追踪归档日志目标参数修改64: 追踪 ARCn 进程状态活动 0

log_buffer 重作日志、恢复和控制文件 以字节为单位,指定在 LGWR 将重做日志条目写入重做日志文件之前,用于缓存这些条目的内存量。重做条目保留对数据库块所作更改的一份记录。如果该值大于65536,就能减少重做日志文件 I/O,特别是在有长时间事务处理或大量事务处理的系统上。 根据操作系统而定。 最大值为 500K 或 128K * CPU_COUNT,两者之中取较大者

log_checkpoint_interval 重作日志、恢复和控制文件 指定在出现检查点之前,必须写入重做日志文件中的 OS 块 (而不是数据库块) 的数量。无论该值如何,在切换日志时都会出现检查点。较低的值可以缩短例程恢复所需的时间,但可能导致磁盘操作过量。 无限制 (指定 0 即可禁用该参数)。 根据操作系统而定

log_checkpoint_timeout 重作日志、恢复和控制文件 指定距下一个检查点出现的最大时间间隔 (秒数)。将该时间值指定为 0,将禁用以时间为基础的检查点。较低的值可以缩短例程恢复的时间,但可能导致磁盘操作过量。 0 - 无限制。 Oracle8i:900 秒。企业版:1800 秒
log_checkpoints_to_alert 重作日志、恢复和控制文件 指定将检查点信息记录到预警文件中。该参数对于确定检查点是否按所需频率出现很有用。 TRUE | FALSE FALSE

log_file_name_convert 备用数据库 将主数据库上的一个日志文件的文件名转换为备用数据库上对等的路径和文件名。将一个日志文件添加到一个主数据库后,必须将一个相应的文件添加到备用数据库中。 任何格式为“主体日志文件的路径/文件名”和“备用日志文件的路径/文件名”的有效的路径/文件名 NULL

max_commit_propagation_delay OPS 一个并行服务器参数,用于指定一个例程的 SGA 中所包含的系统更改编号 (SCN) 被 LGWR 刷新之前,允许保留的最大时间量 (以 1/100 秒为单位)。这是一个极少需要改动的性能参数,因为 SCN 可能不会以时间为依据进行刷新。 0 -90000 700
max_dump_file_size 诊断和统计 指定每个跟踪文件的最大大小。如果您担心跟踪文件会占用太多空间,可更改该限制。如果转储文件可以达到操作系统允许的最大大小,请将该值指定为“无限制”。 值范围:0 - 无限制 (可以用“K”或“M”为单位) 10000 块

max_enabled_roles 安全性和审计 指定一个用户可以启用的数据库角色 (包括子角色) 的最大数量。用户可启用的角色的实际数量是 2 加上 MAX_ENABLED_ROLES 的值,因为每个用户都有两个附加的角色UBLIC 和用户自己的角色。 0 -148 20

max_rollback_segments 事务处理和回滚段 指定 SGA 中高速缓存的回退段的最大大小。该数值指定一个例程中可同时保持联机状态 (即状态为 INUSE) 的回退段的最大数量。 2 -65535 最大值(30, TRANSACTIONS/TRANSACTIONS_PER_ROLLBACK_SEGMENT)

mts_circuits MTS 指定可用于进站和出站网络会话的虚拟电路总数。 该参数是用于某个例程的总 SGA 要求的几个参数之一。 派生: SESSIONS 参数的值 (如果正在使用多线程服务器体系结构);否则为 0。

mts_dispatchers 其他 为设置使用多线程服务器的共享环境而设置调度程序的数量和类型。可以为该参数指定几种选项。这是字符串值的一个示例:“(PROTOCOL=TCP)(DISPATCHERS=3)”。 参数的有效指定值。 NULL

mts_listener_address 指定多线程服务器的监听程序配置。监听程序需要一个监听地址,以便处理系统所用的各个网络协议的连接请求。 除非 MTS_MULTIPLE_LISTENERS=TRUE,每个条目都必须有一个独立的相邻值。此参数在 8.1.3 版中已废弃

mts_max_dispatchers MTS 指定在一个多线程服务器环境中可同时运行的调度程序进程的最大数量。 根据操作系统而定。 如果已配置了调度程序,默认设置为大于 5 的任何数目或配置的调度程序的数目。

mts_max_servers MTS 指定在一个多线程服务器环境中可同时运行的共享服务器进程的最大数量。 根据操作系统而定。 20

mts_multiple_listeners MTS 指定多个监听程序的地址是分别指定的,还是用一个 ADDRESS_LIST 字符串指定。此参数在 8.1.3 版中已废弃。 TRUE | FALSE FALSE
mts_servers MTS 指定在启动例程后,要为多线程服务器环境创建的服务器进程的数量。 根据操作系统而定。 1

mts_service MTS 一个多线程服务器参数,用于指定已在调度程序上注册,用来建立数据库连接的一个唯一的服务名。如果要在没有调度程序的情况下仍能连接到数据库,请将该值设置为与例程名相同。此参数在 8.1.3 版中已废弃。 根据操作系统而定。 0

mts_sessions MTS 指定允许的多线程服务器体系结构用户会话的总数。 设置该参数可以保留一些用户会话用于专用服务器。 0 到 SESSIONS - 5 派生: 小于 MTS_CIRCUITS 和 SESSIONS – 5
nls_calendar NLS 指定 Oracle 使用哪种日历系统作为日期格式。 Arabic Hijrah、English Hijrah、Gregorian、Japanese Imperial、Persian、ROC Official (Republic of China) 和 Thai Buddha。 Gregorian

nls_comp NLS 在 SQL 语句中,应避免使用繁琐的 NLS_SORT 进程。正常情况下,WHERE 子句中进行的比较是二进制的,但语言比较则需要 NLSSORT 函数。可以使用 NLS_COMP 指定必须根据 NLS_SORT 会话参数进行语言比较。 Oracle8i National Language Support Guide 中指定的任何有效的10 字节字符串。 BINARY

nls_currency NLS 为 L 数字格式元素指定用作本地货币符号的字符串。该参数的默认值由 NLS_TERRITORY 确定。 Oracle8i National Language Support Guide 中指定的任何有效的10 字节字符串。 从 NLS_TERRITORY 中获得
nls_date_format NLS 指定与 TO_CHAR 和 TO_DATE 函数一同使用的默认日期格式。该参数的默认值由 NLS_TERRITORY 确定。该参数的值可以是包含在双引号内的任何有效的日期格式掩码。例如:';';MMM/DD/YYYY';';。 任何有效的日期格式掩码,但不得超过一个固定长度。 派生
nls_date_language NLS 指定拼写日期名、月名和日期缩写词 (AM, PM, AD, BC) 的语言。该参数的默认值是由 NLS_LANGUAGE 指定的语言。 任何有效的 NLS_LANGUAGE 值。 NLS_LANGUAGE 的值

nls_dual_currency NLS 用于覆盖 NLS_TERRITORY 中定义的默认双重货币符号。如果不设置该参数,就会使用默认的双重货币符号;否则就会启动一个值为双重货币符号的新会话。 任何有效的格式名。 双重货币符号
nls_iso_currency NLS 为 C 数字格式元素指定用作国际货币符号的字符串。该参数的默认值由
NLS_TERRITORY 确定。 任何有效的 NLS_TERRITORY 值。 从 LS_TERRITORY 中获得

nls_language NLS 指定数据库的默认语言,该语言将用于消息,日期和月份名,AD、BC、AM 和 PM 的符号,以及默认的排序机制。可支持的语言包括英语、法语和日语等等。 任何有效的语言名。 根据操作系统而定

nls_numeric_characters NLS 指定将用作组分隔符和小数位的字符。组分隔符就是用来分隔整数位组 (如千、百万等等) 的字符。小数分隔符用来将一个数字的整数部分与小数部分分隔开。其格式是 。 任何单字节字符,“+”、“-”、“”除外。 从 NLS_TERRITORY 中获得

nls_sort NLS 指定 ORDER BY 查询的比较顺序。对于二进制排序,ORDER BY 查询的比较顺序是以数值为基础的。对于语言排序,则需要进行全表扫描,以便将数据按照所定义的语言排序进行整理。 BINARY 或有效的语言定义名。 从 NLS_LANGUAGE 中获得

nls_territory NLS 为以下各项指定命名约定,包括日期和星期的编号、默认日期格式、默认小数点字符和组分隔符,以及默认的 ISO 和本地货币符号。可支持的区域包括美国、法国和日本。 任何有效的地区名。 根据操作系统而定

nls_time_format NLS 指定一个字符串值,设置 TIME 数据类型的默认值,该数据类型包含 HOUR、MINUTE 和 SECOND 这几个日期时间字段。 TIME ';09:26:50'; (将值存储为 7 个字节)。

nls_time_tz_format NLS 指定一对值 (UTC,TZD),设置 TIME WITH TIME ZONE 数据类型的默认值,该数据类型包含 HOUR、MINUTE、SECOND、TIMEZONE_HOUR 和 TIMEZONE_MINUTE 这几个日期时间字段。UTC 是世界时而 TZD 是当地时区。 TIME ';09:26:50.20+ 02:00'; (将值存储为 9 个字节)。

nls_timestamp_format NLS 与 NLS_TIME_FORMAT 相似,只不过它设置的是 TIMESTAMP 数据类型的默认值,该数据类型既存储 YEAR、MONTH 和 DAY 这几个日期值,也存储 HOUR、MINUTE 和 SECOND 这几个时间值。 TIMESTAMP ';1997-01-31 09:26:50.10'; (将值存储为 11 个字节)。 从 NLS_TERRITORY 中获得

nls_timestamp_tz_format NLS 与 NLS_TIME_TZ_FORMAT 相似,其中的一对值指定 TIMESTAMP 数据类型的默认值,该类型除存储 YEAR、MONTH 和 DAY 日期值,HOUR、MINUTE 和 SECOND 时间值,还存储 TIMEZONE_HOUR 和 TIMEZONE_MINUTE。 语法: TIMESTAMP ';1997- 01- 31 09:26:50+ 02:00'; (将值存储为 13 个字节)。

object_cache_max_size_percent 对象和LOB 指定会话对象的高速缓存增长可超过最佳高速缓存大小的百分比,最大大小等于最佳大小加上该百分比与最佳大小的乘积。如果高速缓存大小超过了这个最大大小,系统就会尝试将高速缓存缩小到最佳大小 0% 到根据操作系统而定的最大值。 10%

object_cache_optimal_size 对象和LOB 指定在高速缓存超过最大大小的情况下,会话对象高速缓存将被缩小到的大小。 10K 到根据操作系统而定的最大值。 100K

open_cursors 游标和库高速缓存 指定一个会话一次可以打开的游标 (环境区域) 的最大数量,并且限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小,以避免用户再次执行语句时重新进行语法分析。请将该值设置得足够高,这样才能防止应用程序耗尽打开的游标。 1 - 操作系统限制值。

open_links 分布式、复制和快照 指定在一次会话中同时打开的与远程数据库的连接的最大数量。该值应等于或超过一个引用多个数据库的单个 SQL 语句中引用的数据库的数量,这样才能打开所有数据库以便执行该语句。 0 - 255 (如果为 0,不允许分布式事务处理)。 4

open_links_per_instance 分布式、复制和快照 指定 XA 应用程序中可移植的打开连接的最大数量。XA 事务处理使用可移植的打开的连接,以便在提交一个事务处理后能将这些连接高速缓存。

optimizer_features_enable 优化程序 允许更改 init.ora 参数,该参数控制着优化程序的行为。受此影响的参数包括 PUSH_JOIN_PREDICATE、FAST_FULL_SCAN_ENABLED、COMPLEX_VIEW_MERGING 和 B_TREE_BITMAP_PLANS。 8.0.0;8.0.3;8.0.4;8.1.3。 8.0.0

optimizer_index_caching 优化程序 调整基于成本的优化程序的假定值,即在缓冲区高速缓存中期望用于嵌套循环连接的索引块的百分比。它将影响使用索引的嵌套循环连接的成本。将该参数设置为一个较高的值,可以使嵌套循环连接相对于优化程序来说成本更低。

optimizer_index_cost_adj 优化程序 在考虑太多或太少索引访问路径的情况下,可以用来优化优化程序的性能。该值越低,优化程序越容易选择一个索引。也就是说,如果将该值设置为 50%,索引访问路径的成本就是正常情况下的一半。 1 -10000 100 (一个索引访问路径的常规成本)

optimizer_max_permutations 优化程序 对带有大量连接的查询进行语法分析时,优化程序将会考虑限制表的交换数。这有助于确保对查询进行语法分析的时间保持在可接受的限制范围内,但代价是无法找到最佳计划。如果该值小于 1000,就应该可以确保每次查询的时间仅为几秒钟或更短。 4-2^32 (~4.3 G)。 80,000

optimizer_mode 优化程序 指定优化程序的行为。如果设置为 RULE,就会使用基于规则的优化程序,除非查询含有提示。如果设置为 CHOOSE,就会使用基于成本的优化程序,除非语句中的表不包含统计信息。ALL_ROWS 或 FIRST_ROWS 始终使用基于成本的优化程序。

optimizer_percent_parallel 优化程序 指定优化程序在其成本函数中使用的并行量。优化程序选择最佳序列计划,以便实现较低的值 (倾向于使用索引) 。对于高值,优化程序则使用各对象的并行度来计算全表扫描操作的成本。 0 -100 100

oracle_trace_collection_name 诊断和统计 指定 Oracle Trace 集合名,并在输出文件名中使用 (集合定义文件 .cdf 和数据集合文件 dat)。如果该参数不为空,且 ORACLE_TRACE_ENABLE = TRUE,就会启动一个默认的 Oracle Trace 集合,直到该值再次设置为 NULL。 一个有效的集合名,最长可为 16 个字符 (使用 8 个字符文件名的平台除外)。 NULL

oracle_trace_collection_path 诊断和统计 指定 Oracle Trace 集合定义文件 (.cdf) 和数据集合文件 (.dat) 所在的目录路径名。 完整的目录路径名。

oracle_trace_collection_size 诊断和统计 以字节为单位,指定 Oracle Trace 集合文件的最大大小。一旦该集合文件的大小达到这个最大值,集合就会被禁用。如果值范围指定为零,就表示没有大小限制。 0 -4294967295 5242880

oracle_trace_enable 诊断和统计 要为服务器启用 Oracle Trace 收集,请将该值设置为 TRUE。如果设置为 TRUE,该服务器就可以使用 Oracle Trace。要启动一个收集过程,请为 ORACLE_TRACE_COLLECTION_NAME 指定一个非空值;或者使用 Oracle Trace Manager 来启动一个集合。 TRUE | FALSE FALSE

oracle_trace_facility_name 诊断和统计 指定 Oracle Trace 产品定义文件名 (.fdf 文件名)。该文件包含可为使用 Oracle Trace 数据收集 API 的产品收集的所有事件和数据项的定义信息。Oracle 建议使用默认的文件 ORCLED.FDF。 一个有效的设备名,最长可有 16 个字符。  

oracle_trace_facility_path 诊断和统计 指定 Oracle TRACE 工具的定义文件 (.fdf) 所在的目录路径名。 完整的目录路径名。 ORACLE_HOME/otrace/admin/fdf/ (根据操作系统而定)

os_authent_prefix 安全性和审计 使用用户的操作系统帐户名和口令来验证连接到服务器的用户。该参数的值与各用户的操作系统帐户连接在一起。要去除 OS 帐户前缀,请指定空值。 任何标识符。 根据操作系统而定 (通常是“OPS$”)
os_roles 安全性和审计 确定操作系统或数据库是否为每个用户标识角色。如果设置为 TRUE,将由操作系统完全管理对所有数据库用户的角色授予。否则,角色将由数据库标识和管理。

parallel_adaptive_multi_user 并行查询 启用或禁用一个自适应算法,旨在提高使用并行执行方式的多用户环境的性能。通过按系统负荷自动降低请求的并行度,在启动查询时实现此功能。当 PARALLEL_AUTOMATIC_TUNING = TRUE 时,其效果最佳。 TRUE | FALSE 如果 PARALLEL_AUTOMATIC_TUNING = TRUE,则该值为 TRUE;否则为 FALSE

parallel_automatic_tuning 并行查询 如果设置为 TRUE,Oracle 将为控制并行执行的参数确定默认值。除了设置该参数外,你还必须为系统中的表设置并行性。 TRUE | FALSE FALSE

parallel_broadcast_enabled 优化程序 通过使用一个散列连接或合并连接,可以在将多个大结果集连接到一个小结果集 (以字节而不是行为单位来衡量大小) 时改善性能。如果该值设置为 TRUE,优化程序可以将小结果集内的每个行都传播到大型集内的每个并行服务器处理行中。

parallel_execution_message_size 并行查询 指定并行执行 (并行查询、PDML、并行恢复和复制) 消息的大小。如果值大于 2048 或 4096,就需要更大的共享池。如果 PARALLEL_AUTOMATIC_TUNING =TRUE,将在大存储池之外指定消息缓冲区。 2148 - 无穷大。 如果 PARALLEL_AUTOMATIC_TUNING 为 FALSE,通常值为 2148;如果 PARALLEL_AUTOMATIC_TUNING 为 TRUE ,则值为 4096 (根据操作系统而定)。
parallel_instance_group OPS 一个并行服务器参数,标识用来大量产生并行执行从属的并行例程组。并行操作只对在其 INSTANCE_GROUPS 参数中指定一个匹配组的例程大量产生并行执行从属。 一个代表组名的字符串。 由所有当前活动例程构成的组
parallel_max_servers 并行查询 指定一个例程的并行执行服务器或并行恢复进程的最大数量。如果需要,例程启动时分配的查询服务器的数量将增加到该数量。

parallel_min_percent 并行查询 指定并行执行要求的线程的最小百分比。设置该参数,可以确保并行执行在没有可用的恰当查询从属时,会显示一个错误消息,并且该查询会因此而不予执行。 0 -100 0,表示不使用该参数。

parallel_min_servers 并行查询 指定为并行执行启动例程后,Oracle 创建的查询服务器进程的最小数量。 0 - PARALLEL_MAX_SERVERS。 0
parallel_server OPS 将 PARALLEL_SERVER 设置为 TRUE,可以启用并行服务器选项。 TRUE | FALSE FALSE

parallel_server_instances OPS 当前已配置的例程的数量。它用于确定 SGA 结构的大小,该结构由已配置的例程数量来确定。正确设置该参数将改善 SGA 的内存使用情况。 有几个参数是用该数量计算得到的。 任何非零值。 1

parallel_threads_per_cpu 并行查询 说明一个 CPU 在并行执行过程中可处理的进程或线程的数量,并优化并行自适应算法和负载均衡算法。如果计算机在执行一个典型查询时有超负荷的迹象,应减小该数值 任何非零值。 根据操作系统而定 (通常为 2)

partition_view_enabled 优化程序 如果将 PARTITION_VIEW_ENABLED 设置为 TRUE,该优化程序将剪除 (或跳过) 分区视图中不必要的表访问。该参数还能更改基于成本的优化程序从基础表统计信息计算分区视图统计信息的方式。 TRUE | FALSE FALSE
plsql_v2_compatibility PL/SQL 设置 PL/SQL 兼容级。如果设置为 FALSE,将执行 PL/SQL V3 行为,而不允许 V2 行为;否则在运行 PL/SQL V3 时将接受某些 PL/SQL V2 行为。

pre_page_sga 内存 一个根据平台而定的参数,如果该参数为 TRUE,将把所有 SGA 页装载到内存中,以便使该例程迅速达到最佳性能状态。这将增加例程启动和用户登录的时间,但在内存充足的系统上能减少缺页故障的出现。 TRUE | FALSE FALSE

processes 进程和会话 指定可同时连接到一个 Oracle 服务器上的操作系统用户进程的最大数量。该值应允许执行所有后台进程,如: 作业队列 (SNP) 进程和并行执行 (Pnnn) 进程。 6 到根据操作系统而定的一个值。 由 PARALLEL_MAX_SERVERS 确定
query_rewrite_enabled 优化程序 启用或禁用对实体化视图的查询重写。一个特定实体化视图只在如下条件下启用:会话参数和单独实体化视图均已启用,并且基于成本的优化已启用。

query_rewrite_integrity 优化程序 Oracle 服务器执行的查询重写的程度。如果设置为 ENFORCED,Oracle 将保证其一致性和完整性。如果设置为 TRUSTED,将使用明确声明的关系来允许重写。如果设置为 STALE_TOLERATED,即使实体化视图与基础数据不一致,也仍可以进行重写。 ENFORCED、TRUSTED、STALE_TOLERATED ENFORCED

rdbms_server_dn 安全性和审计 RDBMS 服务器的判别名。它用于在一个企业目录服务中检索企业角色。 所有 X.500 判别名格式值。 无

read_only_open_delayed 高速缓存和I/O 用于加速某些操作,如: 启动一个很大的数据库而其中大多数数据存储在只读的表空间中。如果设置为 TRUE,从表空间中读取数据时,将首先访问只读表空间中的数据文件。 TRUE | FALSE FALSE

recovery_parallelism 重作日志、恢复和控制文件 指定参与例程或介质恢复的进程的数量。如果值为 0 或 1,就表明恢复将由一个进程以串行方式执行。 根据操作系统而定 不超 ARALLEL_MAX_SERVERS 根据操作系统而定

remote_dependencies_mode PL/SQL 用于指定数据库为远程 PL/SQL 存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP,只有在服务器与本地时间戳相匹配的情况下,才能执行该过程。如果设置为 SIGNATURE,在签名安全的情况下即可执行该过程 TIMESTAMP | SIGNATURE TIMESTAMP


remote_login_passwordfile 分布式、复制和快照 指定操作系统或一个文件是否检查具有权限的用户的口令。如果设置为 NONE,Oracle 将忽略口令文件。如果设置为 EXCLUSIVE,将使用数据库的口令文件对每个具有权限的用户进行验证。如果设置为 SHARED,多个数据库将共享 SYS 和 INTERNAL 口令文件用户。 NONE | SHARED | EXCLUSIVE NONE

remote_os_authent 分布式、复制和快照 将 REMOTE_OS_AUTHENT 设置为 TRUE,允许使用 OS_AUTHENT_PREFIX 的值来验证远程客户机。 TRUE | FALSE FALSE

remote_os_roles 分布式、复制和快照 将 REMOTE_OS_ROLES 设置为 TRUE,允许由远程客户机的操作系统来分配角色。如果设置为 FALSE,则由远程客户机的数据库来识别和管理角色。 TRUE | FALSE FALSE

replication_dependency_tracking 分布式、复制和快照 跟踪相关性对复制服务器以并行方式传播所作的更改至关重要。如果设置为 FALSE,数据库上的读/写操作将运行得更快,但无法为复制服务器产生并行传播的相关性信息。 TRUE | FALSE TRUE (即启用读/写相关性跟踪)

resource_limit 进程和会话 确定是否在数据库概要文件中实行资源限制。如果设置为 FALSE,将禁用资源限制。如果值为 TRUE,即启用资源限制。 RUE | FALSE FALSE

resource_manager_plan 进程和会话 如果指定该值,资源管理器将激活计划和例程的所有子项 (子计划、指令和使用者组)。如果不指定,资源管理器将被禁用,但使用 ALTER SYSTEM 命令还可以启用。 任何有效的字符串。 NULL

rollback_segments 事务处理和回滚段 指定要在例程启动过程中获取的一个或多个回退段,即使其数量超过了 TRANSACTIONS / TRANSACTIONS_PER_ROLLBACK_SEGMENT 的值。公式为 ROLLBACK_SEGMENTS = (rbseg_name [, rbseg_name] ...) 除 SYSTEM 外,DBA_ROLLBACK_SEGS 中列出的任何回退段。 NULL (默认情况下使用公用回退段)

row_locking ANSI相容性 指定在表已更新或正在更新时是否获取行锁。如果设置为 ALWAYS,只有在表被更新后才获取行锁。如果设置为 INTENT,只有行锁将用于 SELECT FOR UPDATE,但在更新时将获取表锁。 ALWAYS | DEFAULT | INTENT ALWAYS

serial_reuse 游标和库高速缓存 指定何种类型的 SQL 游标应利用串行可重用内存功能。如果 CURSOR_SPACE_FOR_TIME = TRUE,那么 SERIAL_REUSE 值将被忽略,当作被设置为 DISABLE 或 NULL 的情况处理。  

serializable ANSI相容性 确定查询是否获取表级的读取锁,以防止在包含该查询的事务处理被提交之前更新任何对象读取。这种操作模式提供可重复的读取,并确保在同一事务处理种对相同数据的两次查询看到的是相同的值。 TRUE | FALSE FALSE
service_names 网络注册 为 Net8 监听程序可用于识别一个服务 (如:复制环境中的一个特定数据库) 的例程指定服务名。如果该服务没有域,将附加 DB_DOMAIN 参数。 SERVICE_NAMES = name1.domain, name2.domain DB_NAME.DB_DOMAIN (如果已定义)
session_cached_cursors 游标和库高速缓存 指定要高速缓存的会话游标的数量。对同一 SQL 语句进行多次语法分析后,它的会话游标将被移到该会话的游标高速缓存中。这样可以缩短语法分析的时间,因为游标被高速缓存,无需被重新打开。 0 到根据操作系统而定的值。 0

session_max_open_files 对象和LOB 指定可在任一给定会话中打开的 BFILE 的最大数量。一旦达到这个数量,此后将无法在该会话中打开更多文件。该参数还取决于操作系统参数 MAX_OPEN_FILES。 1 - 至少为 (50,OS 级上的 MAX_OPEN_FILES)。 10

sessions 进程和会话 指定用户会话和系统会话的总量。默认数量大于 PROCESSES,以允许递归会话。 任何整数值。 派生 (1.1 * PROCESSES + 5)

shadow_core_dump 诊断和统计 一个针对 UNIX 的参数,用于指定是否将 SGA 信息转储到一个生成的核心文件中。如果设置为 FULL,SGA 将被包括在核心转储中。如果设置为 PARTIAL,SGA 将不被转储。 FULL | PARTIAL FULL

shared_memory_address 内存 SHARED_MEMORY_ADDRESS 和 HI_SHARED_MEMORY_ADDRESS 指定运行时 SGA 的起始地址。许多平台在链接时间指定 SGA 起始地址,在这类平台上这些参数将被忽略。如果两个参数都设置为 0 或 NULL,那么地址将根据平台而定。 任何整数值。 0

shared_pool_reserved_size 池 指定要为较大连续共享池内存请求而保留的空间,以避免由碎片引起的性能下降。该池的大小应符合这样的条件:能存储为防止对象从共享池刷新而普遍要求的所有大型过程和程序包。 SHARED_POOL_RESERVED_MIN_ALLOC 到 SHARED_POOL_SIZE 的一半(以字节计)。 SHARED_POOL_SIZE 值的 5%

shared_pool_size 池 以字节为单位,指定共享池的大小。共享池包含如: 共享游标、存储的过程、控制结构和并行执行消息缓冲区等对象。较大的值能改善多用户系统的性能。 300 KB - 根据操作系统而定。 如果是 64 位操作系统,值为 64MB;其它情况下,值为 16MB。

sort_area_retained_size 排序和散列连接 以字节为单位,指定在一个排序运行完毕后保留的用户全局区 (UGA) 内存量的最大值。最后一行从排序空间中被提取后,该内存将被释放回 UGA,而不是释放给操作系统。 从相当于两个数据库块的值到 SORT_AREA_SIZE 的值。 SORT_AREA_SIZE 的值

sort_area_size 排序和散列连接 以字节为单位,指定排序所使用的最大内存量。排序完成后,各行将返回,并且内存将释放。增大该值可以提高大型排序的效率。如果超过了该内存量,将使用临时磁盘段。 相当于 6 个数据库块的值 (最小值) 到操作系统确定的值 (最大值)。

sort_multiblock_read_count 排序和散列连接 指定每次一个排序从一个临时段执行一次读取时,要读取的数据库块的数量。临时段用于大于 SORT_AREA_SIZE 的排序。值越大,每个合并趟读取的数据越多,但可能造成更多的合并趟。 1 - 根据系统而定的值。 2
sql92_security 安全性和审计 指定要执行一个更新或删除引用表列的值是否需要具有表级的 SELECT 权限。  

sql_trace 诊断和统计 禁用或启用 SQL 跟踪设备。如果设置为 TRUE,将收集优化信息,这些信息对改善性能很有用。由于使用 SQL 跟踪设备将引发系统开销,只应在需要优化信息的情况下使用 TRUE。 TRUE | FALSE FALSE
sql_version 其他 未用

standby_archive_dest 归档 指定来自一个主例程的归档日志的到达位置。STANDBY_ARCHIVE_DEST 和 LOG_ARCHIVE_FORMAT 用于在备用位置上虚拟完全合格的归档日志文件名。备用数据库上的 RFS 服务器将使用该值,而不是 ARCHIVE_LOG_DEST。 NULL 字符串或非 RAW 类型的有效路径/设备名。

star_transformation_enabled 优化程序 确定基于成本的查询转换是否将被应用到星型查询中。如果设置为 TRUE,优化程序将考虑将基于成本的转换应用于星型查询中;如果设置为 FALSE,将不使用任何转换;如果设置为 TEMP_DISABLE,将考虑查询转换,但不使用临时表。 TRUE | FALSE | TEMP_DISABLE FALSE
tape_asynch_io 备份与恢复 用于控制对顺序设备的 I/O 操作 (例如,将 Oracle 数据备份或复原到磁带上,或从磁带上备份或复原 Oracle 数据) 是否异步。只有在您的平台支持对顺序设备的异步 I/O 操作的情况下,将该值设置为 TRUE 才有效; 如果异步 I/O 的执行情况不稳定,请将该值设置为 FALSE。

text_enable 其他 可启用或禁用文本搜索的参数。 TRUE | FALSE FALSE
thread OPS 一个并行服务器参数,用于为每个例程指定一个唯一的重做线程号。在例程的重做线程被禁用的情况下,该例程无法启动。如果该值为零,就表示有一个已启用的公用线程可供选择。 0 - 已启用线程的最大数量。 0

timed_os_statistics 诊断和统计 由系统管理员使用,以采集操作系统统计信息。要有效使用资源,请只在需要时设置该值。对于专用服务器,OS 统计信息会在用户连接、断开连接以及弹出调用 (如果超出了指定的时间限制) 的情况下被收集。对于多线程服务器,将为压入或弹出的调用收集统计信息。 以秒为单位的时间。 0 (OS 统计信息不被刷新)

timed_statistics 诊断和统计 收集操作系统的计时信息,这些信息可被用来优化数据库和 SQL 语句。要防止因从操作系统请求时间而引起的开销,请将该值设置为零。将该值设置为 TRUE 对于查看长时间操作的进度也很有用。

transaction_auditing 事务处理和回滚段 确定事务处理层是否生成一个特殊的重做记录,其中包含用户登录名、用户名、会话ID、部分操作系统信息以及客户机信息。在使用某一重做日志分析工具时,这些记录可能很有用。 TRUE | FALSE TRUE

transactions 事务处理和回滚段 指定并行事务处理的最大数量。如果将该值设置得较大,将增加 SGA 的大小,并可增加例程启动过程中分配的回退段的数量。默认值大于 SESSIONS,以实现递归事务处理。 一个数值。 派生 (1.1 * SESSIONS)

transactions_per_rollback_segment 事务处理和回滚段 指定每个回退段允许的并行事务处理的数量。启动时获取的回退段的最小数量为 TRANSACTIONS 除以该参数值的结果。如果在参数 ROLLBACK_SEGMENTS 中命名了其它回退段,就可以获取这些回退段。 1 - 根据操作系统而定。

use_indirect_data_buffers 内存 控制可支持超过 4GB 物理内存的 32 位平台对扩展缓冲区高速缓存机制的使用情况。

user_dump_dest 诊断和统计 为服务器将以一个用户进程身份在其中写入调试跟踪文件的目录指定路径名。例如,该目录可这样设置: NT 操作系统上的 C:/ORACLE/UTRC;UNIX 操作系统上的 /oracle/utrc;或 VMS 操作系统上的DISK$UR3:[ORACLE.UTRC]。 一个有效的本地路径名、目录或磁盘。

utl_file_dir PL/SQL 允许数据库管理员指定 PL/SQL 文件 I/O 许可的目录。使用多个 UTL_FILE_DIR 参数即可指定多个目录。请注意所有用户均可读取或写入 UTL_FILE_DIR 参数中指定的所有文件。 任何有效的目录路径。
 

补充一些:
  
1. session当前参数还可以在v$parameter2中看到,它比v$parameter好的地方是,它区分了多值参数。
  
2. 当前参数分有三种,一种是系统当前参数,可以从v$system_parameter2看到,利用alter system set可以更改。一种是当前session参数,可以从v$parameter2中检查。默认继承自系统参数,可以利用alter session更改。一种是当前sp parameter,可以检查v$spparameter. 
  
3. hiden parameter list:
  
Last Updated on 01-JUL-97
  
    select ksppinm from x$ksppi
                 where substr(ksppinm,1,1) = '_';
  
The following is a list of undocumented parameters.
1. _db_block_cache_protect
     On VMS, the DB_BLOCK_CACHE_PROTECT mechanism has been made much
     faster.  During normal use, having it turned on shouldn't be
     noticeable (the degradation is less than 1%).  Developers who
     link non-share will need PSWAPM privilege to use this feature.
     When DB_BLOCK_CACHE_PROTECT is turned on, developers may either
     use the VMS mailboxes with the M (MEMORY_LOG) command
     or they may just examine the ring buffer in the PGA (index
     SMPREI_, array SMPREB_) to determine what buffer requests have
     been made recently.
     DB_BLOCK_CACHE_PROTECT will prevent certain corruption from getting to
     disk; although, it may crash the foreground of the instance.  It will help
     catch stray writes in the cache. When you try to write past the buffer
     size in the sga, it will fail first with a stack violation.
     It seems that the db_block_cache_protect has a significant performance
     overhead.  Preliminary testing shows that it has considerable overhead
     (a single update took twice as long with the parameter set to TRUE).
2. _db_block_compute_checksums
     There is another new init.ora parameter, DB_BLOCK_COMPUTE_CHECKSUMS,that
     controls whether a checksum is put into every block before the block is
     written to disk.  The default is FALSE.  A block read validates an
     exiting checksum whether or not this option is enabled.  A block is marked
     as corrupt if a checksum fails.
     It helps determine corruption due to hardware problems.  The incarnation
     number and the sequence number are added to the end of the block to help
     catch corruption.
     If the problem (corruption) is in the middle of the block
     this test will not detect it. To detect this problem a checksum may be
     generated in the block header before every write and verified on every read.
3. _db_block_hash_buckets= "Number of database block hash buckets"
     The number of hash buckets is
     a) by default to be set to a prime number;
     b) coerced to a prime if there is an init.ora parameter setting.
     The value, if not a prime number > 2, is rounded up to the next highest
     prime.
     I would tend not to change it unless there is latch contention on the
hash
     chains. raising it to equal the number of buffers would clearly remove
any
     contention (basically, this is just saying that each buffer lives on its
own
     hash chain).  Having it set too small would mean that we might have to
scan
     over lots of buffers to find the one we want. I think the default is to
     make it 1/4 of the total number of buffers
4. _db_block_multiple_hashchain_latches
     "Use one latch per hash chain"
5. _db_handles
     "System-wide simultaneous buffer operations"
6. _db_handles_cached
     "Buffer handles cached each process"
7. _wait_for_sync
     " Wait for sync on commit "
     Wait_for_sync is an oracle generic parameter which, when set to
     false, will allow the system to complete commits without waiting
     for the redo-log buffer flushes to complete.
8. _db_block_max_scan_cnt="Maximum number of buffers to inspect when
     looking for free buffer"
     DB_BLOCK_MAX_SCAN_CNT is an init.ora parameter which specifies
     the number of unavailable buffers a process should scan before signaling
     DBWR to write dirty buffers from the buffer cache to disk.
9. _db_writer_scan_depth
     "Number of LRU buffers for dbwr to scan when looking for dirty buffers"
10a. _db_writer_scan_depth_increment
     "Add to dbwr scan depth when dbwr is behind"
10b. _db_writer_scan_depth_decrement
     Subtract from dbwr scan depth when dbwr is working too hard
11. _db_large_dirty_queue
     "Number of buffers which force dirty queue to be written
12. _db_block_write_batch
     Number of blocks to group in each DB Writer IO
     specifies the no of blocks to be written to the disk in one write
operation.
     Should be increased till write wait time and write complete waits starts
to
     increase.
     DBWR Free Low is the number of times DBWR is invoked because a user
     process found at least DB_BLOCK_WRITE_BATCH/2 buffers on the dirty list.
     This parameter specifies the number of blocks which should be written to
     disk at one time.
     This parameter should only be increased until the statistics
     Write Complete Waits and Write Wait Time show growth.  Write Complete
     Waits is the number of times a process waited for DBWR
     to write a current block before making a change to a buffer.
13. _db_block_cache_clone
     "Always clone data blocks on get (for debugging)"
     This parameter setting has a significantly adverse affect on performance
     and we were told to run without it.
14. _controlfile_enqueue_timeout
     /* use parameter value (default is 900) */
     /* System Parameter: control file enqueue timeout in seconds */
15. _db_no_mount_lock
     add hidden parameter to not acquire mount lock
     If hidden int.ora parameter _db_no_mount_lock is set to TRUE
     then no mount locks are acquired when the the database is mounted
     exlusive. This allows two databases with the same name to be
     simultaneously mounted. Note that this circumvents the mechanism
     to prevent two simultaneous startups of the same database, and is
     thus a dangerous parameter to set. This only affects ports that
     ar compiled with the SYS_DFS option enabled (i.e. VMS only).
     It does not get a mount lock on the database name during startup.
     This allows 2 instances with the same name to run on one machine
  
16. _log_checkpoint_recovery_check
     Check redo log after checkpoints.
     Add debugging code to check the red log after a checkpoint.  This
     code is intended to help find a problm that is generating ora-600 [3020]
     during recovery.  This code is enabed with a new init.ora parameter:
     _log_checkpoint_recovery_check=XXX, where XXX is the number of redo
     blocks to check.   This is called in LGWR after every checkpoint. If the
     init.ora parameter "_log_checkpoint_recovery_check" is zero (default)
     it does nothing. If it is a positive value then that many blocks of
     redo are scanned to see that the data file blocks on disk could be
     recovered if there was an immediate crash. This code was introduced
     to catch an elusive bug that results in OERI(3020) errors
     occasionally during crash recovery.
17. _switch_on_stuck_recovery
     REDO GENERATION HAS BEEN CHANGED SO THAT WE SHOULD NEVER ENCOUNTER
     A CHANGE IN THE FUTURE OF THE BLOCK. APPLYING REDO IN SCN ORDER NOW
     INSURES THAT CHANGES ARE APPLIED IN INCARNATION/SEQUENCE # ORDER. THERE
     IS A LOT OF CODE IN RECOVERY THAT IS NO LONGER NEEDED BECAUSE OF THIS
     CHANGE. THIS INCLUDES THE CODE TO BACKUP AND RESCAN AFTER REPAIRING
     CORRUPTIONS. THE CODE IS BEING LEFT IN TO AVOID LARGE CHANGES JUST
BEFORE
     V7.0 PRODUCTION RELEASE. THE FOLLOWING WILL INSURE THE UNNEEDED CODE
     IS NEVER EXECUTED UNLESS REDO WAS GENERATED BY A BETA RELEASE OR THE
SECRET
     INIT.ORA PARAMETER _SWITCH_ON_STUCK_RECOVERY IS SET TO TRUE.
     Check redo Log contents after checkpoint. This is called in LGWR after
     every checkpoint. If this parameter is zero (default) it does nothing.
     If it is a positive value then that many blocks of redo are scanned to
see
     that the data file blocks on disk could be recovered if there was an
     immediate crash. This code was introduced to catch an elusive bug that
     results in OERI(3020) errors occasionally during crash recovery.
     Checkpoint recovery check: this is the number of redo blocks that
     kcracl will verify after every LGWR generated checkpoint. Defaults to
zero
     for no checking.   When opening the named offline log for redo
application
     and to recalculate future change thread switching this parameter is
used.
18. _log_io_size=redo log IO chunk size (blocks/write)
     /* System Parameter: IO chunk size */
     1. that the value is o/s dependent.
     2. if left at 0, the value will be automatically determined for each log
        file.
19. _log_buffers_debug
     /* debugging: fill redo buffers with [well known] junk after writes */
     "debug redo buffers (slows things down)"
20. _log_debug_multi_instance
     /* debugging : pretend multi-instance */
     "debug redo multi instance code"
21. _log_entry_prebuild_threshold
     /* redo entry pre-build threshold */
     /* this is a bad idea for a uniprocessor , and is only helpful for a
     multiprocessor when there is latch contention */
     LOG_ENTRY_PREBUILD_THRESHOLD determines the maximum size of a redo entry
     to prebuild before the copy to the log buffer.  Increasing this
parameter
     reduces the time that the redo copy latch is held.  This parameter
should
     not be modified if it is a single processor environment or there will be
     memory contention.
22. _disable_logging
     If this is true, redo records will not be generated -- no recovery is
possible
     if the instance crashes.  It is mainly used for getting good
benchmarking
     results.
     Default is false
23. _log_blocks_during_backup
     TRUE value implies before any change is made to a db_block in the buffer
     cache, a *complete image* of the block is copied to the redo
     redo log.  (This explains why excessive redo would be generated for
     datafiles excessive redo would be generated for datafiles in hot backup
     mode.) There is a new init.ora parameter, LOG_BLOCKS_DURING_BACKUP,
     that controls whether block images ar written to the redo log during
     hot backup.
     Default is TRUE for VM, but port specific with the default defined in
     sparams.h.  This may beset to FALSE if the Oracle block size equals
     the O/S physical sector sie or if it is otherwise ensured that hot
backup
     reads consistent versios of blocks even if those blocks are being
written
     at the time.  Put anther way, this may be set to FALSE on machines that
     can guarantee the aomicity of a single block I/O request.
     Default is true
     Problem is due to split blocks.
24. _allow_resetlogs_corruption
     Added new secret init.ora parameter to override error 1138.
     When set to TRUE the
     resetlogs option will be allowed even if there are hot backups that need
     mor redo applied. Unless you are certain that absolutely all redo,
includig
     the online logs, has been applied, then a full export and import mst be
     done to insure the database is internally consistant.
     from 6.0 code
     /* if we crashed/shutdown during a hot backup it is over now and we
     ** are no longer logging blocks. If they did a manual recovery
     ** followed by a NORESETLOGS then the hot backup recovery flag can
     ** be cleared. The hot backup recovery flag may alsoneed clearing
     ** if RESETLOGS was allowed because of _allow_resetlogs_corruption
     ** parameter. */
     from the c file kcv.c 7.0 code
    /* if the resetlogs option is in effect we save the highest checkpoint
    ** scn that we see, to be used as the incomplete recovery scn. It only
    ** gets used if a resetlogs is done without any recovery. Only backup
    ** control file recovery will be allowed and it always rewrites the
    ** incomplete recovery scn. We use the highest scn we can find so that
    ** new resetlogs scn will be greater than anything in the database.
    ** This may not be strictly true if the user sets
    ** _allow_resetlogs_corruption, and there is a fuzzy file. Note that
    ** since resetlogs does not look at the log file headers, datafile
    ** checkpoints are all we have to look at.
  
25. _reuse_index_loop
     "number of blocks being examine for index block reuse"
     /* secret system parameter to control how agressive we should walk the
free
     ** list when attempting to reuse block - default is 5.
     ** Set to 0 for fast index operation which is susceptible to growth,
     ** Set to > 5 for slower index op but more agressive in reusing blocks
*/
         Controls the amount of work done when looking for a block to reusse
for     n index entry.  The value determines the number of blocks to
         check on the freelist when looking for a reusable block.
26. _mts_load_constants
     /* hidden init.ora to set server load balancing constants */
     /* fill in load balancing parameters (from _mts_load_constants) */
     * PID Controller - calculate control on number of servers using:
     * control = Kp * err + Kd * delta(err) + Ki * sum(err)
     * where Kp = proportional, Kd = derivative constant, Ki  = integral
constant
     * Kp,Kd,Ki can be changed with the hidden parameter _mts_load_constants
     * in order to tune the system as desired.
     This values should only be changed after gathering enough information to
     determine that the mts is not optimal.
27. _mts_fastpath
     /* hidden init.ora to enable dispatcher fastpath */
     default is false
      * Return TRUE if the system should implement the dispatcher network
      * fastpath.  When enabled, the dispatcher fastpath causes network i/o
      * to be buffered and only flushed when absolutely necessary.  When not
      * enabled, flushes will occur for every dirty virtual circuit buffer.
  
*** The following parameters are from the Kernel SQL Library manager
28. _kgl_multi_instance_lock
     Only for debugging.  all the  _kgl_multi_instance_xxxx
     "whether KGL to support multi-instance locks"
     Default is 0
29. _kgl_multi_instance_pin
     "whether KGL to support multi-instance pins"
     Default is 0.
30. _kgl_multi_instance_invalidation
     "whether KGL to support multi-instance invalidations"
     Default is 0.
31. _row_cache_instance_locks
     Kernel SQL Row cache management component, number of row cache instance
     locks
     default is 100
32. _row_cache_buffer_size
     "size of row cache circular buffer"
     default is 200
33. _messages
    " message queue resources - dependent on # processes "
    The asynchronous message mechanism allows  processes  to  send
    messages  to each other.   A process  may send a  message to a
    specified other  process (always without waiting for a reply),
    may wait for  a message to arrive on its queue, and may obtain
    the next message.   Messages sent  to  detached processes  are
    reliably delivered.  Messages sent to foreground processes are
    reliably  delivered  as  long as  the  process is active.  The
    mechanism also permits sending of a simple "reply", which is a
    one-byte message without  queuing.  It should normally be used
    to  reply to  asynchronous  messages,  and  this  is  a  safer
    technique  than regular messages for  responding to foreground
    processes.   This mechanism is not used in single process mode.
34. _cpu_count
     ksb - Kernel Service Background processes
     "number of cpu's for this instance"
     CPU_COUNT has to be set on some platforms in order for Oracle to take
     advantage of multi-processor system, on others it does not have effect
on
     performance since load balancing between processors is handled by the
o/s.
35. _debug_sga
     /* Debug SGA,  don't make the SGA a global section so we can set
watchpoints
36. _enqueue_locks
     ksq1 - Kernal Service enQueues (1)
     Definitions for enqueues client objects, "locks for managed enqueues"
37. _enqueue_hash
     "enqueue hash table length"
38. _enqueue_debug_multi_instance
     "debug enqueue multi instance"
      KST is a trace facility used for "realtime" tracing of events.  Below
      are defined KST macros that will enable the tracing of such things as
      latch operations, memory assignments, etc.  Tracing is done to a per
      process circular buffer stored in the SGA.  Access to these buffers
      is via fixed tables.  Tracing is enabled for classes of events,
      particular events, and ranges of events.
      The tracing state may be dynamically changed with the following syntax
      "ALTER TRACING"
         - "ON"
           - Processes begin logging events using the current enabled events
       - "OFF"
           - Processes stop tracing
         - "ENABLE" <event_string>
           - Add in the events indicated in <event_string> to those which are
             being traced.
         - "DISABLE" <event_string>
           - No longer trace events specified by <event_string>
39._trace_buffers_per_process
     Note that by default, tracing is NOT enabled.  In order to enable
tracing
     at instance startup time, add _trace_buffers_per_process = 1
40. _trace_block_size
     _trace_xxxxx (xxxxx = buffers_per_process, block_size, archive_start,
                  flushing, enabled, get_time_every, archive_dest etc.)
     These parameters are only there for debugging purposes. Customers
     or support will never have to use them.
41. _trace_archive_start
     "start trace process on SGA initialization"
42. _trace_flushing
     "TRWR should try to keep tracing buffers clean"
43. _trace_enabled
     By default, tracing is NOT enabled.  In order to enable tracing,
     _trace_enabled = true
44. _trace_events
     If you wish to enable tracing of waits at instance startup time, you can  either
     add the line '_trace_events = "WAT,ALL"' to init.ora or execute
     'alter tracing enable "WAT,ALL"' in a sqldba session.
     If you wish to limit tracing to specific events, you can use the
     the following syntax:
     alter tracing enable "WAT,<id>,<id>..."
     where "id" is either a specific event number, or an event range
     (event number 1 - event number 2).
45. _trace_archive_dest
     "trace archival destination"
46. _trace_file_size
     "trace file size"
     default is 10000 blocks
47. _trace_write_batch_size
     "trace write batch size"
     default is 32
48. _rollback_segment_initial
     "starting undo segment number"
     Default is 1. DO NOT SPECIFY 0 AS THAT HAPPENS TO BE THE SYSTEM ROLLBACK
49. _rollback_segment_count
     "number of undo segments"
     default is 0
50. _offline_rollback_segments
    If a rollback segment is not accessible because the file it is in
    is offline or corrupted, one can force the system to come up without
    the rollback segment by specifying the rollback segment in init.ora
    paramater '_offline_rollback_segments'. The system will come up by
    estimating the current system commit time since it cannot access
    transaction tble in the rollback segment. The system commit number
    is a conservative guess based on current time, the database creation
    time and the assumed transaction  rate of 8000 tps. ONE MUST MAKE
    SURE THAT THE SYSTEM TIME IS SET CORRECTLY WHEN FORCING THE SYSTEM UP
    USING '_OFFLINE_ROLLBACK_SEGENTS'. A trace is written with information
    about the estimated system commit number.
51. _corrupted_rollback_segments
     Mark a rollback segment as corrupted.
52. _label_tag_cache_size
     /* hidden size of the SGA label tag comparison cache (bitcache) */
      "number of tags in the label tag comparison cache"
     default is 200
53. _trace_get_time_every
     "Number of trace sequence numbers per call to slgcs()"
     default is 200
54. _vms_bg_priority
     "VMS process priority to give to background processes"
     default is 4
55. _sort_use_os_files_as_temporaries
      Use O/S files rather than temp segments for sorting.
56. _log_checkpoints_to_alert
     Whether checkpoint messages should be written to alert.log or not.
Turned
     off in benchmarks.
57. _large_memory_system  :
     Used in internal benchmarks. Doesn't concern us.
     "Configure system to use memory and save cpu cycles, paging, etc
     default is false
58. _wakeup_timeout
    This is WMONs sleeptime between checks of it's queue of processes to
wake.
59. _latch_wait_posting
    enable posting of processes that may be waiting for a latch after a
process
    frees the same latch (set this parameter to a value greater than one
    this parameter to a value greater than one for it to take effect).
60. _sql_connect_capability_code
    allows database links from a pre-7.0.15 release to work with release 7.1.
    It is necessary to set this parameter for database links from a V6 ?

原创粉丝点击