Oracle 检查表的数据变动

本知识点仅适用于Oracle 9i以上的版本。查看表的数据变动情况请使用SQL语句:select * from user_tab_modifications;user_tab_mo

本知识点仅适用于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

2begin

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(‘执行成功’);

8end Pro_Analyze_And_TableModify;

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1960092.html

(0)
上一篇 2025年2月23日 04:53:42
下一篇 2025年2月23日 04:53:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 数据库的单个数据表中有几个主键?

    数据库的单个数据表中只能有一个主键。数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性;主键主要是用与其他表的外键关联,以及本记录的修改与删除。 数据库的单个数据表中只能有一个主键。 数据库主键,…

    2025年2月23日
    000
  • 最常用的三大中文数据库是什么?

    最常用的三大中文数据库是:“MySQL”、“SQL Server”、“Oracle”。“MySQL”具有体积小、成本低的特点;“SQL Server”具有易用性和友好的用户界面;“Oracle”具有系统可移植性好、快捷灵活的特点。 最常用的…

    2025年2月23日
    100
  • access中表和数据库的关系是什么?

    access中表和数据库的关系是:一个数据库可以包含多个表。Access是一个数据库管理系统,通过各种数据库对象来管理信息;这些对象都存放在同一个数据库文件中,一个数据库可以有多个表,表和表之间可以有关系,也可以相互独立。 access中表…

    2025年2月23日
    100
  • 数据库对象包括哪六个?

    数据库对象包括:用户(对数据库有权限访问的人)、视图(显示用户需要的数据项)、索引(给用户提供快速访问数据的途径)、触发器(用户定义的SQL事务命令集合)、序列(提供了唯一数值的顺序表)、图表(数据库表之间的一种关系示意图)。 主要的数据库…

    2025年2月23日
    100
  • 数据库中能够唯一地标识一个元组的属性或属性的组合称为什么

    数据库中能够唯一地标识一个元组的属性或属性的组合称为关键字。数据库是存放数据的仓库,它的存储空间很大,可以存放非常多的数据。但是数据库并不是随意存放数据,是有一定的规则的。 数据库中能够唯一地标识一个元组的属性或属性的组合称为关键字。 (推…

    2025年2月23日
    100
  • 数据库文件中至少包含有什么对象

    数据库文件中至少包含有表对象。数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库可视为电子化的文件柜,用户可以对文件中的数据进行新增、查询、更新、删除等操作。 数据库文件中至少包含有表对象。 (推荐学习:…

    2025年2月23日
    100
  • 数据表中的行称为什么?

    数据表中的行称为记录;数据表中的列称为字段。数据库是“按照数据结构来组织、存储和管理数据的仓库”;是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据表中的行称为记录;数据表中的列称为字段 数据库是“按照数据结构…

    2025年2月23日
    100
  • sql是层次数据库的标准语言吗?

    sql语言不是层次数据库的标准语言,是关系数据库的标准语言。结构化查询语言SQL是一个综合的、通用的、功能极强的关系数据库语言;用于存取数据以及查询、更新和管理关系数据库系统。 SQL(Structured Query Language,结…

    2025年2月23日
    100
  • 数据库英文缩写是什么?

    数据库英文缩写是:“DB”(Database)。“DBMS”表示数据库管理系统(Database Management System);数据库是以某种规则储存在一起、能够与多个用户共享、具有尽可能小的冗余度、且与应用程序彼此独立的数据集合。…

    2025年2月23日
    100
  • 在创建交叉表查询时,列标题字段的值显示在交叉表的位置是什么?

    在创建交叉表查询时,列标题字段的值显示在交叉表的位置是:第一行。交叉表查询是将来源于某个表中的字段进行分组,一组列在数据表左侧作为交叉表的行字段,另一组列在数据表的顶端作为交叉表的列字段。 在创建交叉表查询时,用户需要指定3种字段: 一是放…

    2025年2月23日
    100

发表回复

登录后才能评论