知识大全 ORACLE数据库的并行执行

Posted

篇首语:幼苗需要土壤的滋养,孩子需要教师的爱护。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE数据库的并行执行相关的知识,希望对你有一定的参考价值。

ORACLE数据库的并行执行  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  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;

   深度了解

  一 并行执行可以提高以下操作的执行速度

  大表扫描

  创建大的索引

  基于分区的索引扫描

  大量的插入 修改 删除操作

  拷贝操作

  二 并行执行的条件

  SMP CLUSTERS MPP系统

  足够的I/O带宽

  足够的内存来支持消耗内存的进程(排序 哈西算法 I/O缓冲)

  三 何时使用并行执行

  在DSS系统中 并行执行能够发挥最好的效果 OLTP系统也能从并行执行中受益 在批处理的情况下效果更为明显

  银行电信行业的月终年终结算

  基于许多大表的即时查询

  数据库的备份恢复

  四 与并行执行有关的参数

   PARALLEL_AUTOMATIC_TUNING 自动并行执行调整 缺省值为FALSE

  当该参数置为TRUE时 ORACLE 服务器自动调整控制并行执行 它将自动调节影响以下参数 PARALLEL_ADAPTIVE_MULTI_USER PROCESSES SESSIONS PARALLEL_MAX_SERVERS

   LARGE_POOL_SIZE PARALLEL_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 Multi User Feature

  The DBA parallelizes every table having more than rows using a mand

  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 query s 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 Multi User 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 plex 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 Multi User 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 Multi User 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

  mand 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 mand:

cha138/Article/program/Oracle/201311/18583

相关参考

知识大全 Oracle中并行处理技术原理深入分析1

Oracle中并行处理技术原理深入分析1  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  并行处理

知识大全 管理好密码文件对执行数据库管理的重要性[1]

  在Oracle系统中用户使用特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle有两种身份验证方法  使用与操作系统集成的身份验证  使用Oracle数据库的密码文件进行

知识大全 oracle数据库如何重建索引

  当索引的碎片过多时会影响执行查询的速度从而影响到我们的工作效率这时候采取的最有利的措施莫过于重建索引了本文主要介绍了Oracle数据库中检查索引碎片并重建索引的过程接下来我们就开始介绍这一过程  

知识大全 oracle的多表插入

  在业务处理过程中经常会碰到将业务数据按照条件分别插入不同的数据表的问题按照传统的处理方式需要分条件执行多次检索后分别插入不同的表单这样因为执行了重复的检索造成cpu和内存的浪费从oraclei开始

知识大全 oracle数据库备份与恢复apieceofcake(4)

  oracle数据库日志备份(windows平台)  本片是接上次的数据库在线备份进行数据库全备份后需要备份归档的日志文件  建立数据库备份的脚本  在上面建立的目录下建立如下的两个脚本  建立执行

知识大全 解析数据库的事务

  我们知道数据库的事务是一种单元操作要么操作全部成功要么操作全部失败在Oracle数据库中一个事务是从执行第一个数据管理语言(DML)语句开始直到执行一个MIT语句提交保存这个事务或者执行一个ROL

知识大全 ADO.NET的并行控制与数据存取冲突侦测

ADO.NET的并行控制与数据存取冲突侦测  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 .NET 4并行编程之共享数据问题和解决概述

.NET4并行编程之共享数据问题和解决概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在开始

知识大全 C#如何执行存储过程

C#如何执行存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以Oracle为例其它数据库

知识大全 oracle数据库下统计专营店的男女数量的语句

Web_THBC为表示层也就是页面(aspx)BLL_THBC为业务逻辑层DAL_THBC为数据库交互层(向数据库执行SQL语句)Model_THBC为实体类DbHelper为数据库连接类统计个专营店