- 浏览: 1022844 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
SQL> set autotrace traceonly SQL> select counter_account, 2 counter_name, 3 (transqty - BCCheck) as BCCheck, 4 TSCheck, 5 MMCheck, 6 check_tsid, 7 Check_Sellthroumanagerid, 8 city_name_cn 9 From (select /*+ index(t TRA_SUM_TRANSACTIONDATE_INDEX)*/ 10 mc.counter_account as counter_account, 11 mc.counter_name as counter_name, 12 sum(t.bccheckqty) as BCCheck, 13 sum(case 14 when ct.istschecked = 'N' or ct.istschecked is null then 15 1 16 else 17 0 18 end) as TSCheck, 19 sum(case 20 when ct.ismanagerchecked = 'N' or 21 ct.ismanagerchecked is null then 22 1 23 else 24 0 25 end) as MMCheck, 26 ts.user_id as check_tsid, 27 sum(t.transactionqty) as transqty, 28 mm.user_id as Check_Sellthroumanagerid, 29 mct.city_name_cn as city_name_cn 30 from transaction_summary t 31 left join css_tsmanagercheck ct on t.counterid = ct.counter_id 32 and ct.check_month = '2010-11' 33 left join CSS_COUNTER mc on mc.counter_id = t.counterid 34 left join mst_city mct on mct.city_id = mc.city_id 35 left join (select c.counter_id, u.user_id 36 from CSS_COUNTER c, 37 sec_user_counter uc, 38 sec_user u, 39 sec_role r 40 where c.counter_id = uc.counter_id 41 and uc.user_id = u.user_id 42 and u.role_id = r.role_id 43 and r.role_id = '1B0BF35A76EE4247BC86DED761633001') mm on mm.counter_id = 44 t.counterid 45 left join (select c.counter_id, u.user_id 46 from CSS_COUNTER c, 47 sec_user_counter uc, 48 sec_user u, 49 sec_role r 50 where c.counter_id = uc.counter_id 51 and uc.user_id = u.user_id 52 and u.role_id = r.role_id 53 and r.role_id = 54 '95aa7015-c390-47af-8240-72a60aea667a') ts on ts.counter_id = 55 t.counterid 56 WHERE t.transactiondate >= '2010-11-01' 57 AND t.transactiondate <= '2010-11-30' 58 group by t.counterid, 59 mc.counter_account, 60 mc.counter_name, 61 ts.user_id, 62 mm.user_id, 63 mct.city_name_cn) a 64 SQL> SQL> SQL> / ---------------------------------------------------------- Plan hash value: 2441329485 ---------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | ---------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 200M| 82G| | 25M (1)| 84:54:35 | | 1 | HASH GROUP BY | | 200M| 82G| 170G| 25M (1)| 84:54:35 | |* 2 | HASH JOIN RIGHT OUTER | | 200M| 82G| | 10999 (20)| 00:02:12 | | 3 | TABLE ACCESS FULL | MST_CITY | 2686 | 53720 | | 8 (0)| 00:00:01 | |* 4 | HASH JOIN RIGHT OUTER | | 48M| 19G| | 9367 (6)| 00:01:53 | | 5 | TABLE ACCESS FULL | CSS_COUNTER | 5252 | 476K| | 83 (0)| 00:00:02 | |* 6 | HASH JOIN RIGHT OUTER | | 10M| 3388M| | 8890 (2)| 00:01:47 | | 7 | VIEW | | 4805 | 614K| | 187 (0)| 00:00:03 | | 8 | NESTED LOOPS | | 4805 | 1440K| | 187 (0)| 00:00:03 | | 9 | NESTED LOOPS | | 335 | 90115 | | 187 (0)| 00:00:03 | | 10 | NESTED LOOPS | | 92 | 16284 | | 3 (0)| 00:00:01 | |* 11 | INDEX UNIQUE SCAN | PK2 | 1 | 55 | | 0 (0)| 00:00:01 | |* 12 | INDEX RANGE SCAN | SEC_USER_ROLE_ID_IND | 92 | 11224 | | 3 (0)| 00:00:01 | |* 13 | INDEX RANGE SCAN | PK_SEC_USER_COUNTER | 4 | 368 | | 2 (0)| 00:00:01 | |* 14 | INDEX UNIQUE SCAN | PK_CSS_COUNTER | 14 | 532 | | 0 (0)| 00:00:01 | |* 15 | HASH JOIN RIGHT OUTER | | 2635K| 495M| 5280K| 8615 (1)| 00:01:44 | | 16 | VIEW | | 37752 | 4829K| | 1464 (1)| 00:00:18 | | 17 | NESTED LOOPS | | 37752 | 11M| | 1464 (1)| 00:00:18 | | 18 | NESTED LOOPS | | 2629 | 690K| | 1464 (1)| 00:00:18 | | 19 | NESTED LOOPS | | 724 | 125K| | 15 (0)| 00:00:01 | |* 20 | INDEX UNIQUE SCAN | PK2 | 1 | 55 | | 0 (0)| 00:00:01 | |* 21 | INDEX RANGE SCAN | SEC_USER_ROLE_ID_IND | 724 | 88328 | | 15 (0)| 00:00:01 | |* 22 | INDEX RANGE SCAN | PK_SEC_USER_COUNTER | 4 | 368 | | 2 (0)| 00:00:01 | |* 23 | INDEX UNIQUE SCAN | PK_CSS_COUNTER | 14 | 532 | | 0 (0)| 00:00:01 | |* 24 | HASH JOIN RIGHT OUTER | | 81613 | 5260K| | 6570 (1)| 00:01:19 | |* 25 | TABLE ACCESS FULL | CSS_TSMANAGERCHECK | 2662 | 79860 | | 56 (2)| 00:00: | 26 | TABLE ACCESS BY INDEX ROWID| TRANSACTION_SUMMARY | 81613 | 2869K| | 6513 (1) |* 27 | INDEX RANGE SCAN | TRA_SUM_TRANSACTIONDATE_INDEX | 81613 | | | 253 (1)| 00:00:04 ---------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("MC"."CITY_ID"=SYS_OP_C2C("MCT"."CITY_ID"(+))) 4 - access("MC"."COUNTER_ID"(+)=SYS_OP_C2C("T"."COUNTERID")) 6 - access("MM"."COUNTER_ID"(+)=SYS_OP_C2C("T"."COUNTERID")) 11 - access("R"."ROLE_ID"=U'1B0BF35A76EE4247BC86DED761633001') 12 - access("U"."ROLE_ID"=U'1B0BF35A76EE4247BC86DED761633001') 13 - access("UC"."USER_ID"="U"."USER_ID") 14 - access("C"."COUNTER_ID"="UC"."COUNTER_ID") 15 - access("TS"."COUNTER_ID"(+)=SYS_OP_C2C("T"."COUNTERID")) 20 - access("R"."ROLE_ID"=U'95aa7015-c390-47af-8240-72a60aea667a') 21 - access("U"."ROLE_ID"=U'95aa7015-c390-47af-8240-72a60aea667a') 22 - access("UC"."USER_ID"="U"."USER_ID") 23 - access("C"."COUNTER_ID"="UC"."COUNTER_ID") 24 - access("T"."COUNTERID"="CT"."COUNTER_ID"(+)) 25 - filter("CT"."CHECK_MONTH"(+)='2010-11') 27 - access("T"."TRANSACTIONDATE">='2010-11-01' AND "T"."TRANSACTIONDATE"<='2010-11-30') Note ----- - 'PLAN_TABLE' is old version ---------------------------------------------------------- 891 recursive calls 0 db block gets 22585 consistent gets 0 physical reads 0 redo size 491828 bytes sent via SQL*Net to client 3444 bytes received via SQL*Net from client 193 SQL*Net roundtrips to/from client 33 sorts (memory) 0 sorts (disk) 2880 rows processed
oracle 执行计划显示,hash group by消耗了170G的临时表空间,但是此条SQL显示在硬盘上的排序数据为0,不知道是什么原因,metalink 上检查发现一个Bug 7716219 HASH GROUP BY can use excessive TEMP space
具体描述如下:
This note gives a brief overview bug 7716219.
The content was last updated on: 31-AUG-2010
Click here for details of each of the sections below.
Affects:
Product (Component) Oracle Server (Rdbms) Range of versions believed to be affected Versions BELOW 11.2 Versions confirmed as being affected Platforms affected Generic (all / most platforms affected)
Fixed:
This issue is fixed in
Symptoms: |
Related To: |
|
Description
<!-- BEGIN BUGTAG DESCRIPTION -->
HASH GROUP BY can use excessive TEMP space.
Workaround
Disable hash group by
eg: Set "_gby_hash_aggregation_enabled" = false
<!-- END BUGTAG DESCRIPTION -->
Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. Always consult with Oracle Support for advice. |
References
Bug:7716219 (This link will only work for PUBLISHED bugs)
Note:245840.1 Information on the sections in this article我的数据库版本正好是10.2.0.4,执行计划统计出现问题不知道是不是由于这个 bug引起的,大家看到请帮我解答疑惑,谢谢
发表评论
-
sys.dbms_transaction.local_transaction_id出现的问题
2012-07-20 11:54 3427何時會觸發DBMS_TRANSACTION.LOCAL_TRA ... -
ORACLE 11GR2 OEM配置出错解决
2012-07-14 19:21 5116错误描述如下: 2012-7-14 18:23:11 ... -
ORA11G ORA-00845 错误
2012-06-26 13:39 876Oracle 11g的Linux版本在修改了MEMORY_TA ... -
oracle.net.common.NetGetEnv.getDNSDomain
2012-06-07 01:48 1187今天安装LINUX AS 4和ORACLE 10.2,安装成功 ... -
emctl 提示 ora-28001 口令已经实效 解决办法
2011-10-24 00:41 1879What to do when Enterprise Mana ... -
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262)
2011-05-20 17:29 7001报错信息如下: 2011-03-09 11:06:10 Th ... -
Oracle HowTo:如何在Linux上扩展SGA超过1.7G
2011-03-24 01:28 955今天一台Linux服务器扩展了一下内存,达到4G,开发的人自己 ... -
error while loading shared libraries: libclntsh.so.10.1: cannot open shared 问题解决
2011-01-21 16:23 121571.运行csscan命令显示如下错误 [oracle@rac ... -
“Error in invoking target ‘client_sharedlib’ of makefile ‘/home/oracle/oracle/pr
2011-01-13 17:35 12028今天同事在安装oracle的时候总是报这个错误: &qu ... -
如何处理Oracle中的坏块[ZT]
2010-12-19 21:56 1259一. 什么是数据库的坏 ... -
ORA-08102: TRYING TO MANIPULATE A JOB IN DBA_JOBS [ID 1036858.6]
2010-12-03 23:52 1299***Checked for relevance on 17- ... -
ORA-14074: partition bound must collate higher than that of the last partition
2010-10-09 16:26 37391. 创建分区表 create table zhanglei ... -
ora-12560问题解决
2010-09-16 11:30 16281.监听服务没有起起来 ... -
ORA-20000故障排除手记
2010-09-02 01:43 24231、发现故障。 在Oracle10.2.0.1的aler ... -
ORA-17502 与 ORA-15173 错误解决
2010-05-21 17:27 4088用rman恢复spfile时,报错误如下: RM ... -
Dropping A Disk From ASM Diskgroup Does Not Remove It From v$ASM_DISK
2010-05-21 10:42 1521Applies to: Oracle Serv ... -
ORA-19599 When backing up an archivelog that is corrupt [ID 461239.1]
2010-05-13 13:56 2710Applies to: Oracle Server - E ... -
ASMCMD fails to start on module libnnz10.so, permission denied
2010-05-13 01:14 2576ASMCMD fails to start on modu ... -
Errors ORA-00600 [kclchkblk_4] and ORA-00600 [2662] After Recovery of Datab
2010-05-12 15:45 1767Applies to: Oracle Server - E ... -
ORA-29701: unable to connect to Cluster Manager
2010-04-15 14:55 3921今天启动ASM报错了,ORA-29701: unable ...
相关推荐
标题与描述概述的知识点主要涉及Oracle数据库中临时表空间(TEMP表空间)的管理与优化,特别是当TEMP表空间占用过多硬盘空间时的处理方法。本文将深入解析这一过程,帮助读者理解并掌握释放TEMP表空间所占用硬盘空间...
6. Hash Join 的作用:Hash Join 可以提高 SQL 语句的执行效率,但其也可能会消耗大量的临时表空间。 7. Oracle 数据库的性能优化:Oracle 数据库的性能优化需要从多方面入手,包括服务器硬件性能、操作系统设置、...
本文将深入探讨一次Hash JOIN过程中遇到的临时表空间不足的问题,并提供相应的分析和优化思路。 首先,我们需要理解Hash JOIN的基本原理。Hash JOIN是通过在内存中创建一个或两个表的哈希索引来实现两个数据集的...
Oracle分区表中的Hash分区是一种基于哈希算法的分区策略,适用于处理无法清晰定义分区范围的大型数据表。这种分区方式通过计算分区键的哈希值来决定数据存储在哪个分区,以此达到数据分散和负载均衡的目的。Hash分区...
3. **收缩临时表空间**:当不再需要大量临时空间时,可以进行收缩操作。`SHRINK SPACE` 命令可以释放无用的空间,而 `KEEP` 参数则指定最小保留空间。例如,保持20MB的空间: ``` SQL> ALTER TABLESPACE temp ...
4. **高效性**:计算哈希值的过程应该快速且资源消耗低,适合在嵌入式系统中运行。 在STM32F407上实现哈希算法,可能涉及到以下几种常见的哈希算法: - **MD5 (Message-Digest Algorithm 5)**:这是一种较老的哈希...
标题中的“hash.rar_HASH算法_fpga hash_hash_zebra85v_哈希表Verilog”揭示了这个压缩包文件的主要内容,它涉及到哈希(Hash)算法在高速Field-Programmable Gate Array(FPGA)上的实现,以及与Zebra85v硬件平台和...
### Oracle的表空间、分区表及索引的深入解析 #### 表空间(Tablespace)在Oracle中的作用与管理 表空间是Oracle数据库中的逻辑存储单元,它将数据组织成可管理的部分,允许数据库管理员更好地控制数据存储和性能...
哈希表(Hash Table)是一种数据结构,它通过计算一个关联数组中的索引来确定一个特定元素的存储位置,使得在平均情况下,查找、插入和删除操作的时间复杂度达到O(1)。C语言中的哈希表实现是程序员常用的数据结构...
当程序加载时,操作系统会解析这个表,将函数地址绑定到程序的内存空间,使得程序能够正确调用这些函数。PE导入表包含以下信息: - 导入库(DLL)的名字 - DLL中导出函数的名字 - 函数的序号(ordinal)或者名称...
Hash表是一种数据结构,它通过使用哈希函数将键(key)映射到数组的索引位置,从而实现快速的查找、插入和删除操作。在C语言中,我们可以利用结构体和指针来构建一个简单的Hash表。下面将详细介绍Hash表的概念、哈希...
同时,测试应该包括性能基准测试,以确保哈希表在大量数据时仍能保持预期的性能。 在"hash表模板类"这个压缩包中,你可能找到了一个实现了以上功能的C++源文件。通过阅读和理解代码,你可以学习到自定义哈希表的...
在编程领域,哈希表(Hash Table)是一种高效的数据结构,它通过特定的哈希函数将数据映射到一个固定大小的数组中,以实现快速的查找、插入和删除操作。哈希表的关键在于设计良好的哈希函数,该函数能够尽可能均匀地...
UTHASH 是一个开源的 C 语言库,提供了一种简单且高效的哈希表实现,用于在 C 代码中快速查找和管理数据结构。这个库的主要功能是提供一个宏定义的集合,可以方便地将结构体转化为哈希表,进而进行添加、删除、查找...
Hash表应用 (必做) (查找) [问题描述] 设计散列表实现身份证查找系统,对身份证号进行Hash。 [基本要求] (1) 设每个记录有下列数据项:身份证号码(虚构,位数和编码规则与真实一致即可)、姓名、地址; ...
描述中提到的"abaqus用户子程序,Hashin失效准则,abaqus显示分析,使用三维实体单元"意味着这个压缩包可能包含了一个使用ABAQUS用户子程序(通常以.INP文件格式)实现Hashin失效准则的示例,以及如何在ABAQUS中进行...
### Oracle表分区、建表空间与用户管理 #### 一、表空间的创建与管理 在Oracle数据库中,**表空间**(Tablespace)是物理存储的逻辑容器,它由一个或多个数据文件组成。创建一个新的表空间对于数据库的管理非常重要...
哈希表,也被称为Hash Map,是计算机科学中一种高效的数据结构,用于存储键值对。它通过一种称为哈希函数的过程将键映射到数组的特定位置,从而实现快速的查找、插入和删除操作。在哈希表中,查找时间通常接近常数...
`AUTOEXTEND`用于自动扩展数据文件,`EXTENT MANAGEMENT`定义了范围管理方式,`SEGMENT SPACE MANAGEMENT`决定了段空间的管理方式,`PERMITTED LOGFILE GROUP`用于指定可以与表空间关联的日志文件组。 接下来,我们...
5. **空间索引**:`geohash`可以作为构建空间索引的基础,使得在大量地理位置数据中查找最近邻或特定范围内的对象变得更加高效。 在PHP中实现`geohash`通常涉及以下几个步骤: 1. **安装库**:可以使用Composer...