1、你需要明白o(hù)racle數(shù)據(jù)結(jié)構(gòu)
成都創(chuàng)新互聯(lián)主營寶清網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),寶清h5成都小程序開發(fā)搭建,寶清網(wǎng)站營銷推廣歡迎寶清等地區(qū)企業(yè)咨詢
首先數(shù)據(jù)以表table/索引index/視圖view等方式存在,而表/索引/視圖存儲(chǔ)在表空間,表空間對(duì)應(yīng)硬盤上的文件
2、數(shù)據(jù)庫包含數(shù)據(jù)字典或默認(rèn)的一些用戶或你創(chuàng)建的用戶,這些用戶訪問這些表或表空間
3、而這都需要存在一個(gè)實(shí)例instance
4、所以你如果刪除數(shù)據(jù),需要?jiǎng)h除表,然后表空間(或者直接刪除表空間連帶里面的表)
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ù)庫就像新安裝時(shí)候一樣干干凈凈
dbca -silent -deleteDatabase -sourceDB mydb -sysDBAUserName sys -sysDBAPassword db123456
或者用圖形界面刪除。
用truncate、delete都可以,比如要清空一個(gè)名為abc的表,就這樣寫sql:
truncate table abc;或者:
delete from abc;
oracle 查版本號(hào),oracle怎樣查版本,具體步驟如下:
1、首先進(jìn)入sqlplus,cmd---plsql,登陸我們的用戶,如圖,建議用sysdba權(quán)限的賬戶登陸。
2、方法一:v$version
SQL select * from v$version;
3、方法二:product_component_version
SQL select * from product_component_version;
實(shí)現(xiàn)方法:
1、開始->設(shè)置->控制面板->管理工具->服務(wù) 停止所有Oracle服務(wù)。
2、開始->程序->Oracle - OraHome81->Oracle Installation Products->
Universal Installer
卸裝所有Oracle產(chǎn)品,但Universal Installer本身不能被刪除
3、運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個(gè)入口。
4、運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動(dòng)
這個(gè)列表,刪除所有Oracle入口。
5、運(yùn)行refedit,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,
刪除所有Oracle入口。
6、開始->設(shè)置->控制面板->系統(tǒng)->高級(jí)->環(huán)境變量
刪除環(huán)境變量CLASSPATH和PATH中有關(guān)Oracle的設(shè)定。
可以按用戶清空,如果只刪除數(shù)據(jù),不刪除用戶,可以通過sql刪除
select
'drop
table
'||table_name||'
purge;'
from
user_tables;
如果刪除用戶可以直接drop
user
scott
cascade;然后可以刪除用戶對(duì)應(yīng)的默認(rèn)表空間;
刪除表t1中的全部數(shù)據(jù),在命令行中輸入:
delete fron t1;
上述命令當(dāng)數(shù)據(jù)量比較大的時(shí)候,執(zhí)行速度慢,好處是管理員可以恢復(fù)刪除的數(shù)據(jù)。
truncate table t1;
上述命令執(zhí)行速度塊,尤其是特別大的表(幾千萬行)也可以快速刪除所有數(shù)據(jù),壞處是被刪除的數(shù)據(jù)非常難以恢復(fù)。類似刪除文件,而且清空了垃圾箱。
我覺得還是概念不清析,問題不太明白呀。
所果只是簡單的清空表的話,還是很容易的。
drop table TABLE_NAME ; //連表結(jié)構(gòu)都刪了。
要是清空內(nèi)容,留著表結(jié)構(gòu),就是:
truncate tablename; // 就可以了。
如果是數(shù)據(jù)庫表文件要?jiǎng)h的話,就不和你說了。