Oracle中REDO日志

来源:互联网 发布:任子行 酒店网络 编辑:程序博客网 时间:2024/06/03 16:57

OracleREDO日志

Oracle的数据库日志称为redo log,所有数据改变都记录redo log,可以用于修复受损的数据库。Redo日志是分组的,,默认是三组。Redo日志是轮流使用的,一个redo log满了,LGWR会切换到下一组redo log,这种操作称为log switch,做log switch的同时也会做checkpoint,相应的信息还会写入控制文件。

Oracle中有2种日志,一种称为 Redo Log(重做日志),另一种叫做Archive Log(归档日志),但是这两种日志在Oracle9i数据库中所起到的作用相信很难有人说清楚,下面我就结合自己对Oracle9i的认识来进行一下说 明重做日志redo log file是LGWR进程从Oracle实例中的redo log buffer写入的,是循环利用的。就是说一个redo log file(group) 写满后,才写下一个。归档日志archive log是当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redo log file(group)才能被下一次使用。

不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。
归档日志结合全备份,用于数据库出现问题后的恢复使用。

redolog也称为联机日志

archivelog 为归档日志,是把redolog归档而来。先有redolog再有archivelog

oracle恢复时需要redolog和archivelog

 

1.查看系统的redo log信息:

SQL> select group#,sequence#,bytes,members,status from v$log;

\

SQL> select member from v$logfile;

\

2.添加日志

alter database add logfile group 4 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo04.log') size 50m;


3.添加日志组(指定日志已经存在)

alter database add logfile group 4 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo04.log') size 50m reuse;

4.添加日志成员

alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log' to group 4;


5.添加日志成员(指定日志已经存在)

alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log' reuse to group 4;

6.删除日志

alter database drop logfile group 4;


7.删除日志成员

alter database drop logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log';


8.给日志组文件换一个位置

(1)shutdown database
(2) copy the online redo log files to the new location;
(3) start database to mount;
(4)execute the command
alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log' to 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\redo0401.log';
(5)open database

9.归档Redo log文件

启动日志归档有两个好处:
1,带有归档日志的数据库备份可以恢复到任意时间点。
2,可以在线备份数据库。 缺省情况下,数据库是非归档日志模式。如果你的数据很重要,应该启用归档日志模式,否则数据库损坏时很可能只能恢复到上一次备份时的状态了。可以用以下两条命令检查数据库的归档日志模式: SQL> select archiver from v$instance; SQL> archive log list; \
0 0
原创粉丝点击