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

前端之家收集整理的这篇文章主要介绍了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;
原文链接:/oracle/208639.html

猜你在找的Oracle相关文章