
正文
oracle查询dml,Oracle查询死锁
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Oracle中如何查询到历史DML语句
可通过查询系统视图v$sql来查询历史操作。查询语句:select * from v$sql;查询结果:其中红框内的部分,就是操作记录。
如果是insert,update,delete的话,不可能知道,因为这些dml语句是不记录日志的。如果你没有相关的触发器,但是有严格的用户限制,那么直接去问就好。如果有触发器,那么查看触发器的结果就行。
只包含DML与DDL语句,不能查询select语句。另外需要开启supplemental logging,默认是没有开启的。
可能查不到 2 原因可能是执行历史记录被删除了,或者是oracle未开启SQL执行历史记录功能。
相关问答
Q1: oracle中的DML,DDL,DCL操作分别指的什么,请通俗点。
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的连接和约束等初始化工作上,他们大多在建立表时使用。DCL(Data Control Language)是数据库控制功能。
DCL(DataControlLanguage)数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。在公司呢一般情况下我们用到的是DDL、DML这两种。
DML操作是可以手动控制事务的开启、提交和回滚的。DDL操作是隐性提交的,不能rollback!数据库四大语言:DDL (数据定义语言)数据定义语言 - Data Definition Language,用来定义数据库的对象,如数据表、视图、索引等。
Q2: Oracle数据表执行dml提交后如何恢复
如果是dml操作,没有提交,那么就用回滚。如果已经提交,时间不长,没有发生在线日志切换,那么就用闪回。(基本上是基于时间的)如果两个都没有了,那就用备份恢复。如果备份也没有了,那就没办法了。
Oracle DBA神器:PRM-DUL灾难恢复工具可以直接从这种受损的Oracle数据库中将数据拯救出来。
第一种:首先,备份数据库(X:oracleoradata)下的数据文件,重新命名即可(否则装数据库的时候会提示sid已存在)。重新安装数据库,当然数据库的名字就是你要恢复的名字。安装完成后,打开控制面板,停止oracle的服务。
其实Oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交。对应的PL\SQL也是要先点execute执行,执行后再点commit提交。
数据恢复方法是利用oracle提供的闪回方法进行数据恢复,适用于delete删除(一条记录)方式:首先需要知道是什么时间进行的删除操作,如果不能确定具体时间点则选择尽量准确的删除数据前的时间。
安装Oracle数据库软件,并且用Oracle管理工具中的Database Configuration Assistant 根据对方提供的数据库名建立数据库。数据库版本则要和导出当前dmp文件的数据库版本一致。
Q3: 什么是OracleKey-PreservedTable和什么样的视图可以进行DML操作
简单视图只从单表里获取数据;复杂视图从多表里获取数据。简单视图不包含函数和数据组;复杂视图包含函数和数据组。简单视图可以实现DML操作;复杂视图不可以。
简单视图是可以进行DML操作。复杂视图有部分可以DML操作,若复杂视图中有分组函数、groupby字句、distinct、伪列等则不可以做DML操作。有的视图上会加with check option和with read only约束。
无法通过DML操作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。
关于oracle查询dml和Oracle查询死锁的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








