归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.1.查看当前数据库是否处于归档模式: select name,log_mode from v$database; archive log list;2.改变非归档模式到归档模式:conn / as sysdba --(以DBA身份连接数据库)shutdown immediate; --(立即关闭数据库)startup mount; --(启动实例并加载数据库,但不打开) 启动数据库到mount状态alter database archivelog; --(更改数据库为归档模式)alter database open; --(打开数据库)alter system archive log start; --(启用自动归档) exit --(退出)3.改变归档模式到非归档模式: 1)SQL>SHUTDOWN NORMAL/IMMEDIATE; 2)SQL>STARTUP MOUNT; 3)SQL>ALTER DATABASE NOARCHIVELOG; 4)SQL>ALTER DATABASE OPEN;4.启用自动归档: LOG_ARCHIVE_START=TRUE 归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,直到归档完成为止. 这时只能读而不能写. 运行过程中关闭和重启归档日志进程 SQL>ARCHIVE LOG STOP SQL>ARCHIVE LOG START5.手动归档: LOG_ARCHIVE_START=FALSE 归档当前日志文件 SQL>ALTER SYSTEM ARCHIVE LOG CURRENT; 归档序号为052的日志文件 SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052; 归档所有日志文件 SQL>ALTER SYSTEM ARCHIVE LOG ALL; 改变归档日志目标 SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO "&PATH";6.归档日志操作select group#,sequence#,bytes/1024/1024 byte_mb,members,status from v$log;--查看组号,每组文件数(成员数),文件大小和状态 SELECT group#,member FROM v$logfile;--查看组号和文件位置 ALTER DATABASE ADD LOGFILE GROUP 2 ("E:APPDELLORADATASRITSUBREDO02.LOG") SIZE 100M;--添加日志组并指定文件位置和大小 alter database add logfile member "D:OraclePRODUCT10.2.0ORADATATEST
edo0401.log" to group 4;--添加日志成员 ALTER SYSTEM SWITCH LOGFILE;--切换日志组 ALTER SYSTEM CHECKPOINT;--改变检查点 ALTER DATABASE DROP LOGFILE GROUP 2;--删除日志组 alter database drop logfile member "D:ORACLEPRODUCT10.2.0ORADATATEST
edo0401.log";--删除日志成员7.oracle重做日志组的三种状态:current,active,inactive