- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle重做日志文件
Oracle重做日志文件
原理:重做日志记录将以循环的方式在sga区的重做日志高速缓冲区中进行缓存,并由后台进程LGWR写入到重做日志文件中。
重做日志文件记录了对数据文件的修改操作,还记录了对回滚段的修改操作。
在Oracle中,用户对数据库所作的修改首先被保存在内存中(有助于提高数据库性能)。
当日志信息在内存中存放超过3秒,或者当发生提交命令,或者重做日志缓存区的信息满1/3,就会自动启动LGWR进程将内存中的重做记录保存到重做日志文件中。
创建数据库时,默认创建3个重做日志文件组,每个组包含两个文件成会员,每个组有内部序号,Oracle按照序号从小到大的顺序向日志文件组中写入日志。所有的日志都写过一遍之后,将会转向第一个重新覆盖。
当前正在被LGWR写入的某组日志文件被称为‘联机重组日志文件’。
重做日志文件的几种状态:
Current:当前正被LGWR写入的日志文件
ACTIVE:正被实例用于数据库恢复的日志文件
Incative:未活动的日志文件。
增加日志组及其成员
添加新的重做日志文件组
Alter database add logfile
(‘F:\app\Administrator\oradata\smlorcl\redo4_1.log’,
‘F:\app\Administrator\oradata\smlorcl\redo4_2.log’
)
Size 20M;
注意:上面两个日志文件的大小均为20M,重做日志文件的大小最好是在10MB到50MB之间,默认的日志文件大小时50MB。如果没有为新创建的重做日志组指定组编号,在这种情况下,Oracle会 自动新建重做日志组 并设置编号,一般是在最大组号后递增。
添加新的重做日志文件组并添加指定编号为5
Alter database add logfile group 5
(‘F:\app\Administrator\oradata\smlorcl\redo5_1.log’,
‘F:\app\Administrator\oradata\smlorcl\redo5_2.log’
)
Size 20M;
注意:日志组编号必须是连续的,不能跳跃。
创建一个非复用的重做日志文件,并覆盖已存在的同名日志文件 。
Alter database add logfile ‘D:\OracleFiles\LogFiles\Redo1.log’ reuse;
注意:使用reuse的情况下,不能再使用size子句设置重做日志文件的大小,重做日志文件的大小将由已存在的日志文件的大小决定。
创建日志成员文件
如果某个日志组中的所有日志成员都被损坏了,那么后台进程LGWR切换到该日志组的时候,Oracle会停止工作,并对该数据库执行不完全恢复,为此数据库管理员需要向该日志组中添加一个或多个日志成员。
如:向组4添加一个成员。
Alter database add logfile member
‘F:\app\Administrator\oradata\smlorcl\redo4_C.log’ to group 4;
还可以通过指定重做日志组中的其他成员的名称,以确定要添加新日志成员所属于的重做日志组。
如:向‘F:\app\Administrator\oradata\smlorcl\redo5_2.log’所在的组5添加一个日志文件。
Alter database add logfile member
‘F:\app\Administrator\oradata\smlorcl\redo5_new.log’
To
(‘F:\app\Administrator\oradata\smlorcl\redo5_2.log’);
删除重做日志
Alter database drop logfile member
‘F:\app\Administrator\oradata\smlorcl\redo5_2.log’;
注意:上面的语句只是在数据字典和控制文件中将重做日志文件成员删除,对应的物理文件并没有删除,若要删除,可以采取手动的删除方式。
删除日志文件组
无论日志组中有多少个成员,一个数据库至少需要两个日志组,删除时不能超过这个限制。
只能删除出于incative状态的日志组,如果要删除处于curent状态的重做日志组,必须执行手动切换日志(alter system switch logfile),将其切换至incative;
如果数据库处于归档模式,在删除重做日志组之前必须确定它已经被归档。
删除一个文件组:
Alter database drop logfile group 5;
注意:对应的物理文件需要手动删除。
清空重做日志文件
将日志文件中的内容清空,相当于删除原有的日志文件,重
文档评论(0)