[20140513]无用的dml语句.txt

[20140513]无用的dml语句.txt

--昨天需要使用logminer挖掘一些信息,发现生产系统存在大量的DML是无用的垃圾,到底开发是什么测试,了解oracle多少。
--这个让我想起多年以前的一个项目,程序使用的操作方式是先delete删除,然后简单的insert插入信息的方式,这个要产生大量
--日志,花了大量的精力才说服对方修改这样操作方式。

/* Formatted on 2014/5/13 8:58:20 (QP5 v5.252.13127.32867) */
SELECT sql_redo
  FROM (  SELECT SCN,
                 timestamp "Time Stamp",
                 log_id "Log ID",
                 seg_type_name "Segment Type Name",
                 seg_owner "Segment Owner",
                 seg_name "Segment Name",
                 table_space "Tablespace",
                 abs_file# "Abs File #",
                 row_id "Row ID",
                 session# "Session #",
                 serial# "Serial #",
                 session_info "Session Info",
                 username "Username",
                 operation "Operation",
                 sql_redo ,
                 sql_undo "SQL Undo",
                 Info "Info",
                 status "Status"
            FROM V$LOGMNR_CONTENTS
           WHERE sql_redo = sql_undo AND sql_redo 'Unsupported'
        ORDER BY sql_redo)

 
--我检查发现许多update语句是在做无用功。

update "XXXXXXXX"."EMR_BL04" set "FJLX" = '1', "FJGL" = '0' where "FJLX" = '1' and "FJGL" = '0' and ROWID = 'AAAOmGAAPAALT+hAAh';

--可以发现并没有修改信息。

时间: 2024-10-22 13:32:37

[20140513]无用的dml语句.txt的相关文章

浅析非IMU模式下DML语句产生的REDO日志内容格式

实验内容:非IMU模式下DML语句产生的REDO日志内容格式解读,数据库版本:11.2.0.4 最详细的解读是UPDATE的. 实验环境准备 11G中默认是开启IMU特性的,做此实验需要关闭此特性. alter system set "_in_memory_undo"=false; alter system set "_in_memory_undo"=true;  --实验结束后使用此语句改回使用IMU特性. 修改参数完成后,重启数据库: shutdown imme

oracle的DML语句和undo简介

对于DML语句来说,只要修改了数据块,Oracle数据库就会将修改前的数据保留下来,保存在undo segment里,而undo segment则保存在undo表空间里.从 Oracle 9i起,有两种undo的管理方式:自动Undo管理(Automatic Undo Management,简称AUM)和手工Undo管理(Manual Undo Management,简称MUM). Oracle 9i之前只能使用MUM,而且在MUM中,undo segment又叫做rollback segmen

mysql双主问题-紧急求助:生产环境,mysql双主结构,备机同步DDL语句成功,但是同步DML语句失败

问题描述 紧急求助:生产环境,mysql双主结构,备机同步DDL语句成功,但是同步DML语句失败 问题描述:双主架构环境,最近在主机上执行DDL语句能成功同步到备机,但是在主机上执行DML语句失败,请各位帮忙看一下,谢谢! Linux版本: Red Hat Enterprise Linux Server release 5.4 (Tikanga) mysql版本 +----------------------------+ | @@version | +---------------------

5.DML语句

        DML语句用于操作数据表的数据,如:插入.修改.删除.insert into.update和delete from三个命令组成. 1.insert into INSERT INTO `grade` (`id`, `math`)VALUES('1','83');  若省略表名后的括号及括号内的列名列表,默认将为所有列插入值. 若某列值不确定,则为该列分配一个null值.INSERT INTO `grade` (`id`, `math`) VALUES (NULL , '83');

[20160704]从跟踪文件抽取sql语句.txt

[20160704]从跟踪文件抽取sql语句.txt --以前写过两篇,链接如下: http://blog.itpub.net/267265/viewspace-775398/ http://blog.itpub.net/267265/viewspace-748041/ 1个利用tkprof的recodr参数,可以记录跟踪整个sql语句序列,缺点就是丢失一些递归的sql语句.另外一个利用awk脚本抽取sql语句. 今天再写一个简单一点的脚本: 1.环境: SCOTT@book> @ &r/v

[20150403]修正sql语句.txt

[20150403]修正sql语句.txt --主要在一些调试与优化时加入hint容易. --参考了链接,我自己做了小量的修改. http://blog.itpub.net/22034023/viewspace-1063610/ /* Formatted on 2015/4/3 9:01:53 (QP5 v5.252.13127.32867) */ --SET LINESIZE 153 SET VERIFY OFF --SET PAGESIZE 10000 --ACCEPT sql_id - -

[20161230]查看父游标中sql语句.txt

[20161230]查看父游标中sql语句.txt --上午巡检完,无聊,测试使用oradebug下查看sql语句在父游标中的内容.sql语句在执行第一次硬解析时生成父子游标,其中父游标chunk --中保存sql语句,测试通过oradebug下如何查看: 1.环境: SCOTT@book> select * from dept where deptno=10;     DEPTNO DNAME          LOC ---------- -------------- -----------

[20150705]从AWR抽取有问题的sql语句.txt

[20150705]从AWR抽取有问题的sql语句.txt --闲着没事,写一个脚本从awr数据里面抽取有问题的sql语句,主要我不想看awr报表,而优化80%的问题集中在sql语句,实际上可能更多. --另外我看报表主要集中在9-11点,下午3-5点这些报表,这样可能漏调一些晚上的一些schedule,job等相关sql语句的优化. --注意一定要在环境变量中设置 --NLS_DATA_FORMAT='YYYY/MM/DD HH24:MI:SS' prompt prompt @deltasql

[20150831]中文符号在sql语句.txt

[20150831]中文符号在sql语句.txt --今天在检查代码时发现sql语句中存在全角的等号"=",很明显oracle并没有报错. --实际上itpub上以前有人提到全角","也不会报错. --自己也测试一下: SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -----