Ⅰ 怎麼徹底刪除oracle資料庫
ORACLE資料庫如何完整卸載
實現方法:
1、開始->設置->控制面板->管理工具->服務 停止所有Oracle服務。
2、開始->程序->Oracle - OraHome81->Oracle Installation Procts->
Universal Installer
卸裝所有Oracle產品,但Universal Installer本身不能被刪除
3、運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。
4、運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動
這個列表,刪除所有Oracle入口。
5、運行refedit,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,
刪除所有Oracle入口。
6、開始->設置->控制面板->系統->高級->環境變數
刪除環境變數CLASSPATH和PATH中有關Oracle的設定
7、從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標
8、刪除\Program Files\Oracle目錄
9、重新啟動計算機,重起後才能完全刪除Oracle所在目錄
10、刪除與Oracle有關的文件,選擇Oracle所在的預設目錄C:\Oracle,刪除這個入
口目錄及所有子目錄,並從Windows 2000目錄(一般為C:\WINNT)下刪除以下文
件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。
11、WIN.INI文件中若有[ORACLE]的標記段,刪除該段
12、如有必要,刪除所有Oracle相關的ODBC的DSN
14、到事件查看器中,刪除Oracle相關的日誌
說明:
如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝,
安裝時,選擇一個新的目錄,則,安裝完畢並重新啟動後,老的目錄及文件就可以刪除掉了。
1 刪除環境變數
2 刪除服務(windows regedit)
3 刪除日誌
4 重新啟動
5 刪除oracle_base目錄
Ⅱ 教你刪除Oracle資料庫中重復沒用的數據
在對資料庫進行操作過程中我們可能會碰到這種情況 表中的數據可能重復出現 使我們對資料庫的操作過程中帶來很多的不便 那麼怎麼刪除這些重復沒有用的數據呢?
重復數據刪除技術可以提供更大的備份容量 實現更長時間的數據保留 還能實現備份數據的持續驗證 進步數據恢復服務水平 方便實現數據容災凱段等 重復的數據可能有這樣兩種情況 第一種時表中只有某些欄位一樣 第二種是兩行記錄完全一樣 Oracle資料庫重復數據刪除技術有如下優勢 更大的備份容量 數據能得到持續驗證 有更高的數據恢復服務水平 方便實現備份數據的容災
一皮搏 刪除部分欄位重復數據
先來談談如何查詢重復的數據吧
下面語句可以查詢出那些數據是重復的
select 欄位 欄位 count(*) from 表名 group by 欄位 欄位 having count(*) >
將上面的>號改為=號就可以查詢出沒有重復的數據了
想要刪除這些重復的數據 可以使用下面語句進行刪除
delete from 表名 a where 欄位 欄位 in
(select 欄位 欄位 count(*) from 表名 group by 欄位 欄位 having count(*) > )
上面的語句非常簡單 就是將查詢到的數據刪除掉 不過這種刪除執行的效率非常低 對於大數據量來說 可能會將資料庫弔死 所以我建議先將查詢到的重復的數據插入到一個暫時表中 然後對進行刪除 這樣 執行刪除的時候就不用再進行一次查詢了 如下
create TABLE 暫時表 AS
(select 欄位 欄位 count(*) from 表名 group by 欄位 欄位 having count(*) > )
上面這句話就是建立了暫時表 並將查詢到的數據插入其中
下面就可以進行這樣的刪除操作了
delete from 表名 a where 欄位 欄位 in (select 欄位 欄位 from 暫時表);
這種先建暫時表再進行刪除的操作要比直接用一條語句進行刪除要高效得多
這個時候 大家可能會跳出來說 什麼?你叫我們執行這種語句 那不是把所有重復的全都刪除嗎?而我們想保留重復數據中最新的一條記錄啊!大家不要急 下面我就講一下如何進行這種操作
在oracle中 有個隱藏了自動rowid 裡面給每條記錄一個唯一的rowid 我們假如想保留最新的一條記錄
我們就可以利用這個欄位 保留重復數據中rowid最大的一條記錄就可以了
下面是查詢重復數據的一個例子
以下是引用片段 selecta rowid a *from表名awherea rowid!=(selectmax(b rowid)from表名bwherea 欄位 =b 欄位 anda 欄位 =b 欄位 )
下面我就來講解一下 上面括弧中的語句是查詢出重復數據中rowid最大的一條記錄
而外面就是查詢出除了rowid最大之外的其他重復的數據了
由此 我們要刪除重復數據 只保留最新的一條數據 就可以這樣寫了
deletefrom表名awherea rowid!=(selectmax(b rowid)from表名bwherea 欄位 =b 欄位 anda 欄位 =b 欄位 )
隨便說一下 上面盯握譽語句的執行效率是很低的 可以考慮建立暫時表 講需要判定重復的欄位 rowid插入暫時表中 然後刪除的時候在進行比較
createtable暫時表asselecta 欄位 a 欄位 MAX(a ROWID)dataidfrom正式表aGROUPBYa 欄位 a 欄位 ;deletefrom表名awherea rowid!=(selectb dataidfrom暫時表bwherea 欄位 =b 欄位 anda 欄位 =b 欄位 );mit;
二 完全刪除重復記錄
對於表中兩行記錄完全一樣的情況 可以用下面語句獲取到去掉重復數據後的記錄
select distinct * from 表名
可以將查詢的記錄放到暫時表中 然後再將原來的表記錄刪除 最初將暫時表的數據導回原來的表中 如下
createTABLE暫時表AS(selectdistinct*from表名);truncatetable正式表; 注 原先由於筆誤寫成了droptable正式表; 現在已經改正過來insertinto正式表(select*from暫時表);droptable暫時表;
假如想刪除一個表的重復數據 可以先建一個暫時表 將去掉重復數據後的數據導入到暫時表 然後在從暫時表將數據導入正式表中 如下
insertINTOt_table_bakselectdistinct*fromt_table;
三 怎樣快速刪除oracle資料庫
最快的方法就進入注冊表 在運行 里輸入regedit
依次展開HKEY_LOCAL_MACHINE SOFARE
找到ORACLE節點 刪除
然後刪除ORACLE數據文件 安裝的時候選的路徑
lishixin/Article/program/Oracle/201311/18677
Ⅲ oracle怎麼清空資料庫資料庫
可以使用以下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'
Ⅳ oracle資料庫刪除命令
刪除表中的數據:
deletefrom表名凱如枯橡廳;truncatetable表名;
刪除表:
droptable表名;
刪除資料庫:
dropdatabase資料庫名;
甲骨文股份有限公司(NASDAQ:ORCL,Oracle)是全球大型資料庫軟體公司。總部位於美國加州紅木城的紅木岸(RedwoodShores),現時首席執行盯洞官為公司創辦人勞倫斯·埃里森(LawrenceJ.Ellison)。
Ⅳ 如何在oracle中刪除資料庫
直接通過圖形界面的方式刪除實例
windows下啟動(Net Configuration Assistant)界面刪除專
Linux下啟動dbca圖像化刪除
註明(這種刪除一般不徹屬底),建議與第2步驟一起使用
查看$ORACLE_BASE目錄下admin、oradata、cfgtoollogs/dbca、diag/rdbms、proct/11.2.0/db_1/dbs刪除。
註明(dbs下面的密碼文件和spfile初始化文件刪除掉)