oracle查询buffer cache中undo大小
1.Does undo buffer exists or changes will directly write to undo datafiles?
Undo blocks are database blocks, so they will sit in the buffer cache like others, eg
虽然无法控制undo buffer大小,但是可以查询到其大小,如下
SQL> select count(*) 2 from v$bh 3 where file# in ( 4 select file# 5 from v$datafile 6 where name like '%UNDO%' ); COUNT(*) ---------- 5473
2.Does redo contains both undo & redo related changes?
Yes. Any change to any block (undo or otherwise) is protected by redo (unless explicitly instructed not to)
3.If db crashes with uncommitted data in undo buffer it will get cleared automatically ,then we are able rollback database with redo ?
During instance restart, we do instance recovery. We use the redo logs to resurrect all the changes to database blocks, which *includes* undo blocks. Those undo blocks can then be used to undo any uncommitted transactions (ie, uncommitted at the time of the crash)
in memory undo is a change in the way we manage undo for some transactions. We usually put undo in a block as you generate it - with in memory undo (IMU) we put the undo into a data structure instead - this data structure is easier/faster to process by queries that need the undo for read consistency purposes or rolling back.
设计IMU控制的参数有:
_in_memory_undo Default is TRUE and enabled. To disable it change parameter to FALSE.
_imu_pools Default is 3 on some system. This sets the number of IMU pools. It is not related to memory allocation for IMU.
_recursuve_imu_transactions This enables Oracle’s own SQL to use IMU. Default is FALSE.
_db_writer_flush_imu Allows Oracle the freedom to artificially age a transaction for increased automatic cache management.
可以直接通过下列查询到IMU大小:
SQL> select * from v$sgastat where name like 'KTI-UNDO';
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KTI-UNDO 8522272
相关文章
- Oracle中时间字段如果是varchar2类型可以不经过任何转换直接进行between查询
- Oracle数据库:序列sequence的创建,查询,修改,删除,increment by,start with等关键字
- Oracle数据库:oracle多表查询,等值连接,非等值连接,自连接的sql语句和规则
- 防患未然:Oracle gc等待事件的发现、处理与预防
- Oracle开发技能提升之层次查询全面解析
- 【Oracle】windows默认共享的打开和关闭?
- 《Oracle SQL疑难解析》——1.1 从表中查询数据
- 《Oracle性能优化与诊断案例精选》——1.5 云和恩墨,数据服务起征途
- Oracle递归查询,Oracle START WITH……CONNECT BY查询
- oracle优化EXPORT和IMPORT
- oracle表复杂查询--创建数据库实例
- 《Oracle高性能自动化运维》一一1.3 Linux内存体系的优势
- Oracle查询错误分析:ORA-01791:不是SELECTed表达式
- [Oracle 工程师手记] ORA-12162 错误 的应对方法
- [Oracle]跨DBLINK的JOIN查询的数据库缓存问题15783452141
- ORACLE数据库SQL语句的执行过程
- Oracle查询client编码集
- oracle 登录
- oracle多表查询
- JDBC连接Oracle数据库
- Oracle 通过数据字典查询系统信息
- Oracle 表复杂查询之多表合并查询
- oracle dblink 查询 tns:无法解析指定的连接标识符