- 浏览: 543120 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (339)
- JavaBase (27)
- J2EE (70)
- Database (22)
- Spring (3)
- struts1.x (6)
- struts2.x (16)
- Hibernate (10)
- IBatis (4)
- DWR (1)
- SSH (5)
- Oracle (31)
- HTML (12)
- javascript (11)
- Thinking (3)
- Workflow (5)
- Live (13)
- Linux (23)
- ExtJS (35)
- flex (10)
- php (3)
- Ant (10)
- ps (1)
- work (2)
- Test (1)
- Regular Expressions (2)
- HTTPServer (2)
- 方言 (1)
- 生活 (2)
- Sybase PowerDesigner (0)
最新评论
-
mikey_5:
非常感谢楼主的分享,<parameter propert ...
Check the output parameters (register output parameters failed) IN Ibatis -
影子_890314:
我现在也有这个错误,求解!
Check the output parameters (register output parameters failed) IN Ibatis -
358135071:
学习了,感谢分享!
使用hibernate 代替 mysql 中 limit 進行分頁 -
wjpiao:
你下面的“正确的映射”里面不是还是有number类型吗?
Check the output parameters (register output parameters failed) IN Ibatis -
zh_s_z:
很有用!弄一份吧!
Oracle数据库分区表操作方法
Oracle Parallel Query(OPQ)可以将一个SQL statement分成多个片(chunks),然后在独自的CPU上通过多个process(子查询)进行并行运行。每个子查询同时读取一个大型表中的 一块。所有子查询完毕以后,Oracle将结果会传给并行查询调度器,他会重新安排数据,如果需要则进行排序,并且将结果传递给最终用户。OPQ具有无限 的伸缩性,因此,以前需要花费几分钟的全表检索目前的响应时间却不到1秒。
OPQ 严重依赖于处理器的数量,通过并行运行之所以能极大地提升 全表检索的性能,其前提就是使用了 N-1 个并行进程( N=Oracle 服务器上 CPU 的数量)。Oracle 能够自动检测外部环境,包括服务器上 CPU 的数量。在安装时, Oracle9i 会检查服务器上 CPU 的数量,设置一个名为 cpu_count 的参数,并使用 cpu_count 作为默认的初始化输入参数。这些初始化参数会影响到 Oracle 对内部查询的处理。
一、相关参数
1.cpu_count
CPU_COUNT
specifies the number of
CPUs available to Oracle. On single-CPU computers, the value of
CPU_COUNT
is 1. On most platforms, Oracle
automatically sets the value of CPU_COUNT
to the
number of CPUs available to your Oracle instance. Do not change the
value of CPU_COUNT
.
2. parallel_min_servers
3.parallel_max_servers
Oracle一个显著的加强是自动决定OPQ并行的程度。由于Oracle清晰服务器中CPU的数量,他会自动分配合适的子进程的数量来提升并行查询的响 应时间。当然,会有其他的外部因素,比如表的划分及磁盘输入/输出子系统的布局等,不过根据cpu_count来设置 parallel_max_servers参数将给Oracle一个合理的依据来选择并行的程度。
由于Oracle的并行操作严重依赖服务器上CPU的数量,parallel_max_servers会被设置成服务器上CPU的数量。如果在一台服务器 上运行多个实例,则默认值太大了,会导致过度的页面交换和严重的CPU负担。并行的程度还依赖于目标表中分区的数量,因此 parallel_max_servers应该设置成足够大以允许Oracle为每个查询选择最佳数量的并行子查询。
4.parallel_automatic_tuning
TRUE : ORACLE会尽量使用PARALLEL.
5.fast_start_parallel_rollback
Oracle并行机制中一个令人兴奋之处是在系统崩溃时调用并行回滚的能力。当Oracle数据库发生少有的崩溃时,Oracle能自动检测未完成的事务 并回滚到起始状态。这被称为并行热启动,而Oracle使用基于cpu_count的fast_start_parallel_rollback参数来决 定未完成事务的并行程度。能够在Oracle数据库崩溃后极大地加快其重新启动的速度。此参数的默认值是系统CPU数量的两倍,不过一些DBA们认为应该 将这个值设置为cpu_count的四倍。
FAST_START_PARALLEL_ROLLBACK
determines the maximum
number of processes that can exist for performing parallel
rollback. This parameter is useful on systems in which some or all
of the transactions are long
running.Values:
-
FALSE
indicates that parallel rollback is disabled -
LOW
limits the number of rollback processes to 2 *CPU_COUNT
-
HIGH
limits the number of rollback processes to 4 *CPU_COUNT
6.log_buffer
参数log_buffer定义了供即刻写入redo日志信息的保留RAM的数量,这个参数受cpu_count的影响。Oracle推荐
log_buffer最大为cpu_count乘以500KB或128KB。CPU的数量对于log_buffer来说非常重要,因为Oracle会生成
多日志写入(LGWR)进程来异步释放redo信息。
log_buffer是Oracle中最易误解的的RAM参数之一,通常存在下面几个设置错误:
log_buffer被设置得太高(例如,大于1MB),这回引起性能问题,因为大容量的结果会使得写入同步进行(例如,日志同步等待事件非常高)。 log_buffer不是db_block_size的倍数。在的Oracle9i中,log_buffer应该是2048字节的倍数。
7.db_block_lru_latches
二、OPQ的使用
OBJECT级
ALTER TABLE/INDEX XXX PARALLEL (DEGREE 1 INSTANCES 1)
OR
ALTER TABLE/INDEX XXX NOPARALLEL;
OR
Alter table customer parallel degree 35;
-
Instance: Specifies the number of instances to use(除非在OPS环境,否则只需要设置为1,其他的都是无意义的)
-
DEGREE: Specifies the number of slave processes to use on each instance
STATEMENT级
SELECT --+ PARALLEL (table_alias, degree, nodes) from table …..
或
SQLLDR
SQLLOAD scott/tiger CONTROL=con1.ctl DIRECT=TRUE PARALLEL=TRUE
Parallel Recovery
1,RECOVERY_PARALLELISM
2,RECOVER TABLESPACE tab PARALLEL (DEGREE 4);
RECOVER DATABASE PARALLEL (DEGREE DEFAULT);
三、OPQ的局限性
Paralle Query并不一定是最好的,尤其是武断的把所有TABLE都设置成Paralle Query更是危险的,因为CBO会改变评估标准而尽量使用parallel full-table scans而不是index scans。因为CBO认为parallel full-table scan的cost比full-table scan低,所以如果非要这么做,那么需要调整optimizer_index_cost_adj。此值默认是1000,如果调整为10则基本都会用 INDEX,那么可以调整为小于1000的某个值,然后及时监控性能并再作调整。
ORACLE 提供了CBO、RBO两种SQL优化器:
1.Rule Based Optimizer(RBO)基于规则;
2.Cost Based Optimizer(CBO)基于成本,或者讲统计信息.
四、相关数据字典
select * from v_$pq_sysstat;
select * from v_$px_process;
select * from v_$px_sesstat;
select * from v_$px_process_sysstat;发表评论
-
windows 启动关闭Oracle监听和服务
2012-01-05 10:28 2652经常要用数据库,让他自己启动的话,开机太慢,所以用命 ... -
入浅出Oracle--DBA入门、进阶与诊断案例
2011-01-18 10:14 1132数据仓库工具箱:维度建模的完全指南(第二版) Oracle ... -
oracle 树形查找
2010-12-02 10:33 723主题:Oracle树查询及相关函数 http://www.i ... -
create oracle DB auto increment PK trigger
2010-10-11 12:05 1059DROP SEQUENCE seq_chat_group_Id ... -
like %abc%
2010-09-09 00:23 1378关键字: oracle 优化 象 ... -
oracle user manager
2010-09-08 10:05 1054创建与管理用户账户 ... -
Oracle Execute Immediate
2010-06-24 23:10 1023EXECUTE IMMEDIATE 在某些情 ... -
oracle 常用的sql
2010-06-20 09:16 1086... -
oracle parallel execution example
2010-06-09 23:07 1330引子:以前一直没太关 ... -
oracle parallel computing
2010-06-09 23:01 1999用Oracle并行查询发挥多C ... -
Oracle数据库分区表操作方法
2010-06-09 22:46 1268文章转自: http://xu20cn.blog.51cto. ... -
Oracle并行服务器(OPS) Oracle Parallel Server
2010-06-09 22:44 1076文章转载自: http://xu20cn.blog.51c ... -
一个简单的Oracle任务
2010-05-13 08:36 780http://www.cnblogs.com/tohen/ar ... -
ORACLE DATE FUNCTION 大全
2010-05-13 00:47 1194TO_DATE格式 Day: dd number 12 ... -
ORACLE DB 定时任务机制
2010-05-13 00:45 1350简介 本文首先简单介绍了Oracle 8的数据复制的 ... -
ORACLE日期时间函数大全
2010-05-12 08:52 1241ORACLE日期时间函数大全 ... -
ORACLE时间处理大全
2010-05-12 08:48 1528... -
paging in oracle
2010-04-10 17:41 715/************************* get ... -
Extract use in oralce
2010-04-09 11:53 986racle中Extract函数的用法 SELEC ... -
about oracle data imp and exp
2010-04-08 20:39 866Oracle数据导入导出 imp/exp就相当于oracle ...
相关推荐
首先,Oracle SQL并行处理(Parallel Query)是Oracle数据库提供的一种提高大数据量查询性能的关键特性。它通过将一个大的查询任务分解为多个子任务,分配给多个处理器或服务器进行并行处理,从而显著缩短查询时间。...
Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1、错误描述 ORA-12801: 并行查询服务器P007中发出错误信号 ORA-01722:无效...
- 关闭占用大量CPU资源的服务或组件,如Oracle Parallel Query等。 **2. 内存资源** - **原因**:Oracle数据库在执行SQL语句时,会频繁使用内存缓冲区来存储数据和结果集,如果内存不足,则会影响性能。 - **...
### Oracle Parallel SQL详解 #### 一、并行SQL概念与优势 **并行SQL**(Parallel SQL)是一种在Oracle数据库中提高SQL语句执行效率的技术。通过并行处理,一个SQL语句可以在多个线程或进程中同时执行,充分利用...
常见的空闲事件有 dispatcher timer、lock element cleanup、Null event、parallel query dequeue wait、parallel query idle wait - Slaves 等。 非空闲等待事件专门针对 Oracle 的活动,指数据库任务或应用运行...
11. 一些并行操作都不支持,包括 Parallel query,Parallel DML,Parallel index build,Parallel Data Pump export and import。 12. 不支持 Streams,又少了一个高可用性的可行性方案。 13. 不支持 Advanced ...
DSI304 Query Management DSI305 Database Tuning DSI306 Very Large Databases DSI307 Distribution and Replication DSI308 Parallel Server DSI401 dump, crash and corruptions DSI401 advance support ...
常见的空闲等待事件包括 dispatcher timer、lock element cleanup、Null event、parallel query dequeue wait、parallel query idle wait、pipe get、PL/SQL lock timer、pmon timer、slave wait、smon timer、SQL*...
7. **Fast Start Parallel Query (FSPQ)**:FSPQ加速了并行查询的启动时间,使得大型查询更快地返回结果。 8. **Adaptive Execution Plans**:Oracle 11gR2能够根据执行过程中的实际情况动态调整执行计划,以适应...
在并行执行方面,Oracle 12C改进了Parallel Query(并行查询)的性能,通过动态资源调度和智能并行执行策略,提高了大规模数据处理的速度。 学习Oracle 12C OCP的过程中,你还将接触到Database Administrator的日常...
在Oracle数据库系统中,并行查询(Parallel Query, PQ)是一项强大的特性,它通过将查询任务分解为多个子任务并行执行来提升性能。然而,并行查询并非总是能带来性能提升,其效果取决于多种因素。本文将详细介绍如何...
并行服务器(Parallel Server)和并行查询(Parallel Query)是实现这一功能的关键技术。 10. **分布式数据库**:Oracle支持分布式数据库系统,通过分布式事务处理(Distributed Transactions)和全局名称(Global ...
- **Oracle Parallel Server (8i) / Real Application Cluster (9i/10g)**:用于实现多实例集群环境下的数据库共享访问,旨在提高可用性和扩展性。 - **Oracle Standby Database (8i) / Oracle DataGuard (9i/10g)**...
另外,了解并合理运用Oracle的并行查询(Parallel Query)功能,可以在多处理器系统上加速排序过程。 总之,Oracle处理各种数据类型和排序需求的能力强大且灵活。通过熟练掌握ORDER BY语法,合理创建索引,以及善用...
对于在HACMP集群上运行的Oracle Parallel Server,硬件要求包括IBM HACMP/6000集群,由1到8个节点组成,以及对应的HACMP软件版本。特别注意的是,你需要解决HACMP启动时可能遇到的inittab条目缺失的问题,这可能需要...
而Parallel Query Enhancements则加速了大数据量查询处理。 5. **网格计算支持**:Oracle Grid Infrastructure支持网格计算环境,使得多个数据库实例可以在一个硬件平台上协同工作,提高了资源利用率。 【浙江大学...
6. **并行查询优化**:Oracle 11g的并行查询处理(Parallel Query Processing)能够将大查询分解为小任务在多处理器或多节点上并行执行,显著提高查询效率。 7. **网格计算支持**:Oracle 11g支持网格计算架构,这...
3. **数据仓库优化(Data Warehouse Enhancements)**:Oracle9i加强了数据仓库的功能,如快速装载(Direct Path Insert)、并行查询优化(Parallel Query Optimization)等,提升了大数据量处理的效率。 4. **分区...
4. **并行执行**:并行查询(Parallel Query)允许数据库将大查询分割为多个并行任务,从而加快处理速度。在9i中,Oracle增强了并行执行的自动调整和资源管理。 5. **Real Application Clusters (RAC)**:Oracle 9i...
1. **并行查询(Parallel Query, PQ)**:并行查询是指将一个大的查询操作分成多个小的任务,这些小任务可以由不同的进程同时执行。例如,在进行全表扫描时,可以将表分成多个分区,每个分区由一个或多个并行执行...