Oracle数据库关闭归档功能及删除归档日志方法

注意:数据库归档功能的开启和关闭需重启实例。


、查询数据库归档是否开启

--返回值是ARCHIVELOG则开启了归档模式;NOARCHIVELOG是未开启。
CONN sys/sys@orcl AS SYSDBA;
SELECT log_mode FROM v$database;


归档日志日空间使用查询

--查看归档日志大小及使用情况。若SPACE_USED/SPACE_LIMIT > 30%,需进行日志清理。
select * from v$recovery_file_dest;

--查看归档日志使用情况(按百分比)。如果 ARCHIVED LOG超过90%,Oracle随时有宕机的危险。
select * from v$flash_recovery_area_usage;



归档日志管理和应急处理

--登录RMAN (oracle用户执行)
$ rman target sys/sys@SGTMS

--归档日志交叉检查
RMAN> crosscheck archivelog all;

--只保留最近1天归档日志,其它日志都删除
RMAN>delete archivelog until time 'sysdate-1';

--保留最近7天的归档日志
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

--归档日志,全部删除
RMAN>delete expired archivelog all;

--观察磁盘空间使用率是否正常
#df - hl

--增大归档日志空间
SQL>alter system set db_recovery_file_dest_size=20G;



四、关闭数据库归档功能

--1)以sysdba身份登录数据库
conn sys/sys@orcl as sysdba;

--2)查看是否开启归档功能。如果返回值为NOARCHIVELOG则未开启,如果是ARCHIVELOG则开启了归档模式。
select log_mode from v$database;

--3)关闭数据库
shutdown immediate;

--4)启动数据库到MOUNT状态
startup mount;

--5)关闭归档模式
alter database noarchivelog;

--6)打开数据库
alter database open;

--7)再次确定归档是否关闭
select log_mode from v$database;

--8)查看归档归档路径是否设置。如果没有设置,则归档路径默认为闪回区。
show parameter log_archive_dest;

--9)设置归档路径
alter system set log_archive_dest_1='location=/u01/app/oracle/arch/orcl';

--10)查看归档路径是否改变
archive log list;

--11)切换日志,进入归档目录,查看是否有归档生成
alter system switch logfile;
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
 

你可能感兴趣的:(数据库)