如何清空oracle缓存

如题所述

第1个回答  2014-10-26
cache是在内存SGA里的,和你的文件系统并没有关系。

一般oracle容易占文件系统空间的东西:
1、各类dump、trace文件;
2、归档、闪回文件;

我觉得你是不是想问第一个?

另外,如果你的datafile是auto extend on的话,有可能因为数据增大而塞满所在文件系统!
追问
对对 是要清除归档文件,那这个要怎么清除?

回答
先确定一下归档路径
sqlplus / as sysdba

>show parameter arch;
log_archive_dest_1 LOCATION=+DATADG/

看看这个路径是不是你要清理的。

然后用rman
rman
>connect target /
>crosscheck archivelog all;
>delete expired archivelog all;
>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-15'; #删除15天前的归档文件本回答被提问者和网友采纳
第2个回答  2016-01-13
在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache。
其语法为:
alter session set events 'immediate trace name flush_cache level 1';
或者:
alter session set events = 'immediate trace name flush_cache';
类似的也可以使用alter system系统级设置:
alter system set events = 'immediate trace name flush_cache';
在Oracle10g中,Oracle提供一个新的特性,可以通过如下命令刷新Buffer Cache:

alter system flush buffer_cache;
相似回答