日志的状态
Posted by dbtan on 十二月 16th, 2009日志的状态:
可以通过v$log视图来查看日志文件的状态:
sys@NEI> select group#,status,first_change# from v$log;
GROUP# STATUS FIRST_CHANGE#
---------- ---------------- -------------
1 CURRENT 59719840
2 INACTIVE &n
... ...
<阅读全文>
日志的状态:
可以通过v$log视图来查看日志文件的状态:
sys@NEI> select group#,status,first_change# from v$log;
GROUP# STATUS FIRST_CHANGE#
---------- ---------------- -------------
1 CURRENT 59719840
2 INACTIVE &n
... ...
<阅读全文>
commit做了什么?
当完成事务操作,发出commit命令之后,随后会收到一个反馈Commit complete。
dbtan@NEI> insert into emp select * from emp;
128 rows created.
dbtan@NEI> commit;
Commit complete.
提交完成,这个提示意味着Oracle已经将此时间点之前的Redo写入重做日志文件件,这个日志写完成之后,Oracle可以释放用户去执行其他任务。如果此后发生数据库崩溃,那么Oracle可以从重做日志文件中恢复这些提交过的数据,从而保证提交成功的数据不会丢失。
解释:
为什么COMMIT的响应时间相
... ...
<阅读全文>
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呢?可以通过以下一些方式来查询。
⑴ SQL*Plus中使用AUTOTRACE的功能的。
当在SQL*Plus中启用Autotrace跟踪后,在执行了特定的DML语句时,Oracle会显示该语句的统计信息,其中,Redo Size一栏表示的就是该操作产生的Redo的数量,其单位为Bytes:
dbtan@NEI> set autotrace traceonly statistics
dbtan@NEI> insert into emp select * from emp;
32 rows created.
Statistics
----------------------------------------------------------
&nb
... ...
<阅读全文>
Recent Comments