ORACLE刪除使用者的有的表的方法

來源:互聯網
上載者:User

標籤:

首先我們查詢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刪除使用者的有的表的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.