Oracle学习笔记八:重做日志与归档模式管理

一、重做日志文件的介绍

1.1、重做日志文件记录数据所有的修改信息并提供一种数据库失败时的恢复机制。

  • 重做日志文件分组管理
  • 一个Oracle数据库要求至少有两组重做日志文件
  • 组中每个日志文件被称作一个组成员

二、重做日志文件的结构

三、重做日志文件如何工作

3.1、重做日志文件循环使用。

3.2、当一个重做日志文件充满时,LGWR将日志写入到下个重组日志组。

  • 这个被叫做日志切换
  • 检查点执行动作被触发
  • 相关信息写入控制文件

3.3、重做日志文件的手工切换:

alter system switch logfile;

四、在线重做日志组

4.1、增加在线重做日志组

ALTER DATABASE ADD LOGFILE GROUP 3 ('/oracle/oradata/test/log3a.rdo','/oracle/oradata/test/log3b.rdo') SIZE 10M;

4.2、增加在线重做日志组成员

ALTER DATABASE ADD LOGFILE MEMBER '/oracle/oradata/test/log1c.rdo' TO GROUP 1,'/oracle/oradata/test/log2c.rdo' TO GROUP 2,'/oracle/oradata/test/log3c.rdo' TO GROUP 3;

4.3、删除在线重做日志组成员

ALTER DATABASE DROP LOGFILE MEMBER '/oracle/oradata/test/log3c.rdo';

4.1、删除在线重做日志组

ALTER DATABASE DROP LOGFILE GROUP 3;

五、获取日志组及其成员信息

  • V$LOG
  • V$LOGFILE

六、重做日志案例一

6.1、案例说明:由于性能问题,目前redo日志组不足,请再增加3组重做日志。

1)在服务器上运行中输入cmd打开命令提示符。

2)连接Oracle数据库:

sqlplus "/as sysdba"

3)查看重做日志组的信息:

select * from v$log;

4)查看重做日志组中成员的信息:

5)增加重做日志组:

ALTER DATABASE ADD LOGFILE GROUP 4 ('C:\APP\ADMINISTRATOR\ORADATA\TEST\REDO04.LOG') SIZE 500M;

ALTER DATABASE ADD LOGFILE GROUP 5 ('C:\APP\ADMINISTRATOR\ORADATA\TEST\REDO05.LOG') SIZE 500M;

ALTER DATABASE ADD LOGFILE GROUP 6 ('C:\APP\ADMINISTRATOR\ORADATA\TEST\REDO06.LOG') SIZE 500M;

七、重做日志案例二

7.1、案例说明:由于空间不足,请删除两组重做日志文件,清理空间。

1)删除重做日志组:

ALTER DATABASE DROP LOGFILE GROUP 6;

ALTER DATABASE DROP LOGFILE GROUP 5;

ALTER DATABASE DROP LOGFILE GROUP 4;

2)查看重做日志组的信息:

可以看到,现在就只剩下3组重做日志了,当前正在运行的是第3组重做日志。假如需要手工切换的话,可以使用以下命令:

alter system switch logfile;

select * from v$log;

可以看到,当前正在运行的是第1组重做日志了。

八、归档日志介绍

  • 在线重做日志文件发生切换后,就需要被归档。
  • 归档在线重做日志文件两种优势:恢复、备份。
  • 缺省数据库以非归档模式创建。

九、归档日志案例

9.1、案例说明:考虑到数据的重要性,请打开数据库的归档日志。

1)查看归档列表:

archive log list;

可以看到,目前的数据库日志模式是非存档模式。

2)在开启归档模式之前,先要设置两个recover参数。使用以下命令查看:

show parameter recover

设置db_recovery_file_dest及db_recovery_file_dest_size示例如下:

alter system set db_recovery_file_dest_size=3g;

alter system set db_recovery_file_dest='C:\app\Administrator\flash_recovery_area';

3)关闭数据库:

shutdown immediate;

4)将数据库启动到mount状态:

startup mount;

5)启动归档模式:

alter database archivelog;

6)将数据库启动到open状态:

alter database open;

7)重新查看归档列表:

archive log list;

可以看到,目前的数据库日志模式是存档模式。

8)关闭归档日志过程如下:

shutdown immediate;

startup mount;

alter database noarchivelog;

alter database open;

 

posted @ 2020-10-14 08:43  缥缈的尘埃  阅读(588)  评论(0编辑  收藏  举报