Oracle11g温习-第十一章:管理undo
2013年4月27日 星期六
10:40
|
1、undo tablespace 功能 |
|
|
undo tablespace 功能:用来存放从datafiles 读出的数据块旧的镜像 【 1) 回滚事务:rollback 2) 读一致性:正在做DML操作的数据块,在没有提交前,其他用户不能读,其他用户读undo里面的数据块信息 3) 事务的恢复:instance recover (undo -------->rollback) 4) 倒序查询:flashback query、flashback table 】 |
|
|
2、undo 的管理模式 |
|
|
1) manaual 手工:roll segment 2) auto 自动: undo tablespace ( init parameter :undo_management = auto) ,自动创建undo段 |
|
|
3、undo 表空间管理 |
|
|
1)【建立新的undo表空间(处于active状态的undo tablespace 不能offline 和 drop),可以建立多个undo表空间,但一个时刻只有一个处于active 】 SYS @ prod > create undo tablespace undotbs2 datafile '/u01/app/oracle/oradata/orcl/undotbs02.dbf' size 100m autoextend on next 10m maxsize 500m; 创建自动扩展的undo表空间
Tablespace created. SYS @ prod > select tablespace_name,status,contents from dba_tablespaces; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- SYSTEM ONLINE PERMANENT UNDOTBS ONLINE UNDO SYSAUX ONLINE PERMANENT TEMP ONLINE TEMPORARY USERS ONLINE PERMANENT UNDOTBS02 ONLINE UNDO 2)查看当前正在使用的undo tablespace SYS @ prod > show parameter undo NAME TYPE VALUE ------------------------------------ --------------------------------- ------------------------------ undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS 3)切换undo表空间 SYS @ prod >alter system set undo_tablespace=undotbs2; System altered. SYS @ prod > show parameter undo NAME TYPE VALUE ------------------------------------ --------------------------------- ------------------------------ undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS02 4)删除undo tablespace SYS @ prod >drop tablespace undotbs including contents and datafiles; Tablespace dropped. 5) undo_retention 参数
6)undo 表空间的大小 1) undo_retention 2) undo block /per second 3) UNDO BLOCK SIZE |
|
|
4、undo 信息的查询 |
|
|
1) v$session 【查看用户建立的session】 2) v$transaction 【当前的事务】 3) v$rollname 【回滚段的名称】 4) v$rollstat 【回滚段的状态】 SSYS @ prod > desc v$session; SYS @ prod > select username,sid,serial# from v$session where username is not null; USERNAME SID SERIAL# ------------------------------ ---------- ---------- SCOTT 141 4 SYS 159 3 SYS @ prod > desc v$transaction ;
Name Null? Type ----------------------------------------- -------- ---------------------------- ADDR RAW(4) 事务处理状态对象的地址 XIDUSN NUMBER ——xidusn :undo segment 的id 撤消段的号 XIDSLOT NUMBER ——xidslot:事务槽的id 插曹号 XIDSQN NUMBER 序列号 UBAFIL NUMBER 撤消块地址(UBA)的文件号 UBABLK NUMBER UBA 块号 UBASQN NUMBER UBA 序列号 UBAREC NUMBER UBA 记录号 STATUS VARCHAR2(16) 状态号 START_TIME VARCHAR2(20) 起始时间(挂钟) START_SCNB NUMBER 起始系统更改号(SCN)的基点 START_SCNW NUMBER 起始SCN 包 START_UEXT NUMBER 起始区号 START_UBAFIL NUMBER 起始UBA 文件号 START_UBABLK NUMBER 起始UBA 块号 START_UBASQN NUMBER 起始UBA 序列号 START_UBAREC NUMBER 起始记录号 SES_ADDR RAW(4) ——SES_ADDR 当前会话的地址 FLAG NUMBER 标志位 SPACE VARCHAR2(3) 如果为空间事务处理,则为Yes RECURSIVE VARCHAR2(3) 如果为递归事务处理,则为Yes NOUNDO VARCHAR2(3) 如果为撤消事务处理,则为Yes PTX VARCHAR2(3) 如果为并行事务处理,则为Yes,否则设为No NAME VARCHAR2(256) PRV_XIDUSN NUMBER 上一个事务处理的撤消段的号 PRV_XIDSLT NUMBER 上一个事务处理的插槽号 PRV_XIDSQN NUMBER 上一个事务处理的序列号 PTX_XIDUSN NUMBER 父级XID 的回退段号 PTX_XIDSLT NUMBER 父级XID 的插曹号 PTX_XIDSQN NUMBER 父级XID 的序列号 DSCN-B NUMBER 独立的SCN 基点 DSCN-W NUMBER 独立的SCN 包 USED_UBLK NUMBER 已用的撤消块数量 USED_UREC NUMBER 已用的撤消记录数量 LOG_IO NUMBER 逻辑I/O PHY_IO NUMBER 物理I/O CR_GET NUMBER 一致性获取 CR_CHANGE NUMBER 一致性更改 START_DATE DATE DSCN_BASE NUMBER DSCN_WRAP NUMBER START_SCN NUMBER DEPENDENT_SCN NUMBER XID RAW(8) PRV_XID RAW(8) PTX_XID RAW(8) SYS @ prod > select a.SID,a.SERIAL#,a.USERNAME,b.xidusn,xidslot,b.ubablk,b.status,b.name from v$session a, v$transaction b where a.saddr=b.ses_addr; SID SERIAL# USERNAME XIDUSN XIDSLOT UBABLK STATUS NAME ---------- ---------- -------------------- ---------- ---------- ---------- ---------------- ---------- 144 7 SCOTT 15 26 76 ACTIVE
【查看undo segment 数据块状态 (dba_undo_EXTENTS)】 SYS @ prod > insert into t01 values (6) ; SYS @ prod > insert into t01 values (7) ; SYS @ prod > create table emp1 as select * from scott.emp; SYS @ prod > insert into emp1 select * from emp1; SYS @ prod > select segment_name,tablespace_name,extent_id,file_id ,bytes/1024 ,status from dba_undo_extents where status like '%ACTIVE%'; 【查看数据库中各个undo段的状态】 SEGMENT_NAME TABLESPACE_NAME EXTENT_ID FILE_ID BYTES/1024 STATUS ------------------------------ ------------------------------ ---------- ---------- ---------- ----------- ---------- ---------- ---------- _SYSSMU18$ UNDO_TBS 2 7 64 ACTIVE _SYSSMU15$ UNDO_TBS 0 7 64 ACTIVE SYS @ prod > COMMIT; Commit complete. SYS @ prod > / SEGMENT_NAME TABLESPACE_NAME EXTENT_ID FILE_ID BYTES/1024 STATUS ------------------------------ ------------------------------ ---------- ---------- ---------- ---------- _SYSSMU15$ UNDO_TBS 0 7 64 ACTIVE 【查看undo tablespace 统计信息v$undostat;】 SYS @ prod > select BEGIN_TIME,end_time,undotsn,undoblks,ACTIVEBLKS,EXPIREDBLKS,MAXQUERYID from v$undostat; BEGIN_TIME END_TIME UNDOTSN UNDOBLKS ACTIVEBLKS EXPIREDBLKS MAXQUERYID ------------------- ------------------- ---------- ---------- ---------- ----------- ------------- 2011-08-08 10:22:35 2011-08-08 10:23:20 8 0 160 760 2011-08-08 10:12:35 2011-08-08 10:22:35 8 6 160 760 2011-08-08 10:02:35 2011-08-08 10:12:35 8 589 160 8 2011-08-08 09:52:35 2011-08-08 10:02:35 8 179 160 8 2011-08-08 09:42:35 2011-08-08 09:52:35 8 19 160 0 2011-08-08 09:32:35 2011-08-08 09:42:35 1 7 160 2840 2011-08-08 09:22:35 2011-08-08 09:32:35 1 2 160 2848 2011-08-08 09:12:35 2011-08-08 09:22:35 1 0 0 0 2011-08-08 09:02:35 2011-08-08 09:12:35 1 3 0 0 SYS @ prod > select segment_name,tablespace_name ,segment_id,file_id ,status from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME SEGMENT_ID FILE_ID STATUS ------------------------------ ------------------------------ ---------- ---------- ---------------- SYSTEM SYSTEM 0 1 ONLINE _SYSSMU1$ RTBS 1 2 ONLINE _SYSSMU2$ RTBS 2 2 ONLINE _SYSSMU3$ RTBS 3 2 ONLINE _SYSSMU4$ RTBS 4 2 ONLINE _SYSSMU5$ RTBS 5 2 ONLINE _SYSSMU6$ RTBS 6 2 ONLINE _SYSSMU7$ RTBS 7 2 ONLINE _SYSSMU8$ RTBS 8 2 ONLINE _SYSSMU9$ RTBS 9 2 ONLINE _SYSSMU10$ RTBS 10 2 ONLINE |
Oracle11g温习-第十一章:管理undo的更多相关文章
- Oracle11g温习-第三章:instance实例管理
2013年4月27日 星期六 10:30 1.instance 功能: 用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...
- Oracle11g温习-第十七章:权限管理
2013年4月27日 星期六 10:50 1.权限(privilege): [system privilege(系统权限):针对于database 的相关权限 object p ...
- 第十一章 管理类型(In .net4.5) 之 管理对象的生命周期
1. 概述 本章内容包括 管理非托管资源.使用IDisposable接口 以及 管理析构器和垃圾回收. 2. 主要内容 2.1 理解垃圾回收机制 ① 代码执行的时候,内存中有两个地方存放数据项:堆 和 ...
- Oracle11g温习-第四章:手工建库
1.create database plan 1.库类型: OLTP : 在线事务处理系统 OLAP : 在线应用处理系统 DSS : 数据决策系统 2.数据库名字及字符集 3. ...
- Oracle11g温习-第七章:redo日志
2013年4月27日 星期六 10:33 1.redo (重做) log 的功能: 用于数据恢复 2.redo log 特征: [特征]: 1) 记录数据块的变化(DML.D ...
- Oracle11g温习-第六章:控制文件
2013年4月27日 星期六 10:33 .控制文件的功能和特点 1) [定义数据库当前物理状态] 2) [维护数据的一致性] 如果控制文件中的检查点与数据文件中的一致,则说明数据一致,可以启动到 ...
- Oracle11g温习-第十三章:索引
2013年4月27日 星期六 10:46 1.索引(Index)的功能:对记录进行排序,加快表的查询速度 2.索引的分类 1)B-tree 索引(默认) a.在一个大表上 b.建立在重复值比较少的 ...
- Oracle11g温习-第五章:数据字典
1.数据字典(Data dictionary)的功能 1) central of oracle database 每个oracle数据库的核心 2) descr ...
- <构建之法>第十一章、十二章有感
十一章:软件设计与实现 工作时要懂得平衡进度和质量.我一直有一个困扰:像我们团队这次做 男神女神配 社区交友网,我负责主页的设计及内容模块,有个队友负责网站的注册和登录模块,有个队友负责搜索模块,有个 ...
随机推荐
- LightOJ 1258 Making Huge Palindromes(KMP)
题意 给定一个字符串 \(S\) ,一次操作可以在这个字符串的右边增加任意一个字符.求操作之后的最短字符串,满足操作结束后的字符串是回文. \(1 \leq |S| \leq 10^6\) 思路 \( ...
- Jupyter Notebook主题字体设置及自动代码补全
Jupyter Notebook用久了就离不开了,然而自带的主题真的不忍直视.为了视力着想,为了自己看起来舒服,于是折腾了一番..在github上发现了一个jupyter-themes工具,可以通过p ...
- 转载:避免重复插入,更新的sql
本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,各位同学可尝试参考. 案一:使用ignore ...
- --HTML标签2
表单元素: <input>标签 搜集用户信息 属性:type=" " text 默认值 size 长度 value 规定值 readonly 规定值 placehold ...
- [UVA-11100] The Trip
题目大意 大箱子能装小箱子,求在满足最少箱子的情况下,最小化每个箱子中最大的箱子个数. 解析 想到二分枚举箱子数,然后贪心的选择放进箱子的位置. 最优策略一定是将最大的 \(m\) 个先找出来,然后把 ...
- chrome浏览器的SwitchyOmega插件使用方法
对于有某些特殊需求的人来讲,应该对这个插件不陌生,但是很多人不了解这插件的工作原理,百度的老教程又很烂,在刚开始用的时候我也不知道怎么办,去百度搜出来的教程基本都是让下载个规则文件让你去导入,但一般这 ...
- 理解 Redis(2) - 手把手教你理清 Redis 安装全过程
Redis 官网 https://redis.io/ 之前学习 Redis 学了好多次, 下载安装也都按照教程或官网文档弄过, 但是对于安装过程一直有点迷糊, 感觉稀里糊涂地就好了, 就可以用了. 这 ...
- python类与类的关系
类与类之间的关系(依赖关系,大象与冰箱是依赖关系) class DaXiang: def open(self, bx): # 这里是依赖关系. 想执行这个动作. 必须传递一个bx print(&quo ...
- L1-033 出生年
不难,代码: #include <queue> #include <functional> #include <stdio.h> #include <stri ...
- shell脚本linux命令连续执行
shell命令连续执行的三种方式: 1.命令1:命令2:命令3 依次执行命令,无论前一条命令是否执行成功. 2.命令1 && 命令2 && 命令3 前一条命令执行成功后 ...