Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数。 Oracle系统中的参数,根据系统使用情况可以简单分为两大类,普通参数,也就是Oracle系统正常使用的一些参数,另外一类就是特殊参数,包括三种,过时参数、强调参数和隐藏参数。随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数。如何查询当 一、过时参数和强调参数 下面的SQL脚本列出了当前系统中所有的过时参数名称以及它们是否在当前系统中设定。 上面谈到,Oracle系统并没有将V$OBSOLETE_PARAMETER视图中的所有参数均丢弃,而是将其中的一部分转换为强调参数,下面就来讨论如何查看这些参数是已被丢弃还是被转换。这可以通过系统视图X$KSPPO来查看,该视图中包含一个名为KSPPOFLAG的字段,用来指明该参数在当前版本中是被丢弃还是被强调,如果该值为1,则表示该参数已被丢弃,该值为2,则表明该参数现为强调参数。 二、隐藏参数 三、系统当前参数 SET pagesize 9000 参数 类别 说明 值范围 默认值 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 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 cursor_space_for_time 游标和库高速缓存 一个游标引用共享 SQL 区时,确定将 SQL 区保留在共享池中还是从中按过期作废处理。 TRUE | FALSE FALSE (过期作废) 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 enqueue_resources 锁 入队可使并行进程能够共享资源。例如,Oracle 允许一个进程以共享模式锁定一个表,以共享更新模式锁定另一个表。 10 - 65535 (7.3) 或 10 - 无限制 (8.1)。 派生 (该值大于 DML_LOCKS + 20 即已足够) 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 的值 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_sga 内存 用于将整个 SGA 锁定在物理内存中。在不支持这种功能的平台上,该值将被忽略。 TRUE | FALSE FALSE log_archive_dest 归档 只适用于数据库正以“归档日志”模式运行的情况,或正在从已归档的重做日志恢复数据库的情况。在 8.1 企业版中,应使用 LOG_ARCHIVE_DEST_n。 一个 NULL 字符串,或者任何有效的路径或设备名,原始分区除外。 NULL log_archive_dest_1 归档 五个本地 (指定LOCATION) 或远程 (指定 SERVICE) 目标位置中的第一个归档重做日志文件可以在这些目标位置上被复制。该参数只在企业版 oracle8i数据库或更高版本的数据库中有效。 ONAL][REOPEN=integer] NULL log_archive_format 归档 LOG_ARCHIVE_FORMAT 只在数据库处于“归档日志”模式的情况下有用。文本字符串与变量 %s (日志序列号) 和 %t (线程号) 结合使用,用于指定各归档重做日志文件的唯一文件名。该字符串被附加到 LOG_ARCHIVE_DEST 参数。 任何有效的文件名。 根据操作系统而定 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_file_name_convert 备用数据库将主数据库上的一个日志文件的文件名转换为备用数据库上对等的路径和文件名。将一个日志文件添加到一个主数据库后,必须将一个相应的文件添加到备用数据库中。 任何格式为“主体日志文件的路径/文件名”和“备用日志文件的路径/文件名”的有效的路径/文件名 NULL max_commit_propagation_delay OPS 一个并行服务器参数,用于指定一个例程的 SGA 中所包含的系统更改编号 (SCN) 被 LGWR 刷新之前,允许保留的最大时间量 (以 1/100 秒为单位)。这是一个极少需要改动的性能参数,因为 SCN 可能不会以时间为依据进行刷新。 0 -90000 700 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_service MTS 一个多线程服务器参数,用于指定已在调度程序上注册,用来建立数据库连接的一个唯一的服务名。如果要在没有调度程序的情况下仍能连接到数据库,请将该值设置为与例程名相同。此参数在 8.1.3 版中已废弃。 根据操作系统而定。 0 mts_sessions MTS 指定允许的多线程服务器体系结构用户会话的总数。 设置该参数可以保留一些用户会话用于专用服务器。 0 到 SESSIONS - 5 派生: 小于 MTS_CIRCUITS 和 SESSIONS – 5 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_dual_currency NLS 用于覆盖 NLS_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$”) 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_min_percent 并行查询 指定并行执行要求的线程的最小百分比。设置该参数,可以确保并行执行在没有可用的恰当查询从属时,会显示一个错误消息,并且该查询会因此而不予执行。 0 -100 0,表示不使用该参数。 parallel_min_servers 并行查询 指定为并行执行启动例程后,Oracle 创建的查询服务器进程的最小数量。 0 - PARALLEL_MAX_SERVERS。 0 parallel_server_instances OPS 当前已配置的例程的数量。它用于确定 SGA 结构的大小,该结构由已配置的例程数量来确定。正确设置该参数将改善 SGA 的内存使用情况。 有几个参数是用该数量计算得到的。 任何非零值。 1 parallel_threads_per_cpu 并行查询 说明一个 CPU 在并行执行过程中可处理的进程或线程的数量,并优化并行自适应算法和负载均衡算法。如果计算机在执行一个典型查询时有超负荷的迹象,应减小该数值任何非零 值。 根据操作系统而定 (通常为 2) partition_view_enabled 优化程序 如果将 PARTITION_VIEW_ENABLED 设置为 TRUE,该优化程序将剪除 (或跳过) 分区视图中不必要的表访问。该参数还能更改基于成本的优化程序从基础表统计信息计算分区视图统计信息的方式。 TRUE | FALSE FALSE pre_page_sga 内存 一个根据平台而定的参数,如果该参数为 TRUE,将把所有 SGA 页装载到内存中,以便使该例程迅速达到最佳性能状态。这将增加例程启动和用户登录的时间,但在内存充足的系统上能减少缺页故障的出现。 TRUE | FALSE FALSE processes 进程和会话 指定可同时连接到一个 Oracle 服务器上的操作系统用户进程的最大数量。该值应允许执行所有后台进程,如: 作业队列 (SNP) 进程和并行执行 (Pnnn) 进程。 6 到根据操作系统而定的一个值。 由 PARALLEL_MAX_SERVERS 确定 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_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 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 sql_trace 诊断和统计 禁用或启用 SQL 跟踪设备。如果设置为 TRUE,将收集优化信息,这些信息对改善性能很有用。由于使用 SQL 跟踪设备将引发系统开销,只应在需要优化信息的情况下使用 TRUE。 TRUE | FALSE FALSE 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 text_enable 其他 可启用或禁用文本搜索的参数。 TRUE | FALSE FALSE 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 参数中指定的所有文件。 任何有效的目录路径。 |