oracle如何清缓存,oracle sql缓存

oracle怎样清空缓冲区缓存

在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;

怎么清理oracle存储过程中的缓存

ALTER SYSTEM FLUSH SHARED_POOL

这个语句清除SGA中的 shared pool,shared pool存储下面的信息:

1、数据字典

2、Shared SQL PL/SQL,存储过程、函数、包以及触发器

但是有一点要清楚的是假如这些对象正在使用时是无法清除的。

如何清空oracle缓存

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天前的归档文件


当前文章:oracle如何清缓存,oracle sql缓存
文章出自:http://hbruida.cn/article/dschsoi.html