Redo写的触发条件: 为了保证用户可以快速提交,LGWR的写出必须非常活跃,实际上也确实如此,我们非常熟悉的LGWR写触发条件就有4条。 1. 每3秒超时(Timeout)当LGWR处于空闲状态时,它依赖于rdbms ipc message等待,处于休眠状态,直到3秒超时时间到。如果LGWR发现有redo需要写出,那么LGWR将执行写出操作,log file parallel write等待事件将会出现。 2. 阀值达到我们在各种文档上经常会看到的2个触发日志写的条件是: ·Redo Log Buffer 1/3满;·Redo Log Bufrer 具有1MB脏数据。 这两个都是限[......]
产生多少Redo
产生多少Redo: 对于数据库的修改操作都会记录Redo,那么不同的操作会产生多少Redo呢?可以通过以下一些方式来查询。⑴ SQL*Plus中使用AUTOTRACE的功能的。当在SQL*Plus中启用Autotrace跟踪后,在执行了特定的DML语句时,Oracle会显示该语句的统计信息,其中,Redo Size一栏表示的就是该操作产生的Redo的数量,其单位为Bytes: dbtan@NEI> set autotrace traceonly statisticsdbtan@NEI> insert into emp select * from emp;32 rows crea[......]
数值在Oracle的内部存储
数值在Oracle的内部存储: Oracle在数据库内部通过相应的算法转换来进行数据存储,这里简单介绍Oracle的Number型数值存储及转换。可以通过DUMP函数来转换数字的存储形式,一个简单的输出类似如下格式: sys@NEI> select dump(1),dump(1,16) from dual;DUMP(1) DUMP(1,16)------------------ -----------------Typ=2 Len=2: 193,2 Ty[......]
Redo 的内容
Redo 的内容: 大家知道,Oracle通过Redo来实现快速提交,一方面是因为Redo Log File可以连续、顺序地快速写出,另一个方面也和Redo记录的精简内容有关。 为了了解Redo的内容,需要了解两个概念。·改变向量(Change Vector):改变向量表示对数据库内某一个数据块所做的一次变更。改变向量(Change Vector)中包含了变更的数据块的版本号、事务操作代码、变更从属数据块的地址(DBA)以及更新后的数据。例如,一个Update事务包含一系列的改变向量,对于数据块的修改是一个向量,对于回滚段的修改又是一个向量。·重做记录(Redo Record):重做记录通[......]
Oracle 10g Redo的增强
Oracle 10g Redo的增强: 在Oracle 10g中,log_parallelism参数变为隐含参数,并且Oracle引入了另外两个参数,允许log_parallelism进行动态调整。缺省的_log_parallelism_dynamic参数被设置为True,如果_log_parallelism_max被设置为不同于_log_parallelism的参数值,那么Oracle会动态的选择并行度,当然不超过最大允许值,这是Oracle 10g中动态SGA的另外一个提高。 sys@TQGZS> @GetHidPar.sql Enter value for par: log_[......]