ALTER SYSTEM FLUSH SHARED_POOL
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了临川免费建站欢迎大家使用!
这个语句清除SGA中的 shared pool,shared pool存储下面的信息:
1、数据字典
2、Shared SQL PL/SQL,存储过程、函数、包以及触发器
但是有一点要清楚的是假如这些对象正在使用时是无法清除的。
我觉得还是概念不清析,问题不太明白呀。
所果只是简单的清空表的话,还是很容易的。
drop table TABLE_NAME ; //连表结构都删了。
要是清空内容,留着表结构,就是:
truncate tablename; // 就可以了。
如果是数据库表文件要删的话,就不和你说了。
在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;
1.首先使用ORACLE系统用户登录PL/SQL管理工具。
2.在SQL脚本中,编写和执行SQL语句来删除表空间的表空间名称。
3.如果希望清理用户下的所有数据库表,可以执行以下语句,删除用户名cascade。
4.当执行上述语句时,它将显示在它正在执行的级别以下。
5.执行之后,可以使用删除的用户登录PL/SQL。
6.如果有弹出提示,说明删除成功。
可以使用以下3种方式实现:
1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可。
2、如果有删除用户的权限,则可以写:
1
drop user user_name cascade;
加了cascade就可以把用户连带的数据全部删掉。
3、如果没有删除用户的权限,则可以执行:
1
select 'drop table '||table_name||';' from cat where table_type='TABLE'