ORACLE刪除當前使用者下所有的表的方法

Franson發表於2016-10-01

1、如果有刪除使用者的許可權,則可以:

drop user user_name cascade;

加了cascade就可以把使用者連帶的資料全部刪掉。

刪除後再建立該使用者。
--建立管理員使用者
create user 使用者名稱 identified by 密碼 default tablespace space_data(表空間名稱) temporary tablespace space_temp(臨時表空間名稱);
--授權
grant connect,dba to 使用者名稱;
--修改限額
ALTER USER "使用者名稱" QUOTA UNLIMITED ON SPACE_DATA(表空間名稱);

--檢視所有使用者物件
select uo.object_name,uo.object_type from user_objects uo where uo.object_type<>'LOB' order by uo.object_type desc

 

2、如果沒有刪除使用者的許可權,則可以執行:

select 'drop table '||table_name||';' 
from cat 
where table_type='TABLE'

將會輸出一批刪除表的sql語句,這些SQL語句執行一下就可以了。(需要有drop table的許可權)

相關文章