测试APPEND INSERT是否产生UNDO信息的过程
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信息的过程的更多相关文章
- [置顶]
zabbix通过lykchat发送告警信息配置过程
本文介绍zabbix通过lykchat发送告警信息配置过程. lykchat代码在https://github.com/lykops/lykchat/ 步骤 编写脚本 1).查看服务器端的配置文件et ...
- 一次接口压力测试qps极低原因分析及解决过程
一次接口压力测试qps极低原因分析及解决过程 9-2日在做内部的性能测试相关培训时,发现注册接口压力测试qps极低(20左右),这个性能指标远不能达到上线标准 ,经过一系列调试,最后定位 98%的时间 ...
- python的append insert extend pop del remove使用
对于 python 数组的操作,有插入和删除,下面介绍各个函数的功能: 插入 插入的函数有 append.insert .extend append append(i) 是在数组的末尾插入一个元素 i ...
- beta阶段测试基本概况对应机型硬件信息
机型测试概况 测试结果 测试终端数 品牌分布分析 系统分布分析 分辨率分布 未执行 1 联想 4.0.3 480*800 安装失败 1 联想 4.2.1 480*854 通过 119 华为, 三星, ...
- 【RF库Collections测试】Insert Into List
Name:Insert Into ListSource:Collections <test library>Arguments:[ list_ | index | value ]Inser ...
- Android -- junit测试框架,logcat获取log信息
1. 相关概念 白盒测试: 知道程序源代码. 根据测试的粒度分为不同的类型 方法测试 function test 单元测试 unit test 集成 ...
- 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 ...
- curl/wget 测试http请求的响应头信息
1. wget –debug wget可以使用debug信息来查看信息头,如下: [root@localhost ~]# wget --debug http://192.168.1.101:8080/ ...
- python测试开发django-35.xadmin注册表信息
前言 xadmin后台如果要对表的内容增删改查,跟之前的admin.py文件里面写注册表信息一样,需在admin.py同一级目录新建一个adminx.py的文件. 然后在adminx.py文件控制页面 ...
随机推荐
- 使用kubeadm搭建Kubernetes(1.10.2)集群(国内环境)
目录 目标 准备 主机 软件 步骤 (1/4)安装 kubeadm, kubelet and kubectl (2/4)初始化master节点 (3/4) 安装网络插件 (4/4)加入其他节点 (可选 ...
- java的finalize方法使用
1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法. finalize()与C++中的析构函数 ...
- 四种生成和解析XML文档的方法详解
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...
- 面试题-一个for循环输出一个棱形
用一个for循环输出以下棱形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
- Git的fast forward和no fast forward和 three way merge 以及squash(聚合)
github上上传了版本库https://github.com/ChuckGitMerge 包括merge和rebase 没时间画图,貌似也不太会用画图工具,先写了一个文字版本的 更新:2015年 ...
- linux 下查看wwn号
PC server主机与FC存储进行连接时,一般需要加装HBA卡,两者之间衔接的一个重要参数就是wwn号.redhat或suse下查看wwn号的方法如下.一.SuSE Linux 9查看 /proc/ ...
- mysql经典面试题
数据库优化:这个优化法则归纳为5个层次:1. 减少数据访问(减少磁盘访问)2. 返回更少数据(减少网络传输或磁盘访问)3. 减少交互次数(减少网络传输)4. 减少服务器CPU开销(减少CPU及内存开销 ...
- 微信小程序中自定义函数的学习使用
新手,最近在给学校搞个党费计算器.需要自己定义函数来实现某个功能. 1.无参函数: 函数都是写在js文件里面的. Page({ data:{ income1:'0', }, cal:function( ...
- quick-cocos2d-x与 cocos2d-x的关系
quick-cocos2d-x(后文简称 quick)与 cocos2d-x 的关系,用一句话概括:quick 是 cocos2d-x 针对 Lua 的豪华套装威力加强版. 那 quick 与 coc ...
- Java开源生鲜电商平台-订单表的设计(源码可下载)
Java开源生鲜电商平台-订单表的设计(源码可下载) 场景分析说明: 买家(餐馆)用户,通过APP进行选菜,放入购物车,然后下单,最终支付的流程,我们称为下单过程. 买家可以在张三家买茄子,李四家买萝 ...