一 设置为归档方式


  1. 1 sql> archive log list; #查看是不是归档方式

  2. 2 sql> alter system set log_archive_start=truescope=spfile; #启用主动归档

  3. sql> alter system set log_archive_dest='location=/oracle/ora9/oradata/arch'scope=spfile;

  4. #设置归档路径

  5. sql> alter system set log_archive_dest_1='location=/oracle/ora9/oradata/arch1'scope=spfile;

  6. sql> alter system set log_archive_dest_2='location=/oracle/ora9/oradata/arch2'scope=spfile;

  7. #如果归档到两个位置,则可以通过上边方法实现(这两项还是不要随便加,加上去有可能导致spfile无法使用,慎用)

  8. sql> alter system set log_archive_format='arch_%d_%t_%r_%s.log' #设置归档日记款式

  9. 3 sql> shutdown immediate;

  10. 4 sql> startup mount; #打开控制文件,不打开数据文件

  11. 5 sql> alter database archivelog; #将数据库切换为归档模式

  12. 6 sql> alter database open; #将数据文件打开

  13. 7 sql> archive log list; #查看此时是否处于归档模式

  14. 8 查询以确定数据库位于archivelog模式中且归档过程正在运行

  15. sql> select log_mode from v$database;

  16. sql> select archiver from v$instance;

  17. 9 日志切换

  18. sql> alter system switch logfile;

  19. 10 这次日志切换将归档写到两个目标地,

  20. 1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认

  21. 在oracle情况中运行如下查询:

  22. sql> select name from v$archived_log;

  23. 而后在操作系统中确认查询所列出的文件



二 设置非归档方式

  1. 1 sql> archive log list; #查看是否是归档方式

  2. 2 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档

  3. 3 sql> shutdown immediate;

  4. 4 sql> startup mount; #打开控制文件,不打开数据文件

  5. 5 sql> alter database noarchivelog; #将数据库切换为非归档模式

  6. 6 sql> alter database open; #将数据文件打开

  7. 7 sql> archive log list; #查看此时便处于非归档模式



三 归档相关命令


  1. archive log stop;

  2. archive log start;

  3. archive log list;

  4. show parameters;

  5. show parameters log_archive_start;

  6. show parameters log_archive_max_process; #归档进程数

  7. alter system set log_archive_max_process=5; #将归档进程数改为5

  8. select * from v$bgprocess; #检察后台进程