標籤:
首先我們查詢oracle使用者下的所有表
select * from all_tab_comments -- 查詢所有使用者的表,視圖等
select * from user_tab_comments -- 查詢本使用者的表,視圖等
select * from all_col_comments --查詢所有使用者的表的列名和注釋.
select * from user_col_comments -- 查詢本使用者的表的列名和注釋
select * from all_tab_columns --查詢所有使用者的表的列名等資訊(詳細但是沒有備忘).
select * from user_tab_columns --查詢本使用者的表的列名等資訊(詳細但是沒有備忘).
1、如果有刪除使用者的許可權,則可以:
drop user user_name cascade;
加了cascade就可以把使用者連帶的資料全部刪掉。
首先查看目前使用者的預設資料表空間和暫存資料表空間
select default_tablespace,t.temporary_tablespace ,t.*from user_users t;
或 select default_tablespace,t.temporary_tablespace ,t.* from dba_users t
然後找到目前使用者的許可權角色,
select * from user_role_privs;
刪除後再建立該使用者。
--建立管理使用者
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||‘ cascade constraints;‘
from cat
where table_type=‘TABLE‘
將會輸出一批刪除表的sql語句,這些SQL語句執行一下就可以了。(需要有drop table的許可權)
出處:http://www.cnblogs.com/chshnan/archive/2012/02/07/2341694.html
ORACLE刪除使用者的有的表的方法