- 浏览: 541235 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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并行这个特性。前几天一个兄弟碰到的一个问题,才让我觉得这个东西还是有很多需要注意的地方,有必要仔细熟悉下。其实 碰到的问题不复杂:
类似如下的一条语句:insert into xxxx select /*+parallel(a) */ * from xxx a;数据量大约在75G左右,这位兄弟从上午跑到下午还没跑完,过来问我咋回事,说平常2hrs能跑完的东西跑了好几个小时还撒动静。查看系统性能也比较 正常,cpu,io都不繁忙,平均READ速度在80M/s左右(勉强凑合),但平均写速度只有10M不到。等待事件里面大量的‘ ‘PX Deq Credit : send blkd ’,这里能看出并行出了问题,从而最后得知是并行用法有问题,修改之后 20分钟完成了该操作。正确的做法应该是:
alter session enable dml parallel;
insert /*+parallel(xxxx,4) */ into xxxx select /*+parallel(a) */ * from xxx a;
因为oracle默认并不会打开PDML,对DML语句必须手工启用。 另外不得不说的是,并行不是一个可扩展的特性,只有在数据仓库或作为DBA等少数人的工具在批量数据操作时利于充分利用资源,而在OLTP环境下使用并行 需要非常谨慎。事实上PDML还是有比较多的限制的,例如不支持触发器,引用约束,高级复制和分布式事务等特性,同时也会带来额外的空间占用,PDDL同 样是如此。有关Parallel excution可参考官方文档 ,在Thomas Kyte的新书《Expert Oracle Database architecture》也有精辟的讲述。
SQL> create table test3 parallel 4 as select * from test1;
表已创建。
SQL> select * from v$mystat where rownum=1;
SID STATISTIC# VALUE
---------- ---------- ----------
151 0 1
SQL>
然 后立刻在另一SESSION 乘上一个执行没结束,看下面,这么说是有4个并行的进程在处理了
SQL> select * from v$px_session;
SADDR SID SERIAL# QCSID QCSERIAL# QCINST_ID SERVER_GROUP SERVER_SET SERVER# DEGREE REQ_DEGREE
-------- ---------- ---------- ---------- ---------- ---------- ------------ ---------- ---------- ---------- ----------
6D31E434 131 16 151 107 1 1 1 1 4 4
6D32421C 136 11 151 107 1 1 1 2 4 4
6D3267AC 138 18 151 107 1 1 1 3 4 4
6D31F6FC 132 11 151 107 1 1 1 4 4 4
6D335BD4 151 107 151
SQL> select * from v$mystat where rownum=1;
SID STATISTIC# VALUE
---------- ---------- ----------
137 0 1
SQL>
我 加大后
SQL> /
SADDR SID SERIAL# QCSID QCSERIAL# QCINST_ID SERVER_GROUP SERVER_SET SERVER# DEGREE REQ_DEGREE
-------- ---------- ---------- ---------- ---------- ---------- ------------ ---------- ---------- ---------- ----------
6D31864C 126 10 151 107 1 1 1 1 7 10
6D31F6FC 132 17 151 107 1 1 1 2 7 10
6D32421C 136 15 151 107 1 1 1 3 7 10
6D3267AC 138 22 151 107 1 1 1 4 7 10
6D322F54 135 11 151 107 1 1 1 5 7 10
6D31E434 131 18 151 107 1 1 1 6 7 10
6D327A74 139 5 151 107 1 1 1 7 7 10
6D335BD4 151 107 151
已选择 8行。
SQL>
奇怪,怎么看只有7个,我那里可是写成
SQL> create table test4 parallel 10 as select * from test1;
表已创建。
怎么少了3 个?
不过我实际只有一个CPU的机器,这些说明什么问题呢?
BTW
SQL> SHOW Parameter parallel_max
NAME TYPE VALUE
------------------------------------ ---------------------- -------------------
parallel_max_servers integer 20
SQL>
这个并行度和你初始化参数有关。CPU_COUNT 、PARALLEL_THREADS_PER_CPU 等等都有关系。如果你建表的时候没有明确指定并行度,那么oracle会自动的根据需要设定并行度。
评论
这个命令是错的
正确的应该是:
alter session enable parallel dml ;
发表评论
-
windows 启动关闭Oracle监听和服务
2012-01-05 10:28 2618经常要用数据库,让他自己启动的话,开机太慢,所以用命 ... -
入浅出Oracle--DBA入门、进阶与诊断案例
2011-01-18 10:14 1126数据仓库工具箱:维度建模的完全指南(第二版) Oracle ... -
oracle 树形查找
2010-12-02 10:33 715主题:Oracle树查询及相关函数 http://www.i ... -
create oracle DB auto increment PK trigger
2010-10-11 12:05 1055DROP SEQUENCE seq_chat_group_Id ... -
like %abc%
2010-09-09 00:23 1366关键字: oracle 优化 象 ... -
oracle user manager
2010-09-08 10:05 1050创建与管理用户账户 ... -
Oracle Execute Immediate
2010-06-24 23:10 1019EXECUTE IMMEDIATE 在某些情 ... -
oracle 常用的sql
2010-06-20 09:16 1081... -
Oracle Parallel Query
2010-06-09 23:06 2138Oracle Parallel Query(OPQ)可 ... -
oracle parallel computing
2010-06-09 23:01 1997用Oracle并行查询发挥多C ... -
Oracle数据库分区表操作方法
2010-06-09 22:46 1265文章转自: http://xu20cn.blog.51cto. ... -
Oracle并行服务器(OPS) Oracle Parallel Server
2010-06-09 22:44 1072文章转载自: http://xu20cn.blog.51c ... -
一个简单的Oracle任务
2010-05-13 08:36 774http://www.cnblogs.com/tohen/ar ... -
ORACLE DATE FUNCTION 大全
2010-05-13 00:47 1191TO_DATE格式 Day: dd number 12 ... -
ORACLE DB 定时任务机制
2010-05-13 00:45 1346简介 本文首先简单介绍了Oracle 8的数据复制的 ... -
ORACLE日期时间函数大全
2010-05-12 08:52 1238ORACLE日期时间函数大全 ... -
ORACLE时间处理大全
2010-05-12 08:48 1524... -
paging in oracle
2010-04-10 17:41 712/************************* get ... -
Extract use in oralce
2010-04-09 11:53 980racle中Extract函数的用法 SELEC ... -
about oracle data imp and exp
2010-04-08 20:39 860Oracle数据导入导出 imp/exp就相当于oracle ...
相关推荐
标题:Oracle Parallel 并行处理 描述:在Oracle数据库中,通过并行处理技术,一个SQL语句可以被多个线程或进程同时处理,从而显著提升执行效率。 ### Oracle并行处理技术概述 Oracle并行处理是Oracle企业版提供的...
Oracle 的 Parallel 并行技术案例详解 Oracle 的 Parallel 并行技术是指在数据库系统中实现并行处理的技术,通过将一个大的任务分解成多个小的任务,并利用多个进程或线程来并发执行这些小任务,从而提高系统的处理...
在 Oracle 中,可以通过一些提示(hint)来控制并行执行,如使用“parallel”提示来指定查询并行执行时应该使用的线程数。同时,还有一些数据库配置参数可以控制并行操作的各个方面,比如系统级别的并行处理的限制,...
- **数据库版本**:Oracle 11.2.0.1 - **内存目标**:1.6GB 这些硬件与软件配置共同决定了测试的基础条件。 #### 什么是并行执行 并行执行是一种通过多CPU和I/O资源来加速单个数据库操作的技术。其主要目的是通过...
本压缩包“Oracle_Parallel.rar_oracle”包含了两份关于Oracle SQL并行处理的重要资料:“Oracle_Parallel_SQL并行处理1_深入原理介绍.pdf”和“Oracle_Parallel_SQL并行处理2_执行计划分析与问题跟踪.pdf”。...
### Oracle Parallel SQL详解 #### 一、并行SQL概念与优势 **并行SQL**(Parallel SQL)是一种在Oracle数据库中提高SQL语句执行效率的技术。通过并行处理,一个SQL语句可以在多个线程或进程中同时执行,充分利用...
旨在允许快速设置功能强大的基于NOW的群集,以运行计算密集型应用程序。 不必专门为使这些集群受益而设计应用程序。
Oracle8i Parallel Server是Oracle数据库的一个重要特性,它在8.1.6版本中得到了进一步的优化和增强,旨在提供高可用性和高性能的解决方案。Oracle Parallel Server允许多个进程同时访问和处理数据库,以提高系统...
Oracle8i Parallel Server Concepts Release 2 (8.1.6) 本资源概述Oracle8i Parallel Server Concepts Release 2 (8.1.6),它是Oracle Corporation于1999年12月发布的一份技术文档。该文档详细介绍了Oracle8i ...
标题 "PARALLEL THREAD EXECUTION ISA" 指的是并行线程执行指令集架构,ISA 通常用于描述硬件如何执行机器代码指令。本文件为 "PTX CUDA ISA",意味着该文档是关于NVIDIA CUDA(统一计算设备架构)并行线程执行ISA的...
This new edition has been expanded to include AWR, Oracle 12c Statistics, interpretation of SQL Monitor reports, Parallel execution, and Exadata-related features. Reading this book and using SQL ...
Oracle 官方数据仓库指南,讲解透彻,知识权威,强烈推荐! Oracle® Database Data Warehousing Guide 10g Release 2 (10.2) Contents: Part I Concepts 1 Data Warehousing Concepts...25 Using Parallel Execution
《Oracle8i Parallel Server Administrator’s Guide Release 2 (8.1.6) for Windows NT》是Oracle公司为Windows NT平台发布的关于Oracle8i并行服务器管理的指南,旨在帮助管理员有效地管理和优化Oracle数据库在...
在这个“async-parallel-example”中,我们将关注并行方法,它允许我们在不影响主线程的情况下同时运行多个异步任务。这对于处理I/O密集型操作(如Web服务调用)特别有用,因为这些操作通常不会阻塞CPU。 要开始...
SQL语句可以在集群的不同实例间分配,通过SQL Parallel Execution和Database Res源管理策略,自动将工作负载分散到多个CPU上,提高系统性能。RAC还支持透明应用故障转移(TAF),当某个实例出现故障时,会自动将连接...
Oracle has a really neat feature called parallel execution. The Oracle documentation tells you how to use this feature and what it does. Oracle documentation does not, however, tell you when you ...
2. **并行服务器进程(Parallel Execution Server, PES)**:这些进程是由Oracle实例创建的,用于执行并行查询中的各个子任务。每个PES进程可以独立地处理数据,并将结果汇总到协调器进程。 3. **并行协调器进程...
Oracle 10G也提升了并发处理能力,通过并行执行(Parallel Execution)特性,可以将大查询任务分解为多个子任务并行处理,显著缩短执行时间。此外,它的数据分区(Partitioning)功能允许大型表被分割成更小、更易...