重做日志文件.docx

上传人:b****6 文档编号:4970552 上传时间:2022-12-12 格式:DOCX 页数:7 大小:110.79KB
下载 相关 举报
重做日志文件.docx_第1页
第1页 / 共7页
重做日志文件.docx_第2页
第2页 / 共7页
重做日志文件.docx_第3页
第3页 / 共7页
重做日志文件.docx_第4页
第4页 / 共7页
重做日志文件.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

重做日志文件.docx

《重做日志文件.docx》由会员分享,可在线阅读,更多相关《重做日志文件.docx(7页珍藏版)》请在冰豆网上搜索。

重做日志文件.docx

重做日志文件

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命令进行切换。

如果数据库运行在归档模式,而要删除的成员还没有被归档完,那也无法删除它。

当一个重做日志成员被删除后,它的操作系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1