Oracle表变化趋势追踪记录

#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 

Column Datatype  NULL  Description 

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 
时间: 2024-11-02 22:12:23

Oracle表变化趋势追踪记录的相关文章

查看Oracle表中的指定记录在数据文件中的位置

查看Oracle表中的指定记录位置select rowid,user_id from sshr.xx_user where user_id=3010586 select rowid,       dbms_rowid.rowid_object(rowid) object_id,              dbms_rowid.rowid_relative_fno(rowid) file_id,              dbms_rowid.rowid_block_number(rowid) b

Oracle使用游标删除所有用户数据表中的所有记录脚本

应用场景:因为数据库中的数据涉及机密信息,希望一次性能删除掉所有数据,只保留数据表结构,供新项目开发程序用 测试结果:经查询已删除所有数据 存在问题:数据表如果存在外键的话下面脚本可能执行不成功,请自行删除或者过滤掉该表,见下图 操作办法:直接将下面的脚本内容复制到PQSQL中执行即可 --Oracle使用游标删除所有用户数据表中的所有记录脚本 declare mystring NVARCHAR2(1000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游

追踪记录每笔业务操作数据改变的利器——SQLCDC

对于大部分企业应用来用,有一个基本的功能必不可少,那就是Audit Trail或者Audit Log,中文翻译为追踪检查.审核检查或者审核记录.我们采用Audit Trail记录每一笔业务操作的基本信息,比如操作的基本描述.操作时间.操作者等.对于一些安全级别比较高的应用,或者操作一些比较敏感的数据,我们甚至需要记录该笔业务操作引起的数据的改变.具体来说,这里的"数据改变"指的是每一条影响的记录在操作执行前后的变化.对于添加的记录,需要记录下新插入的记录:对于删除的记录,需要记录下原来

查看scn headroom变化趋势的几种方法

scn headroom问题,本文不做解释. 本文为自己的总结,脚本来自于oracle sr技术工程师. 转载请注明出处http://blog.csdn.net/msdnchina/article/details/38404501 第一个方法:查询smon_scn_time表获得. conn / as sysdba set numwidth 17 set pages 1000 alter session set nls_date_format='DD/Mon/YYYY HH24:MI:SS';

Oracle 表分区与索引分区

分区技术简介 Oracle是最早支持物理分区的数据库管理系统供应商,表分区的功能是在Oracle 8.0版本推出的.分区功能能够改善应用程序的性能.可管理性和可用性,是数据库管理中一个非常关键的技术.尤其在今天,数据库应用系统的规模越来越大,还有海量数据的数据仓储系统,因此,几乎所有的Oracle数据库都使用分区功能来提高查询的性能,并且简化数据库的日常管理维护工作. 那么使用分区技术有哪些优点呢?具体如下: 减少维护工作量,独立管理每个分区比管理单个大表要轻松得多. 增强数据库的可用性,如果表

在MySQL中使用init-connect与binlog来实现用户操作追踪记录

前言:测试环境莫名其妙有几条重要数据被删除了,由于在binlog里面只看到是公用账号删除的,无法查询是那个谁在那个时间段登录的,就考虑怎么记录每一个MYSQL账号的登录信息,在MYSQL中,每个连接都会先执行init-connect,进行连接的初始化,我们可以在这里获取用户的登录名称和thread的ID值.然后配合binlog,就可以追踪到每个操作语句的操作时间,操作人等.实现审计. 1,在mysql服务器db中建立单独的记录访问信息的库set names utf8;create databas

五、oracle 表的管理

一.表名和列名的命名规则1).必须以字母开头2).长度不能超过30个字符3).不能使用oracle的保留字4).只能使用如下字符 a-z,a-z,0-9,$,#等 二.数据类型1).字符类char 长度固定,最多容纳2000个字符.例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全,如‘小韩      ’varchar2(20) 长度可变,最多容纳4000个字符.例子:varchar2(10) ‘小韩’ oracle分配四个字符.这样可以节省空间.clob(character

oracle 表的管理

一.表名和列名的命名规则1).必须以字母开头2).长度不能超过30个字符3).不能使用oracle的保留字4).只能使用如下字符 a-z,a-z,0-9,$,#等 二.数据类型1).字符类char 长度固定,最多容纳2000个字符.例子:char(10) '小韩'前四个字符放'小韩',后添6个空格补全,如'小韩      'varchar2(20) 长度可变,最多容纳4000个字符.例子:varchar2(10) '小韩' oracle分配四个字符.这样可以节省空间.clob(character

ORACLE查询并删除重复记录

查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录delete from people where