D:\>sqlplus test/test
SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 06月 29 19:46:41 2016
Copyright (c) 1982, 2007, Oracle.  All rights reserved.

连接到:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL>
SQL> commit;  --提交
提交完成。
SQL> alter system flush buffer_cache;  --清缓冲
系统已更改。
SQL> get undo5
  1  select n.name,v.value from v$sesstat v,v$statname n
  2  where v.statistic#=n.statistic#
  3  and n.name in('undo change vector size','redo size','DBWR undo block writes','redo blocks written')
  4* and v.sid=(select distinct sid from v$mystat) 
  --获取当前会话的('undo change vector size','redo size','DBWR undo block writes','redoblocks written'
SQL> colu name for a30
SQL> /
NAME                                VALUE
------------------------------ ----------
DBWR undo block writes                  0
redo size                               0
redo blocks written                     0
undo change vector size                 0
SQL> get undo_redo
  1  select * from v$sysstat where name in('DBWR undo block writes',
  2*                                       'redo blocks written')
--获取当前系统的'DBWR undo block writes','redoblocks written'
SQL> /
STATISTIC# NAME                                CLASS      VALUE    STAT_ID
---------- ------------------------------ ---------- ---------- ----------
        75 DBWR undo block writes                  8        214  111270822
       139 redo blocks written                     2       3183 2391431605
SQL>  insert /*+ append*/ into &tab_new select * from &tab_old;   --执行direct path INSERT
输入 tab_new 的值:  bb
输入 tab_old 的值:  aa
原值    1:  insert /*+ append*/ into &tab_new select * from &tab_old
新值    1:  insert /*+ append*/ into bb select * from aa
已创建4行。
SQL>  select XIDUSN,xidslot,xidsqn,ubafil,ubablk,ubasqn,ubarec,USED_UBLK
  2     from v$transaction;  --获取当前事务回滚段
    XIDUSN    XIDSLOT     XIDSQN     UBAFIL     UBABLK     UBASQN     UBAREC
---------- ---------- ---------- ---------- ---------- ---------- ----------
 USED_UBLK
----------
         7          4        196          0          0          0          0
         1

SQL>  select name from v$rollname where usn=&usnn;   --获取当前事务回滚段名
输入 usnn 的值:  7
原值    1:  select name from v$rollname where usn=&usnn
新值    1:  select name from v$rollname where usn=7
NAME
------------------------------
_SYSSMU7$
SQL>  alter system dump undo header "&un";    --导出当前事务提交前回滚段头信息
输入 un 的值:  _SYSSMU7$
原值    1:  alter system dump undo header "&un"
新值    1:  alter system dump undo header "_SYSSMU7$"
系统已更改。
SQL> COMMIT;  --提交事务
提交完成。
SQL> ALTER SYSTEM FLUSH BUFFER_CACHE;  --刷新缓冲
系统已更改。
SQL> ALTER SYSTEM FLUSH BUFFER_CACHE;  --刷新缓冲
系统已更改。
SQL> GET UNDO5
  1  select n.name,v.value from v$sesstat v,v$statname n
  2  where v.statistic#=n.statistic#
  3  and n.name in('undo change vector size','redo size','DBWR undo block writes','redo blocks written')
  4* and v.sid=(select distinct sid from v$mystat)
--获取事务执行并提交后的'undo change vector size','redo size','DBWR undo block writes','redo blocks written'信息
SQL> /
NAME                                VALUE
------------------------------ ----------
DBWR undo block writes                  0
redo size                            4264
redo blocks written                     0
undo change vector size              1064
--注意:事务执行前undo change vector size:0,执行direct path INSERT后,其值:1064,前后差值:1064
SQL> GET UNDO_REDO
  1  select * from v$sysstat where name in('DBWR undo block writes',
  2*                                       'redo blocks written')
--获取当前系统DBWR undo block writes','redo blocks written'信息
SQL> /
STATISTIC# NAME                                CLASS      VALUE    STAT_ID
---------- ------------------------------ ---------- ---------- ----------
        75 DBWR undo block writes                  8        216  111270822
       139 redo blocks written                     2       3195 2391431605
--注意:事务执行前DBWR undo block writes:214 ,执行direct path INSERT后,其值:216,前后差值:2
SQL>  alter system dump undo header "&un";    --事务提交后再次导出事务使用回滚段头信息
输入 un 的值:  _SYSSMU7$
原值    1:  alter system dump undo header "&un"
新值    1:  alter system dump undo header "_SYSSMU7$"
系统已更改。
SQL> ALTER SYSTEM DUMP DATAFILE 2 BLOCK MIN 5391 BLOCK MAX 5393; 
--由导出事务提交后回滚段头信息确定,事务提交后xid对应的回滚段数据文件及块号:0x00801510 -->对应文件号(二进制前十位):2 块号(二进制后22位):5392
系统已更改。
SQL> select object_name from dba_objects where object_id=13697;  --由导出回滚段块中,相应事务XID对应的undo信息中,objn=13697,获取此UNDO信息对应的数据库对象为表BB,这正是我们在其上执行direct path INSERT操作的表;
OBJECT_NAME
--------------------------------------------------------------------------------
BB

测试APPEND INSERT是否产生UNDO信息的过程的更多相关文章

  1. [置顶] zabbix通过lykchat发送告警信息配置过程

    本文介绍zabbix通过lykchat发送告警信息配置过程. lykchat代码在https://github.com/lykops/lykchat/ 步骤 编写脚本 1).查看服务器端的配置文件et ...

  2. 一次接口压力测试qps极低原因分析及解决过程

    一次接口压力测试qps极低原因分析及解决过程 9-2日在做内部的性能测试相关培训时,发现注册接口压力测试qps极低(20左右),这个性能指标远不能达到上线标准 ,经过一系列调试,最后定位 98%的时间 ...

  3. python的append insert extend pop del remove使用

    对于 python 数组的操作,有插入和删除,下面介绍各个函数的功能: 插入 插入的函数有 append.insert .extend append append(i) 是在数组的末尾插入一个元素 i ...

  4. beta阶段测试基本概况对应机型硬件信息

    机型测试概况 测试结果 测试终端数 品牌分布分析 系统分布分析 分辨率分布 未执行 1 联想 4.0.3 480*800 安装失败 1 联想 4.2.1 480*854 通过 119 华为, 三星, ...

  5. 【RF库Collections测试】Insert Into List

    Name:Insert Into ListSource:Collections <test library>Arguments:[ list_ | index | value ]Inser ...

  6. Android -- junit测试框架,logcat获取log信息

    1. 相关概念 白盒测试: 知道程序源代码. 根据测试的粒度分为不同的类型   方法测试 function test         单元测试 unit test                 集成 ...

  7. del|append()|insert()|pop()|remove()|sort()|sorted|reverse()|len()|range()|min()|max()|sum()|[:]|区分两种列表复制|

    fruit = ['apple','banana','peach'] print fruit[0],fruit[-1] fruit_1 =[] fruit_1.append('orange') pri ...

  8. curl/wget 测试http请求的响应头信息

    1. wget –debug wget可以使用debug信息来查看信息头,如下: [root@localhost ~]# wget --debug http://192.168.1.101:8080/ ...

  9. python测试开发django-35.xadmin注册表信息

    前言 xadmin后台如果要对表的内容增删改查,跟之前的admin.py文件里面写注册表信息一样,需在admin.py同一级目录新建一个adminx.py的文件. 然后在adminx.py文件控制页面 ...

随机推荐

  1. 使用kubeadm搭建Kubernetes(1.10.2)集群(国内环境)

    目录 目标 准备 主机 软件 步骤 (1/4)安装 kubeadm, kubelet and kubectl (2/4)初始化master节点 (3/4) 安装网络插件 (4/4)加入其他节点 (可选 ...

  2. java的finalize方法使用

    1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法. finalize()与C++中的析构函数 ...

  3. 四种生成和解析XML文档的方法详解

    众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...

  4. 面试题-一个for循环输出一个棱形

    用一个for循环输出以下棱形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

  5. Git的fast forward和no fast forward和 three way merge 以及squash(聚合)

    github上上传了版本库https://github.com/ChuckGitMerge   包括merge和rebase 没时间画图,貌似也不太会用画图工具,先写了一个文字版本的 更新:2015年 ...

  6. linux 下查看wwn号

    PC server主机与FC存储进行连接时,一般需要加装HBA卡,两者之间衔接的一个重要参数就是wwn号.redhat或suse下查看wwn号的方法如下.一.SuSE Linux 9查看 /proc/ ...

  7. mysql经典面试题

    数据库优化:这个优化法则归纳为5个层次:1. 减少数据访问(减少磁盘访问)2. 返回更少数据(减少网络传输或磁盘访问)3. 减少交互次数(减少网络传输)4. 减少服务器CPU开销(减少CPU及内存开销 ...

  8. 微信小程序中自定义函数的学习使用

    新手,最近在给学校搞个党费计算器.需要自己定义函数来实现某个功能. 1.无参函数: 函数都是写在js文件里面的. Page({ data:{ income1:'0', }, cal:function( ...

  9. quick-cocos2d-x与 cocos2d-x的关系

    quick-cocos2d-x(后文简称 quick)与 cocos2d-x 的关系,用一句话概括:quick 是 cocos2d-x 针对 Lua 的豪华套装威力加强版. 那 quick 与 coc ...

  10. Java开源生鲜电商平台-订单表的设计(源码可下载)

    Java开源生鲜电商平台-订单表的设计(源码可下载) 场景分析说明: 买家(餐馆)用户,通过APP进行选菜,放入购物车,然后下单,最终支付的流程,我们称为下单过程. 买家可以在张三家买茄子,李四家买萝 ...