也談Oracle中刪除使用者下所有物件

2021-10-08 02:39:34 字數 1078 閱讀 8117

/* 保留owner */

begin 

for obj in 

(select t.owner,t.object_name,object_type from all_objects t

where t.owner in ('venture',

'total',

'params',

'ksmanage',

'kingstar',

'history',

'dcetl',

'core',

'closing')

and ( object_type='procedure' 

or object_type='table' 

or object_type='view' 

or object_type='function' 

or object_type='package'

or object_type='package body'  

or object_type='sequence' )

) loop 

if obj.object_type='table' then 

execute immediate 'drop '||obj.object_type||' '|| obj.owner||'.'||obj.object_name||' cascade constraints'; 

else 

execute immediate 'drop '||obj.object_type||' '|| obj.owner||'.'||obj.object_name; 

end if; 

end loop;     

end;

然後執行結果並不理想,看來指令碼還需要繼續做細節優化:

清除所有使用者的**站:purge dba_recyclebin;

dba_objects中的查詢結果中,lob型別變成了type型別,記錄依然存在。

oracle 刪除使用者 以及使用者下的物件

oracle 刪除使用者的命令 1 刪除使用者 drop user 使用者名稱 2 刪除使用者以及使用者下的物件 drop user 使用者名稱 cascade 1 select username,sid,serial from v session 執行之後找到使用者名稱對應的sid和serial ...

Oracle中刪除某個使用者下的所有表

一般的方法 先使用sql查詢 select delete from table name from user tables order by table name 將查詢結果複製一下,在sql命令視窗裡再執行一次就刪除了所有的表。select drop table table name from c...

ORACLE刪除某使用者下所有物件

sql指令碼 唯一注意的是下面的f dropobj.sql 為操作的.sql 你的電腦沒有f盤,請換為d或者e其他存在的碟符 用於刪除當前使用者的所有物件 use for drop all objects in current user set heading off set feedback of...