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;

 

https://blog.csdn.net/JohnnySun2015/article/details/74196786

猜你喜欢

转载自blog.csdn.net/vincentlhh/article/details/84649171
今日推荐