session_max_open_files:
说明: 指定可在任一给定会话中打开的 BFILE 的最大数量一旦达到这个数量 此后将无法在该会话中打开更多文件该参数还取决于操作系统参数 MAX_OPEN_FILES
值范围: 至少为 ( OS 级上的 MAX_OPEN_FILES)
默认值:
parallel_execution_message_size:
说明: 指定并行执行 (并行查询 PDML 并行恢复和复制) 消息的大小如果值大于 或 就需要更大的共享池如果 PARALLEL_AUTOMATIC_TUNING = TRUE 将在大存储池之外指定消息缓沖区
值范围: 无穷大
默认值: 如果 PARALLEL_AUTOMATIC_TUNING 为 FALSE 通常值为 ; 如果 PARALLEL_AUTOMATIC_TUNING 为 TRUE 则值为 (根据操作系统而定)
Paralle_min_percent:
说明: 指定并行执行要求的线程的最小百分比设置该参数 可以确保并行执行在没有可用的恰当查询从属进程时 会显示一个错误消息 并且该查询会因此而不予执行
值范围:
默认值: 表示不使用该参数
Parallel_automatic_tuning:
说明: 如果设置为 TRUE Oracle 将为控制并行执行的参数确定默认值除了设置该参数外 你还必须为系统中的表设置并行性
值范围: TRUE | FALSE
默认值: FALSE
parallel_threads_per_cpu:
说明: 说明一个 CPU 在并行执行过程中可处理的进程或线程的数量 并优化并行自适应算法和负载均衡算法如果计算机在执行一个典型查询时有超负荷的迹象 应减小该数值
值范围: 任何非零值
默认值: 根据操作系统而定 (通常为 )
parallel_broadcast_enabled:
说明 : 通过使用一个散列联接或合并联接 可以在将多个大结果集联接到一个小结果集 (以字节而不是行为单位来衡量大小) 时改善性能如果该值设置为 TRUE 优化程序可以将小结果集内的每个行都传播到大型集内的每个集群数据库处理行中
值范围: TRUE | FALSE
默认值 : FALSE
parallel_adaptive_multi_user:
说明: 启用或禁用一个自适应算法 旨在提高使用并行执行方式的多用户环境的性能通过按系统负荷自动降低请求的并行度 在启动查询时实现此功能当 PARALLEL_AUTOMATIC_TUNING = TRUE 时 其效果最佳
值范围: TRUE | FALSE
默认值: 如果 PARALLEL_AUTOMATIC_TUNING = TRUE 则该值为 TRUE; 否则为 FALSE
parallel_max_servers:
说明: 指定一个例程的并行执行服务器或并行恢复进程的最大数量如果需要 例程启动时分配的查询服务器的数量将增加到该数量
值范围:
默认值: 由 CPU_COUNT PARALLEL_AUTOMATIC_TUNING 和 PARALLEL_ADAPTIVE_MULTI_USER 确定
parallel_min_servers
说明: 指定为并行执行启动例程后 Oracle 创建的查询服务器进程的最小数量
值范围: PARALLEL_MAX_SERVERS
默认值:
log_archive_dest_state_:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_) 的可用性状态如果启用 日志目标将被归档如果延迟 该目标将被排除在归档操作之外直至重新启用
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_) 的可用性状态如果启用 日志目标将被归档如果延迟 该目标将被排除在归档操作之外直至重新启用
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_:
说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_) 的可用性状态如果启用 日志目标将被归档如果延迟 该目标将被排除在归档操作之外直至重新启用
值范围: ENABLE | DEFER
默认值: ENABLE
log_archive_dest_state_:
说明: 标识特定日志归档目标的最近的用户定义状态
值范围: ENABLE如果目标属性有效 则启用归档日志目标; DEFER即使目标属性有效 也要延迟处理归档日志目标; 或者是 ALTERNATE延迟处理归档日志目标 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)
log_archive_dest_state_:
说明: 标识特定日志归档目标的最近的用户定义状态
值范围: ENABLE如果目标属性有效 则启用归档日志目标; DEFER即使目标属性有效 也要延迟处理归档日志目标; 或者是 ALTERNATE延迟处理归档日志目标 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)
log_archive_dest_state_:
说明: 标识特定日志归档目标的最近的用户定义状态
值范围: ENABLE如果目标属性有效 则启用归档日志目标; DEFER即使目标属性有效 也要延迟处理归档日志目标; 或者是 ALTERNATE延迟处理归档日志目标 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)
并行查询设置
alter table emp parallel (degree );
select degree from user_tables where table_name = EMP;
select count(*) from emp;
alter table emp noparallel;
SELECT /*+ PARALLEL(emp) */ COUNT(*)
FROM emp;
深度了解
一并行执行可以提高以下操作的执行速度
大表扫描
创建大的索引
基于分区的索引扫描
大量的插入修改删除操作
拷贝操作
二并行执行的条件
SMPCLUSTERSMPP系统
足够的I/O带宽
足够的内存来支持消耗内存的进程(排序哈西算法I/O缓沖)
三何时使用并行执行
在DSS系统中并行执行能够发挥最好的效果OLTP系统也能从并行执行中受益在批处理的情况下效果更为明显
银行电信行业的月终年终结算
基于许多大表的即时查询
数据库的备份恢复
四与并行执行有关的参数
PARALLEL_AUTOMATIC_TUNING自动并行执行调整缺省值为FALSE
当该参数置为TRUE时ORACLE 服务器自动调整控制并行执行它将自动调节影响以下参数PARALLEL_ADAPTIVE_MULTI_USERPROCESSESSESSIONSPARALLEL_MAX_SERVERS
LARGE_POOL_SIZEPARALLEL_EXECUTION_MESSAGE_SIZE
PARALLEL_THREADS_PER_CPU
PARALLEL_MAX_SERVERS
SHARED_POOL_SIZE
TRANSACTIONS
PARALLEL_ADAPTIVE_MULTI_USER
PROCESSES
SESSIONS
TRANSACTIONS
LARGE_POOL_SIZE
五并行执行调整事例
小型数据系统
系统硬件配置
CPUS =
Main Memory = MB
Disk = GB
Users =
DBA 做如下设置:
PARALLEL_AUTOMATIC_TUNING = TRUE
SHARED_POOL_SIZE = MB
TRANSACTIONS =系统缺省值
Oracle自动调整以下参数的值
PARALLEL_MAX_SERVERS =
PARALLEL_ADAPTIVE_MULTI_USER = TRUE
PARALLEL_THREADS_PER_CPU =
PROCESSES =
SESSIONS =
TRANSACTIONS =
LARGE_POOL_SIZE = MB
Parameter Settings for DOP and the Adaptive MultiUser Feature
The DBA parallelizes every table having more than rows using a command
similar to the following:
ALTER TABLE employee PARALLEL;
In this example because PARALLEL_THREADS_PER_CPU is and the number of
CPUs is the DOP is Because PARALLEL_ADAPTIVE_MULTI_USER is set to
TRUE Oracle may reduce this DOP in response to the system load that exists at the
time of the querys initiation
中型数据系统
系统硬件配置
CPUS =
Main Memory = GB
Disk = GB
Users =
The DBA makes the following settings:
n PARALLEL_AUTOMATIC_TUNING = TRUE
n PARALLEL_ADAPTIVE_MULTI_USER = FALSE
n PARALLEL_THREADS_PER_CPU =
n SHARED_POOL_SIZE = MB
The DBA also sets other parameters unrelated to parallelism As a result Oracle
responds by automatically adjusting the following parameter settings:
n PROCESSES =
n SESSIONS =
n TRANSACTIONS =
n PARALLEL_MAX_SERVERS =
n LARGE_POOL_SIZE = MB
Parameter Settings for DOP and the Adaptive MultiUser Feature
The DBA parallelizes some tables in the data warehouse while creating other views
for special users:
ALTER TABLE sales PARALLEL;
CREATE VIEW invoice_parallel AS SELECT /*+ PARALLEL(P) */ * FROM invoices P;
The DBA allows the system to use the PARALLEL_THREADS_PER_CPU setting of
with CPUs The DOP for the tables is This means a simple query uses
processes while more complex queries use
大型数据中心
系统硬件配置
Nodes CPU per node
Uses MPP Architecture (Massively Parallel Processing)
Main Memory = MB per node
Disk = GB
Users =
The DBA uses manual parallel tuning by setting the following:
n PARALLEL_AUTOMATIC_TUNING = FALSE
n PARALLEL_THREADS_PER_CPU =
n PARALLEL_MAX_SERVERS =
n SHARED_POOL_SIZE = MB
n PARALLEL_SERVER_INSTANCES =
n PARALLEL_SERVER = TRUE
n PROCESSES =
n SESSIONS =
n TRANSACTIONS =
The DBA also sets other parameters unrelated to parallel execution Because
PARALLEL_AUTOMATIC_TUNING is set to FALSE Oracle allocates parallel
execution buffers from the SHARED_POOL
Parameter Settings for DOP and the Adaptive MultiUser Feature
The DBA parallelizes tables in the data warehouse by explicitly setting the DOP
using syntax similar to the following:
ALTER TABLE department PARALLEL ;
ALTER TABLE department PARALLEL ;
CREATE VIEW current_sales AS SELECT /*+ PARALLEL(P ) */ * FROM sales P;
In this example Oracle does not make calculations for parallel execution because
the DBA has manually set all parallel execution parameters
超大规模数据中心
系统硬件配置
CPUS =
Main Memory GB
Disk = TB
Users =
The DBA makes the following settings:
n PARALLEL_AUTOMATIC_TUNING = TRUE
n PARALLEL_MAX_SERVERS =
n PARALLEL_MIN_SERVER =
n LARGE_POOL_SIZE = MB
n SHARED_POOL_SIZE = MB
n PROCESSES =
n SESSIONS =
n TRANSACTIONS =
Parameter Settings for DOP and the Adaptive MultiUser Feature
The DBA has carefully evaluated which users and tables require parallelism and
has set the values according to their requirements The DBA has taken all steps
mentioned in the earlier examples but in addition the DBA also uses the following
command during peak user hours to enable the adaptive DOP algorithms:
ALTER SYSTEM SET PARALLEL_ADAPTIVE_MULTI_USER = TRUE;
During off hours when batch processing is about to begin the DBA disables
adaptive processing by issuing the command:
ALTER SYSTEM SET PARALLEL_ADAPTIVE_MULTI_USER = FALSE;