本知识点仅适用于Oracle 9i以上的版本。

查看表的数据变动情况请使用SQL语句:select * from user_tab_modifications;

user_tab_modifications表的字段如下,从这个表中能够轻松找到表中做的修改,删除,增加记录的情况

注意以及使用方法:

1、但这张表不是实时更新的,默认情况15分钟更新一次,所以你更新一张表,可能在 user_tab_modifications里不能立刻体现出来。

2、想要实时查看也有办法实现,那就是在执行select * from user_tab_modifications之前先执行exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;这个存储过程目的就是立刻刷新异动信息的

3、当执行上面的存储过程出错时候,错误如下:

ERROR at line 1:

ORA-20000: Insufficient privileges

ORA-06512: at "SYS.DBMS_STATS", line 2148

ORA-06512: at "SYS.DBMS_STATS", line 14135

ORA-06512: at line 1

哈哈错误很明显,没有权限,那么提权!

4、为用户提权,首先用管理员账号登陆,授予某个账户执行DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO的权限。

grant analyze any to epplm(这里是你的用户名)

5、OK提权成功,那么返回到原账号(epplm),再执行exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO,OK没问题

6、此时再执行select * from user_tab_modifications,记录出现了。

7、FLUSH_DATABASE_MONITORING_INFO存储过程之后,所有之前的操作都将被提交!

8、对于Oracle10i以及以上的版本,DML操作,都可以在该表中查到,因为这个功能默认是开启的,如果没有开启,可以通过这个方法开启:alter table t monitoring;

存储过程:

create or replace procedure Pro_Analyze_And_TableModify is
2 begin
3    dbms_output.put_line('开始执行,过程很长,请等待');
4    DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;--立刻刷新
5    insert into TableModifications select from user_tab_modifications;--两个表结构一样
6    Pro_AnalyzeTables;--执行分析表(调用上一篇的存储过程)
7    dbms_output.put_line('执行成功');
8 end Pro_Analyze_And_TableModify;

Oracle 检查表的数据变动的更多相关文章

  1. oracle 11g dbf数据文件从C盘迁移到D盘

    服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sqlplu ...

  2. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  3. 【转】Oracle当中扫描数据的方法

    本文将对oracle当中扫描数据的存取方法进行介绍. 1) 全表扫描(Full Table Scans, FTS) 为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限 ...

  4. oracle中的数据对象

    oracle中的数据对象有表.视图.索引.序列等 表的相关操作 1.创建表 方式一: 方式二:create table person( create table person1 id number(1 ...

  5. Oracle导入excel数据方法汇总[转]

    摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况.目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的 ...

  6. 基于Oracle OCI的数据访问C语言接口ORADBI .

    基于Oracle OCI的数据访问C语言接口ORADBI cheungmine@gmail.com Mar. 22, 2008   ORADBI是我在Oracle OCI(Oracle 调用接口)基础 ...

  7. 在Oracle中更新数据时,抛出:ORA-01008: not all variables bound

    在Oracle中更新数据时,抛出了一个 :ORA-01008 not all variables bound, 我的理解是不是所有的变量/参数都有边界,不懂: 后来知道了,原来是“不是所有变量/参数都 ...

  8. 【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp

    一.本人环境描述      1.oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0      2.Linux为centos6.5 32位,安装在Oracle VM Vir ...

  9. Oracle数据库用户数据完整备份与恢复

    使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1   PL/SQL->工具->导 ...

随机推荐

  1. CentOS7安装virtualbox

    1.进入virtualbox官网 https://www.virtualbox.org/ 2.点击download 3.点击Linux distributions 4.向下翻至如图,并且进入同种框选页 ...

  2. Windows Git Bash命令行下创建git仓库并更新到github

    大二的时候就听过老师说有一个叫git的版本管理工具,当时只是听老师说说而已,也没有去使用它,因为当时用过svn,就感觉自己没多少东西需要git管理. 最近几天,我经常在开源中国看别人的帖子,看到别人对 ...

  3. Java网络编程(二)关于Socket的一些个人想法

    1.Socket之间是如何通信的? 1.1 通信是要两两之间进行的所以应该有至少一个客户端(Client)和一个服务器端(Server),一般来说都是多个c端对一个s端---c\s 1.2 在客户端: ...

  4. springboot-22-自定义starter

    先说下springboot的运行原理 springboot最主要的配置 是 @SpringBootApplication 然后这里面 @EnableAutoCOnfiguration 最为重要, 继续 ...

  5. 在Linux上创建webrev[基于git]

    在Sun/Oracle工作了N(>12)年后,对webrev工具甚为喜欢,因为其易用性确实非常好.幸运的是,有工程师将webrev工具放到了GitHub上,而且支持git. 下面给出使用webr ...

  6. tmux快捷键汇总(常用)

    会话外操作: tmux new -s <name-of-my-session> 在会话外创建一个新的会话 tmux ls 在会话外获取会话列表 tmux a(attach) -t < ...

  7. C++实现顺序查找,折半查找,插值查找

    1.顺序查找 从数组起始扫描到数组结尾,判断该索引数组是否和关键字相等,成功返回1 代码如下: //顺序查找 int seqSearch(int *array, int low, int high, ...

  8. iOS开源项目周报0119

    由OpenDigg 出品的iOS开源项目周报第六期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Sharaku ...

  9. [转]Vue.js 目录结构

    本文转自:http://www.runoob.com/vue2/vue-directory-structure.html 上一章节中我们使用了 npm 安装项目,我们在 IDE(Eclipse.Ato ...

  10. Linux安装之后需要进行的一些步骤

    查看IP 首先安装后需要查看ip用SSH或者XSHELL来连接Linux,查看ip代码 ifconfig 需要执行 sudo yum install net-tools 命令安装之后 就可以看到ip了 ...