Oracle的日志被写入联机日志文件(online redo log files)中,当数据库被破坏时,这些日志文件能够以正确顺序来恢复数据库事务。
每一个Oracle数据库将拥有两个或更多的日志文件。Oracle以循环方式向日志文件写入:当第一个日志文件被填满时,就向第二个文件写入,依次类推,到所有日志文件都被填满时,就又回到第一个日志文件,用新事务的数据对其进行重写。当数据库运行在ARCHIVELOG模式时,数据库在重写日志文件前将先对其进行备份。这些归档日志文件可以在任何时候用来恢复数据库的任何部分。
Oracle的备份和恢复比较复杂,建议找一本Oralce数据库管理的书看一看
如果数据库运行在归档模式(ARCHIVELOG)时,ARCH后台处理程序在覆盖日志文件前会将各日志文件做一个拷贝。这些归档的文件通常写入一个磁盘设备,也可以直接写入磁带。 归档的日志文件的定位是由数据库 的init.ora文件的设置决定的。归档日志的目标参数也可以通过与init.ora的参数文件相关的config.ora文件来设置。例:
log_archive_dest = /dbTEST/oracle/arch/XX1/arch
log_archive_start = TRUE
归档的日志文件将写入 /dbTEST/oracle/arch/XX1目录中。该文件由"arch" 开始,跟着是一串数字,例如归档的日志文件目录包含下列文件:
arch_110.dbf
arch_111.dbf
arch_112.dbf
这里的每个文件包含了从联机单个日志来的数据。它们所建立的顺序被编号。它们的尺寸是变化的,但不会超过它们的联机日志文件的大小。
如果归档的日志文件超出了其目标目录空间,ARCH会停止联机日志数据的处理,数据库也会自己停止。解决办法是:给归档的日志文件目标磁盘增加空间或备份(文件系统备份)这些归档文件并从目录清除。
注意 :在未备份归档日志文件前不要将其清除。在恢复时没有任何方法可以跳过一个失踪的归档日志文件。
关于备份与恢复,请参阅相关资料。
BTW:呵呵,你称呼我Mrs,我象老太太(太罗嗦了)? Oracle功能强大,但管理确实比较烦。不得不多说(抄;-))两句,否则没法说清。
DOU说的是自动归档方式,手工归档的命令是:ALTER SYSTEM ARCHIVE LOG ALL;
具体方法如下:
在DOS的COMMAND界面下:
SVRMGR23
>SVRMGR connect internal
>SVRMGR alter system archive log all;
在此之前你必须确认你的数据库是运行在ARCHIVELOG的模式之下的,否则无论手工归档,自动归档都无法执行。