Oracle关闭和开启归档日志

一 设置为归档方式

Sql代码   收藏代码
  1. sql> archive log list;   #查看是不是归档方式  
  2. sql> alter system set log_archive_start=true scope=spfile; #启用主动归档  
  3. sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;#设置归档路径  
  4. sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile;  
  5. sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile;  
  6. #如果归档到两个位置,则可以通过上边方法实现  
  7. sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log''  #设置归档日记款式  
  8. sql> shutdown immediate;  
  9. sql> startup mount;    #打开控制文件,不打开数据文件  
  10. sql> alter database archivelog; #将数据库切换为归档模式  
  11. sql> alter database open;   #将数据文件打开  
  12. sql> archive log list;   #查看此时是否处于归档模式  
  13. 查询以确定数据库位于archivelog模式中且归档过程正在运行  
  14. sql> select log_mode from v$database;  
  15. sql> select archiver from v$instance;  

  

Sql代码   收藏代码
  1. 日志切换  
  2. sql> alter system switch logfile;  
  3. 这次日志切换将归档写到两个目标地,  
  4. 即上边的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,  
  5. 要是要对目录确认  
  6.   
  7. 在oracle情况中运行如下查询:  
  8. sql> select name from v$archived_log;  
  9. 而后在操作系统中确认查询所列出的文件  

 

二 设置非归档方式

 

Sql代码   收藏代码
  1. sql> archive log list;   #查看是否是归档方式  
  2. sql> alter system set log_archive_start=false scope=spfile;   
  3. #禁用自动归档  
  4. sql> shutdown immediate;  
  5. sql> startup mount;    #打开控制文件,不打开数据文件  
  6. sql> alter database noarchivelog; #将数据库切换为非归档模式  
  7. sql> alter database open;   #将数据文件打开  
  8. sql> archive log list;   #查看此时便处于非归档模式  

 

三 归档相关命令

 

Sql代码   收藏代码
  1. archive log stop;  
  2. archive log start;  
  3. archive log list;  
  4.   
  5. show parameters;  
  6. show parameters log_archive_start;  
  7. show parameters log_archive_max_process; #归档进程数  
  8. alter system set log_archive_max_process=5; #将归档进程数改为5  
  9. select * from v$bgprocess;    #检察后台进程  

  
--->>细节关注点:

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE      PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE        .36      0    1
REDO LOG       4.1        0  4
ARCHIVED LOG      40.95      0         53
BACKUP PIECE          0      0    0
IMAGE COPY          0     0  0
FLASHBACK LOG          0     0    0
FOREIGN ARCHIVED LOG          0         0       0

7 rows selected.

SQL> show parameter log_archive_format
NAME                   TYPE         VALUE
---------------------- ------------ ------------
log_archive_format     string       ARC%S_%R.%T
 
上面产生的归档文件名字为ARC0000000326_0764368160.0001,%S也就是0000000326是日志切换号,也就是上文archive log list中的当前日志序列,%R是场景号,%T是线程号,可以理解成是节点号,如果不是RAC环境,%T都是1,还可以在log_archive_format参数值中加上%D,%D是16进制标识的DBID,如下演示:
 
SQL> alter system set log_archive_format='ARC%S_%R.%T_%D.log' scope=spfile;
系统已更改。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29119536/viewspace-1124672/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29119536/viewspace-1124672/

你可能感兴趣的:(数据库,操作系统)