- 浏览: 4403756 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (634)
- Oracle日常管理 (142)
- Oracle体系架构 (45)
- Oracle Tuning (52)
- Oracle故障诊断 (35)
- RAC/DG/OGG (64)
- Oracle11g New Features (48)
- DataWarehouse (15)
- SQL, PL/SQL (14)
- DB2日常管理 (9)
- Weblogic (11)
- Shell (19)
- AIX (12)
- Linux/Unix高可用性 (11)
- Linux/Unix日常管理 (66)
- Linux桌面应用 (37)
- Windows (2)
- 生活和工作 (13)
- 私人记事 (0)
- Python (9)
- CBO (15)
- Cognos (2)
- ORACLE 12c New Feature (2)
- PL/SQL (2)
- SQL (1)
- C++ (2)
- Hadoop大数据 (5)
- 机器学习 (3)
- 非技术 (1)
最新评论
-
di1984HIT:
xuexilee!!!
Oracle 11g R2 RAC高可用连接特性 – SCAN详解 -
aneyes123:
谢谢非常有用那
PL/SQL的存储过程和函数(原创) -
jcjcjc:
写的很详细
Oracle中Hint深入理解(原创) -
di1984HIT:
学习了,学习了
Linux NTP配置详解 (Network Time Protocol) -
avalonzst:
大写的赞..
AIX内存概述(原创)
这几天数据库上的用户表空间疯涨,一天的增长量达到了20~30GB,平时就4~5GB的增长量。问了开发商,他们也说不出个所以然。PS:那些鸟开发商,现在我已经对他们绝望了,什么都不知道。情急之下直接对该表空间进行了扩容,问题总算解决了。事后总想弄个明白,想知道是那张表导致的表空间增长如此之快,以免下次出现同样的问题又是不知所措。
google了一番后发现DBA_HIST_SEG_STAT可以看出对象的使用趋势
构造如下SQL查询出每个时间段内数据库对象的增长量,其中DB_BLOCK_CHANGES_DELTA为块个数
select c.SNAP_ID,to_char(c.END_INTERVAL_TIME,'yyyy-mm-dd') SNAP_TIME,a.OWNER ,a.OBJECT_NAME, a.OBJECT_TYPE, b.DB_BLOCK_CHANGES_DELTA
from dba_objects a,
(select SNAP_ID,obj#,DB_BLOCK_CHANGES_DELTA from DBA_HIST_SEG_STAT where DB_BLOCK_CHANGES_DELTA > 20000 order by snap_id desc, DB_BLOCK_CHANGES_DELTA desc) b,
DBA_HIST_SNAPSHOT c
where a.object_id=b.obj# and object_type='TABLE' and b.SNAP_ID=c.SNAP_ID
order by DB_BLOCK_CHANGES_DELTA
下面的SQL查询出某个时间段内,数据库对象的变化大小,单位以换算成GB
select a.OBJECT_NAME,
to_char(c.END_INTERVAL_TIME,'yyyy-mm-dd')
SNAP_TIME, sum(b.DB_BLOCK_CHANGES_DELTA)/1024/1024 GB from dba_objects a,(select SNAP_ID,obj#,DB_BLOCK_CHANGES_DELTA from DBA_HIST_SEG_STAT where DB_BLOCK_CHANGES_DELTA > 20000 order by snap_id desc, DB_BLOCK_CHANGES_DELTA desc) b,DBA_HIST_SNAPSHOT c
where a.object_id=b.obj# and object_type='TABLE' and b.SNAP_ID=c.SNAP_ID
group by a.OBJECT_NAME,c.END_INTERVAL_TIME
order by GB
简单介绍下DBA_HIST_SEG_STAT
DBA_HIST_SEG_STAT视图内记录了数据库实例启动以来段的变化信息,该视图的数据来自于v$segstat
SNAP_ID
|
NUMBER
|
Unique snapshot ID | |
DBID
|
NUMBER
|
Database ID for the snapshot | |
INSTANCE_NUMBER
|
NUMBER
|
Instance number for the snapshot | |
TS#
|
NUMBER
|
Tablespace number | |
OBJ#
|
NUMBER
|
Dictionary object number | |
DATAOBJ#
|
NUMBER
|
Data object number | |
LOGICAL_READS_TOTAL
|
NUMBER
|
Cumulative value for logical reads | |
LOGICAL_READS_DELTA
|
NUMBER
|
Delta value for logical reads | |
BUFFER_BUSY_WAITS_TOTAL
|
NUMBER
|
Cumulative value for buffer busy waits | |
BUFFER_BUSY_WAITS_DELTA
|
NUMBER
|
Delta value for buffer busy waits | |
DB_BLOCK_CHANGES_TOTAL
|
NUMBER
|
Cumulative value for db block changes | |
DB_BLOCK_CHANGES_DELTA
|
NUMBER
|
Delta value for db block changes | |
PHYSICAL_READS_TOTAL
|
NUMBER
|
Cumulative value for physical reads | |
PHYSICAL_READS_DELTA
|
NUMBER
|
Delta value for physical reads | |
PHYSICAL_WRITES_TOTAL
|
NUMBER
|
Cumulative value for physical writes | |
PHYSICAL_WRITES_DELTA
|
NUMBER
|
Delta value for physical writes | |
PHYSICAL_READS_DIRECT_TOTAL
|
NUMBER
|
Cumulative value for physical reads direct | |
PHYSICAL_READS_DIRECT_DELTA
|
NUMBER
|
Delta value for physical reads direct | |
PHYSICAL_WRITES_DIRECT_TOTAL
|
NUMBER
|
Cumulative value for physical writes direct | |
PHYSICAL_WRITES_DIRECT_DELTA
|
NUMBER
|
Delta value for physical writes direct | |
ITL_WAITS_TOTAL
|
NUMBER
|
Cumulative value for ITL waits | |
ITL_WAITS_DELTA
|
NUMBER
|
Delta value for ITL waits | |
ROW_LOCK_WAITS_TOTAL
|
NUMBER
|
Cumulative value for row lock waits | |
ROW_LOCK_WAITS_DELTA
|
NUMBER
|
Delta value for row lock waits | |
GC_CR_BLOCKS_SERVED_TOTAL
|
NUMBER
|
Cumulative value for global cache CR blocks served | |
GC_CR_BLOCKS_SERVED_DELTA
|
NUMBER
|
Delta value for global cache CR blocks served | |
GC_CU_BLOCKS_SERVED_TOTAL
|
NUMBER
|
Cumulative value for global cache current blocks served | |
GC_CU_BLOCKS_SERVED_DELTA
|
NUMBER
|
Delta value for global cache current blocks served | |
GC_BUFFER_BUSY_TOTAL
|
NUMBER
|
Cumulative value for global cache buffer busy | |
GC_BUFFER_BUSY_DELTA
|
NUMBER
|
Delta value for global cache buffer busy | |
GC_CR_BLOCKS_RECEIVED_TOTAL
|
NUMBER
|
Cumulative value for global cache CR blocks received | |
GC_CR_BLOCKS_RECEIVED_DELTA
|
NUMBER
|
Delta value for global cache CR blocks received | |
GC_CU_BLOCKS_RECEIVED_TOTAL
|
NUMBER
|
Cumulative value for global cache current blocks received | |
GC_CU_BLOCKS_RECEIVED_DELTA
|
NUMBER
|
Delta value for global cache current blocks received | |
SPACE_USED_TOTAL
|
NUMBER
|
Cumulative value for space used | |
SPACE_USED_DELTA
|
NUMBER
|
Delta value for space used | |
SPACE_ALLOCATED_TOTAL
|
NUMBER
|
Cumulative value for space allocated | |
SPACE_ALLOCATED_DELTA
|
NUMBER
|
Delta value for space allocated | |
TABLE_SCANS_TOTAL
|
NUMBER
|
Cumulative value for table scans | |
TABLE_SCANS_DELTA
|
NUMBER
|
Delta value for table scans |
顺便说一句DBA_HIST_TBSPC_SPACE_USAGE视图可以监控表空间的使用趋势
感谢杨帅军的指点
参考至:http://oracle.erkansaka.org/2007/09/how-to-determine-tables-with-highest.html
http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_3165.htm
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
发表评论
-
Oracle 11g、12c大量错误登陆尝试带来的数据库异常
2018-07-16 09:21 1524APPLIES TO: Oracle Database - ... -
如何定位那些SQL产生了大量的redo日志
2018-05-15 14:38 1760在ORACLE数据库的管理、 ... -
When Memory_target Is Set and Swap Size Is Not Big (Doc ID 2356025.1)
2018-03-16 18:13 1183Kkjcre1p: unable to sp ... -
Transparent Hugepage is not getting disabled (Doc ID 2279458.1)
2018-03-16 18:10 816Transparent Hugepage is ... -
Troubleshooting: "log file sync" Waits (文档 ID 1376916.1)
2017-03-09 14:32 1359What is a 'log file sync' wai ... -
log file sync总结
2017-03-09 14:36 3248log file sync等待时间发生在redo log从 ... -
Oracle Log File Sync Wait Event
2017-03-08 18:46 1166The Oracle “log file sync” wai ... -
Tuning ‘log file sync’ Event Waits
2017-03-08 18:41 849Tuning ‘log file sync’ Event ... -
Diagnosing buffer busy waits with the ash_wait_chains.sql script (v0.2)
2017-03-08 16:56 845Diagnosing buffer busy waits w ... -
Advanced Oracle Troubleshooting Guide – Part 11: Complex Wait Chain Signature An
2017-03-08 16:05 1088Here’s a treat for the hard-co ... -
Oracle 10046 SQL TRACE
2017-03-08 15:19 938为什么我们要使用10046 trace? 10046 ... -
Automatic Storage Management
2016-11-03 15:33 859SYSASM Role When Automatic ... -
ASM FAQ
2016-11-03 15:29 722ASM FAQ Oracle Automatic ... -
Oracle ALTER PROFILE语法
2016-10-10 11:36 3404ALTER PROFILE Purpose Use th ... -
Oracle FGA审计
2016-09-20 09:42 1381大家对trigger可能比较熟悉,但Oracle还有一个叫 ... -
Secret.txt
2016-09-14 17:20 0考试登录账号:YAMAC0043865 Chen1988协会网 ... -
Oracle Data Pump Internals
2016-09-13 16:38 774IntroductionOracle Data Pump w ... -
UDEV SCSI Rules Configuration for ASM in Oracle Linux 5, 6 and 7
2016-09-12 16:32 837UDEV SCSI Rules Configuration ... -
Cannot Allocate New Log
2016-02-21 12:28 5440故障报错 Thread 1 cannot allocat ... -
Oracle flashback dropped tablespace(原创)
2015-11-15 22:21 2009Oracle官方并不推荐在数据库物理结构发生改变的情况下进行 ...
相关推荐
Oracle 查看表历史记录和恢复 Oracle 数据库是一种关系型数据库管理系统,具有强大的数据存储和管理能力。然而,在实际操作中,数据库管理员或开发者可能会不小心删除了重要数据,这时候如何恢复这些数据成了一个...
为了管理和监控数据库的访问情况,需要对登录 Oracle 数据库的用户记录进行跟踪和查看。本文将介绍如何查看登录 Oracle 数据库的用户记录。 查看登录 Oracle 数据库用户记录的必要性 在实际应用中,数据库的安全性...
在Oracle数据库管理中,对表结构进行修改是一项常见的任务,涉及到添加字段、修改字段属性、删除字段、重命名表或字段、以及注释等操作。以下是对这些操作的详细解析: ### 添加字段 使用`ALTER TABLE`语句可以向...
oracle创建分区表
ORACLE 数据库中如何统计表记录数的过程说明
3. **文档记录**:详细记录所有变更操作及其原因,以便于后续维护人员理解和跟踪。 ### 五、总结 Oracle表空间的变动操作虽然可以带来很多好处,但也伴随着一定的风险。通过对上述问题及解决方案的详细了解,我们...
利用DBMS_SPACE包对Oracle 表碎片进行监控与清理,
4. **历史记录**:存储SQL语句的历史执行信息,便于追踪性能变化趋势和问题的演变过程。 5. **对比分析**:比较不同时间段或不同版本的SQL执行性能,帮助识别性能提升或下降的原因。 6. **优化建议**:根据SQL语句...
在Oracle数据库中,多行记录的合并通常是为了将相同字段的多行数据整合成一行,以便于数据分析或者简化展示。这种操作在报表制作、数据整理等场景中非常常见。本篇文章将详细介绍Oracle中实现多行记录合并的几种方法...
在 FROM 子句中包含多个表的情况下,需要选择记录条数最少的表作为基础表。 2. 使用绑定变量 在 Oracle 中,使用绑定变量可以提高多表连接的效率。绑定变量可以减少 SQL 语句的解析时间和内存的使用。 3. 使用...
1. **SQL语句追踪**:工具能够记录并分析执行的SQL语句,包括DML(INSERT, UPDATE, DELETE)和DDL(CREATE, ALTER, DROP)操作。这有助于识别性能瓶颈,找出慢查询,并进行相应的优化。 2. **执行计划分析**:它...
2. 索引的无效:当释放表空间后,表的行号 rowid 会发生变化,而基于 rowid 的索引则会变成无效。解决方法是重建索引,使用 alter index XXX rebuild 语句可以快速重建索引。 在解决问题之前,首先需要使用 delete ...
2. **自动段空间管理(Automatic Segment Space Management, ASSM)**:Oracle从9i版本开始引入ASSM,它简化了表空间的空间管理,通过位图块来跟踪空闲空间,提高了空间利用率和删除效率。 3. **purge操作**:Purge...
在开发、文档编写或分享数据库设计时,有时我们需要将Oracle表结构导出到更便于阅读和分享的格式,比如Microsoft Word文档。这个过程可以帮助团队成员更好地理解数据库结构,也可以作为备份或审计的参考。 "oracle...
在Oracle数据库中,跟踪用户活动是一项重要的管理任务,有助于监控系统的使用情况、保障安全和优化性能。Oracle从Oracle8i开始引入了一类特殊触发器,它们不再局限于传统的DML事件,而是扩展到了系统级别,包括...
Oracle数据库监听工具