我覺得還是概念不清析,問題不太明白呀。
創(chuàng)新互聯(lián)歡迎來電:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域10年,包括雨棚定制等多個領(lǐng)域擁有豐富的營銷推廣經(jīng)驗,選擇創(chuàng)新互聯(lián),為網(wǎng)站保駕護航。
所果只是簡單的清空表的話,還是很容易的。
drop table TABLE_NAME ; //連表結(jié)構(gòu)都刪了。
要是清空內(nèi)容,留著表結(jié)構(gòu),就是:
truncate tablename; // 就可以了。
如果是數(shù)據(jù)庫表文件要刪的話,就不和你說了。
可以按用戶清空,如果只刪除數(shù)據(jù),不刪除用戶,可以通過sql刪除
select 'drop table '||table_name||' purge;' from user_tables;
如果刪除用戶可以直接drop user scott cascade;然后可以刪除用戶對應(yīng)的默認(rèn)表空間;
ALTER SYSTEM FLUSH SHARED_POOL
這個語句清除SGA中的 shared pool,shared pool存儲下面的信息:
1、數(shù)據(jù)字典
2、Shared SQL PL/SQL,存儲過程、函數(shù)、包以及觸發(fā)器
但是有一點要清楚的是假如這些對象正在使用時是無法清除的。
1、你需要明白oracle數(shù)據(jù)結(jié)構(gòu)
首先數(shù)據(jù)以表table/索引index/視圖view等方式存在,而表/索引/視圖存儲在表空間,表空間對應(yīng)硬盤上的文件
2、數(shù)據(jù)庫包含數(shù)據(jù)字典或默認(rèn)的一些用戶或你創(chuàng)建的用戶,這些用戶訪問這些表或表空間
3、而這都需要存在一個實例instance
4、所以你如果刪除數(shù)據(jù),需要刪除表,然后表空間(或者直接刪除表空間連帶里面的表)
DROP TABLESPACE DATA_TS1 INCLUDING CONTENTS AND DATAFILES;
5、查詢都有哪些表空間
col file_name format a50
select TABLESPACE_NAME,FILE_NAME from dba_data_files order by TABLESPACE_NAME;
查詢表空間包含哪些表
col SEGMENT_NAME format a30
select distinct SEGMENT_NAME,TABLESPACE_NAME from dba_segments where TABLESPACE_NAME='DATA_TS1' order by SEGMENT_NAME;
6、生成所有表的drop語句
select 'drop table '||tname||' purge;' from tab order by tname;
7、用dbca刪除instance后,數(shù)據(jù)庫就像新安裝時候一樣干干凈凈
dbca -silent -deleteDatabase -sourceDB mydb -sysDBAUserName sys -sysDBAPassword db123456
或者用圖形界面刪除。
在Oracle9i里,Oracle提供了一個內(nèi)部事件,用以強制刷新Buffer Cache。
其語法為:
alter session set events 'immediate trace name flush_cache level 1';或者:
alter session set events = 'immediate trace name flush_cache';類似的也可以使用alter system系統(tǒng)級設(shè)置:
alter system set events = 'immediate trace name flush_cache';在Oracle10g中,Oracle提供一個新的特性,可以通過如下命令刷新Buffer Cache:
alter system flush buffer_cache;
可以使用以下3種方式實現(xiàn):
1、如果有plsql客戶端,則可以使用該用戶登錄,選中所有表 右鍵Drop即可。
2、如果有刪除用戶的權(quán)限,則可以寫:
1
drop user user_name cascade;
加了cascade就可以把用戶連帶的數(shù)據(jù)全部刪掉。
3、如果沒有刪除用戶的權(quán)限,則可以執(zhí)行:
1
select 'drop table '||table_name||';' from cat where table_type='TABLE'