我觉得还是概念不清析,问题不太明白呀.
所果只是简单的清空表的话,还是很容易的.
drop table TABLE_NAME ; //连表结构都删了.
要是清空内容,留着表结构,就是:
truncate tablename; // 就可以了.
如果是数据库表文件要删的话,就不和你说了.
可以按用户清空,如果只删除数据,不删除用户,可以通过sql删除
select 'drop table '||table_name||' purge;' from user_tables;
如果删除用户可以直接drop user scott cascade;然后可以删除用户对应的默认表空间;
ALTER SYSTEM FLUSH SHARED_POOL
这个语句清除SGA中的 shared pool,shared pool存储下面的信息:
①.、数据字典
但是有一点要清楚的是假如这些对象正在使用时是无法清除的.
①.、你需要明白oracle数据结构
首先数据以表table/索引index/视图view等方式存在,而表/索引/视图存储在表空间,表空间对应硬盘上的文件
DROP TABLESPACE DATA_TS1 INCLUDING CONTENTS AND DATAFILES;
select TABLESPACE_NAME,FILE_NAME from dba_data_files order by TABLESPACE_NAME;
查询表空间包含哪些表
select distinct SEGMENT_NAME,TABLESPACE_NAME from dba_segments where TABLESPACE_NAME='DATA_TS1' order by SEGMENT_NAME;
select 'drop table '||tname||' purge;' from tab order by tname;
或者用图形界面删除.
其语法为:
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;
drop user user_name cascade;
加了cascade就可以把用户连带的数据全部删掉.
select 'drop table '||table_name||';' from cat where table_type='TABLE'
以上就是土嘎嘎小编为大家整理的oracle如何清缓存相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!