重做日志文件.docx
- 文档编号:4970552
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:7
- 大小:110.79KB
重做日志文件.docx
《重做日志文件.docx》由会员分享,可在线阅读,更多相关《重做日志文件.docx(7页珍藏版)》请在冰豆网上搜索。
重做日志文件
Oracle重做日志文件
一.简介
Oracle引入重做日志的目的:
数据库的恢复。
Oracle相关进程:
重做日志写进程(LGWR)。
重做日志性质:
联机日志文件,oracle服务器运行时需要管理它们。
相关数据字典:
v$log;v$logfile。
操作者权限:
具有sys用户或system用户权限。
二.获取重做日志的信息
1.获得数据库中有多少个重做日志组,每个组中有多少个成员、日志大小及状态。
SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROMV$LOG;
结果如下图:
状态列(status)所显示常用状态的含义:
∙ inactive:
表示实例恢复已不再需要这组联机重做日志组了。
∙ active:
表示该组是活动的但不是当前组,实例恢复时需要这组日志。
∙ current:
表示该组日志是当前组,该联机重做日志组是活动的。
∙ unused:
表示该日志组从未写过,是重做日志刚刚添加到状态。
2.获得数据库中每个重做日志组的成员所在目录、文件名及状态。
SELECTGROUP#,STATUS,TYPE,MEMBER
FROMV$LOGFILE;
结果如下图:
状态列(status)所显示常用状态的含义:
∙ 空白:
表示该文正在使用。
∙ stale:
表示该文件中的内容是不完全的。
∙ invalid:
表示该文件是不可以被访问的。
∙ deleted:
表示该文件已不在有用了。
三.日志切换
联机重做日志文件是以一种循环的方式来使用,当一组联机重做日志文件被写满时,LGWR将开始写下一组日志文件,这被称为日志切换。
可以在任何时候强制性的进行重做日志切换操作。
强制重做日志切换命令:
ALTERSYSTEMSWITCHLOGFILE;
日志切换前,正在写的日志组是3:
执行命令ALTERSYSTEMSWITCHLOGFILE后,在写日志组变为1:
四.添加和删除联机重做日志文件组
1.添加联机重做日志组
创建新的重做日志组SQL命令格式:
ALTERDATABASE[数据库名]
ADDLOGFILE[GROUP正整数]文件名
[,[GROUP正整数]文件名]……]
创建新的重做日志组例子:
ALTERDATABASEADDLOGFILE('d:
\logfile\redo04a.log','e:
\logfile\redo04b.log')
SIZE15M;
注意:
由于没有使用GROUP选项,所有oracle系统会自动地在最大的组号上加1来产生新的组号。
显示结果如下,创建一组新的日志组,组号是4,有两个成员,成员大小为15M。
SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROMV$LOG;
下面的结果显示了新建日志的文件路径和文件名。
SELECTGROUP#,STATUS,TYPE,MEMBER
FROMV$LOGFILE;
2.删除联机重做日志组
删除重做日志组SQL命令格式:
ALTERDATABASE[数据库名]
DROPLOGFILE{GROUP正整数|(‘文件名’[,‘文件名’]……)}
[,{GROUP正整数|(‘文件名’[,‘文件名’]……)}]…….
删除重做日志组例子:
ALTERDATABASEDROPLOGFILEGROUP4;
显示结果如下,可以看出GROUP为4的日志组已经不存在。
SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROMV$LOG;
SELECTGROUP#,STATUS,TYPE,MEMBER
FROMV$LOGFILE;
注意:
当前的重做日志组不能删除。
如果要删除,先使用日志强制切换命令ALTERSYSTEMSWITCHLOGFILE进行切换。
当一组重做日志被删除后,它的操作系统文件依然存在,只能用操作系统命令删除,否则会留下一些无用的垃圾文件。
五.添加和删除联机重做日志成员(文件)
1.添加联机重做日志成员
创建新的重做日志成员(文件)SQL格式:
ALTERDATABASE[数据库名]
ADDLOGFILEMEMBER
[‘文件名’[REUSE][,’文件名’[REUSE]]]……
TO{GROUP正整数|(‘文件名’[,‘文件名’]……)}
添加重做日志成员例子:
ALTERDATABASEADDLOGFILEMEMBER
'd:
\logfile\redo01b.log'TOGROUP1,
'd:
\logfile\redo02b.log'TOGROUP2,
'e:
\logfile\redo03b.log'TOGROUP3;
显示结果如下,可以看出每个日志组增加了一个日志成员,有原来的2个增加到3个。
SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROMV$LOG;
下面的结果,显示了新增日志文件的路径和文件名。
SELECTGROUP#,STATUS,TYPE,MEMBER
FROMV$LOGFILE;
2.删除联机重做日志成员
删除联机重做日志成员(文件)SQL命令格式:
ALTERDATABASE[数据库]
DROPLOGFILEMEMBER‘文件名’[,‘文件名’]……
删除重做日志成员例子:
ALTERDATABASEDROPLOGFILEMEMBER'd:
\logfile\redo02b.log';
结果显示如下,可以看出删除了组2一个日志成员。
SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROMV$LOG;
SELECTGROUP#,STATUS,TYPE,MEMBER
FROMV$LOGFILE;
注意:
当前的重做日志组不能删除,否则会报如下错误:
如果要删除,应该先使用ALTERSYSTEMSWITCHLOGFILE命令进行切换。
如果数据库运行在归档模式,而要删除的成员还没有被归档完,那也无法删除它。
当一个重做日志成员被删除后,它的操作系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重做 日志 文件