1、查看归档信息
SQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 244Current log sequence 246
当前数据库未开启归档
2、设置归档目录
oracle默认使用闪回恢复区DB_RECOVERY_FILE_DEST作为归档路径
SQL> show parameter DB_RECOVERY_FILE_DESTNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 3882M
闪回恢复区在安装过程中有限制其大小,如果闪回恢复区满了,归档日志会无法写入而导致数据库hang住,解决办法可以增加闪回区大小或者修改归档路径
3、修改归档路径
修改log_archive_dest_1参数可修改归档日志路径(pfile/spfile中参数db_recovery_file_dest指定的目录将无效)
实际上从Oracle 10g开始,可以生成多份一样的日志,保存多个位置,以防不测。多个位置通过设置不同的log_archive_dest_n 参数实现,archive log list输出中的Archive destination路径只显示最新修改的路径。
SQL> show parameter log_archive_dest_1NAME TYPE VALUE------------------------------------ ----------- ------------------------------log_archive_dest_1 stringlog_archive_dest_10 stringlog_archive_dest_11 stringlog_archive_dest_12 stringlog_archive_dest_13 stringlog_archive_dest_14 stringlog_archive_dest_15 stringlog_archive_dest_16 stringlog_archive_dest_17 stringlog_archive_dest_18 stringlog_archive_dest_19 string
修改归档路径为/u01/app/oracle/archive_log
SQL> alter system set log_archive_dest_1=‘location=/u01/app/oracle/archive_log‘ scope=spfile;System altered.
重启生效
4、修改归档日志格式
SQL> alter system set log_archive_format=‘ARC%S_%R.%T_%D.dbf‘ scope=spfile;System altered.
重启生效
5、开启归档
需要在mount状态下开启数据库归档
重启至mount
SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 1603411968 bytesFixed Size 2213776 bytesVariable Size 989857904 bytesDatabase Buffers 603979776 bytesRedo Buffers 7360512 bytesDatabase mounted.
开启数据库归档
SQL> alter database archivelog;Database altered.
查看归档情况
SQL> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination /u01/app/oracle/archive_logOldest online log sequence 244Next log sequence to archive 246Current log sequence 246
ALTER DATABASE FORCE LOGGING;
开启强制归档
打开数据库
SQL> alter database open;Database altered.
6、确认数据库为归档模式
SQL> select log_mode from v$database;LOG_MODE------------ARCHIVELOGSQL> select archiver from v$instance;ARCHIVE-------STARTED
7、强制日志切换
先查看当前归档日志视图和归档日志路径:
SQL> select name from v$archived_log;no rows selected
[oracle@zml-rhel6 archive_log]$ lltotal 0
没有归档日志
下面执行强制日志切换
SQL> alter system switch logfile;System altered.
再次查看视图
SQL> select name from v$archived_log;NAME--------------------------------------------------------------------------------/u01/app/oracle/archive_log/ARC0000000246_0963417259.0001_6833bc69.dbf
有归档日志产生,验证成功
//TODO
RMAN归档日志清理