oracle如何清理缓存,oracle清理数据库缓存sql

oracle数据库怎么清空

我觉得还是概念不清析,问题不太明白呀。

我们提供的服务有:成都网站建设、成都网站制作、微信公众号开发、网站优化、网站认证、千山ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的千山网站制作公司

所果只是简单的清空表的话,还是很容易的。

drop table TABLE_NAME ; //连表结构都删了。

要是清空内容,留着表结构,就是:

truncate tablename; // 就可以了。

如果是数据库表文件要删的话,就不和你说了。

如何彻底清理oracle数据文件

Oracle提供了删除数据库的指令:drop database。

需要数据库处于mount状态,然后alter system enable restricted session;,网上有帖子说还需要exclusive,由于我是VM装的,用户只有我一个,所以不用可以。由于当前处于open状态,需要改为mount,执行:

SQL alter database close;

alter database close

*

ERROR at line 1:

ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected

原因是有个session仍连接,退出后再次执行,

SQL alter database close;

Database altered.

SQL select status from v$instance;

STATUS

------------

MOUNTED

SQL alter system enable restricted session;

System altered.

SQL select status from v$instance;

STATUS

------------

MOUNTED

SQL drop database;

Database dropped.

此时alert.log记录信息:

Create Relation ADR_CONTROL

Create Relation ADR_INVALIDATION

Create Relation INC_METER_IMPT_DEF

Create Relation INC_METER_PK_IMPTS

USER (ospid: 8748): terminating the instance

Instance terminated by USER, pid = 8748

Deleted Oracle managed file /opt/app/ora11g/oradata/BISAL/controlfile/o1_mf_9x4fgq77_.ctl

Deleted Oracle managed file /opt/app/ora11g/flash_recovery_area/BISAL/controlfile/o1_mf_9x4fgypb_.ctl

Completed: drop database

Shutting down instance (abort)

License high water mark = 2

Fri Jul 25 19:09:26 2014

Instance shutdown complete

到oradata路径下看已经没有任何文件了,那么认为这个数据库已经被删除。

但再次执行dbca,企图创建相同实例的库时报错:

虽然和bisal实例关联的数据文件、日志文件等已经物理删除了,但和这实例相关的配置文件没有删除,因此不能再次创建相同实例的库。

此时需要手工删除实例相关的配置:

1、删除$ORACLE_BASE/admin/$ORACLE_SID所有目录。

2、删除$ORACLE_HOME/dbs下和SID相关的文件和参数文件,包括hc_bisal.dat,init.ora,lkBISAL,orapwbisal。

3、删除/etc/oratab中和实例相关的部分。

4、可以在$ORACLE_HOME中执行find . -name bisal,删除所有和实例相关的文件。

再次执行dbca,就可以创建相同实例名称的数据库了。

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

ALTER SYSTEM FLUSH SHARED_POOL

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

1、数据字典

2、Shared SQL PL/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的缓存怎么清除?

在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如何清理缓存,oracle清理数据库缓存sql
文章源于:http://pwwzsj.com/article/dssceip.html