1.查看Oracle数据库是否为归档模式:

SQL> select name,log_mode from v$database;

NAME                                               LOG_MODE

-------------------------------------------------- ------------
ORCL                                               ARCHIVELOG

2.使用archive log list命令:

SQL> ARCHIVE LOG LIST ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     5
Next log sequence to archive   7
Current log sequence           7

3.查看是否设置打开实例时自动启动归档:

SQL> show parameter log_archive_start;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------
log_archive_start                    boolean     TRUE

4.Oracle归档模式

Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入、删除、更新数据等。对这些数据操作都会记录在联机重做日志里。一般数据库至少有3个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2被写满后,又会发生新的日志切换;在之后写日志组3,在之后日志组1,不断循环。

如果数据库处于非归档模式,联机日志在切换时就会被丢弃,而在归档模式下,当发生日志切换的时候,被切换的日志进行归档。被覆盖之前的日志内容会被拷贝到另一个指定的目录下,这个目录就是归档目录。拷贝的文件叫做归档重做日志文件。

数据库使用归档方式运行时才可以进行灾难性恢复。

1)归档模式和非归档模式的区别

非归档模式只能做冷备份,并且恢复时按照最近一次完全备份时间进行恢复,备份到系统出错之间的数据不能恢复。

归档模式可以做热备份,并且可以做增量备份,恢复时也可以进行部分恢复。

用ARCHIVE LOG LIST可以查看模式状态是归档模式还是非归档模式。

2)配置数据库的归档模式

   1.改变非归档模式到归档模式:

    1)SQL>SHUTDOWN NORMAL/IMMEDIATE;

    2)SQL>START MOUNT;

    3)SQL>ALTER DATABASE ARCHIVELOG;

    4)SQL>ALTER DATABASE OPEN;

5)此时记得要做一次完全备份,因为非归档模式下产生的备份日志对于归档模式已经不可用了。

2.改变归档模式到非归档模式:

    1)SQL>SHUTDOWN NORMAL/IMMEDIATE;

    2)SQL>START MOUNT;

    3)SQL>ALTER DATABASE NOARCHIVELOG;

    4)SQL>ALTER DATABASE OPEN;

   3.启用自动归档(10g会自动启用):LOG_ARCHIVE_START=TRUE

SQL> SHOW PARAMETER LOG_ARCHIVE_START;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------
log_archive_start                    boolean     TRUE

    归档模式下,日志文件不允许被覆盖(重写),当日志文件写满后,如果没有进行手动归档,那么系统将挂起。直  

    到归档完成为止,这时只能读不能写。

    在Oracle10g中,LOG_ARCHIVE_START参数已经被废弃,只要启动数据库的归档模式,Oracle就会启用自动

    归档。

    运行过程中关闭和重启归档日志进程:

    SQL>ARCHIVE LOG STOP/START;

转载自