12
返回列表 发新帖
楼主: warehouse

日志缓冲区里的内容何时写到日志文件里?

[复制链接]
论坛徽章:
112
2008新春纪念徽章
日期:2008-02-13 12:43:03马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14马上有车
日期:2014-11-03 12:40:39沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31慢羊羊
日期:2015-03-09 16:15:39
11#
发表于 2005-1-17 14:25 | 只看该作者

LGWR 工作的主要条件如下

·用户提交

·有1/3 重做日志缓冲区未被写入磁盘

·有大于1M 重做日志缓冲区未被写入磁盘

·超时

·DBWR需要写入的数据的SCN号大于LGWR 记录的SCN号,DBWR 触发LGWR写入

使用道具 举报

回复
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
12#
 楼主| 发表于 2005-1-19 10:18 | 只看该作者
最初由 eygle 发布
[B] [/B]


09:44:44 SQL> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。

备份数据库!

09:44:59 SQL> startup
ORACLE 例程已经启动。

Total System Global Area  152115804 bytes
Fixed Size                   453212 bytes
Variable Size             125829120 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
09:53:10 SQL> connect test/test
已连接。
09:53:22 SQL> create table test1(aa varchar2(10));

表已创建。

已用时间:  00: 00: 00.03
09:53:34 SQL> insert into test1 values('test1');

已创建 1 行。

已用时间:  00: 00: 00.00
09:53:45 SQL> commit;

提交完成。

已用时间:  00: 00: 00.00
09:55:38 SQL>
09:55:39 SQL>
09:55:40 SQL>
09:55:40 SQL>
09:55:41 SQL>
09:55:41 SQL>
09:55:45 SQL>
09:55:46 SQL>
09:55:46 SQL> drop table test1;

表已丢弃。

已用时间:  00: 00: 00.05
09:55:58 SQL> connect sys as sysdba
请输入口令:
已连接。
09:56:10 SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

恢复数据文件!

09:56:25 SQL> startup
ORACLE 例程已经启动。

Total System Global Area  152115804 bytes
Fixed Size                   453212 bytes
Variable Size             125829120 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'E:\ORACLE\ORA92\REPM\SYSTEM01.DBF'


10:02:17 SQL> recover database until time '2005.01.19 09:55:46' ;
完成介质恢复。
10:02:54 SQL> alter database open resetlogs;

数据库已更改。

已用时间:  00: 00: 26.07
10:03:29 SQL> select * from test.test1;

AA
----------
test1

已用时间:  00: 00: 00.00
10:03:36 SQL>

数据恢复过来了,但是我不知道这时候日志缓冲区里内容是大家提到的那种方式写到日志文件里的?是我发出的commit吗?

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
13#
发表于 2005-1-19 10:34 | 只看该作者
当然是commit

Oracle能够恢复的时间精度为1秒,但是在Oracle数据库内部,用以产生SCN的时间点有更为精确的精度。
所以,如果你指定秒级恢复,如09:55:38 SQL>
,那么秒后的精度被置00,反而就落在了提交之前。(猜测)
而等待下一秒来到时,这种情况就不会出现了。

也就是说对于你这个例子,如果你使用
09:55:39 SQL>作为时间点也就不会有问题。

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
14#
发表于 2005-1-19 10:35 | 只看该作者

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
15#
发表于 2005-1-19 10:35 | 只看该作者
多种条件都可以写入日志文件,你却非问  你的这个情况是哪一种,那你看你满足了哪几个条件?哪个条件先满足就哪一种先写入。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表