oracle刪除使用者的所有表

2022-08-12 06:42:18 字數 2361 閱讀 5898

**

1、檢視當前登入的使用者的所有表:

select table_name from user_tables;

檢視除了以 sym_ 開頭的所有表:

select table_name from user_tables where table_name not like 'sym_%';

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

drop user user_name cascade;

eg:drop user simon cascade;

drop user test cascade;

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

刪除後再建立該使用者。--建立管理員使用者

create user 使用者名稱 identified by 密碼 default tablespace space_data(表空間名稱) temporary tablespace space_temp(臨時表空間名稱);

eg:create user simon identified by "123456"

default tablespace simon_data 

temporary tablespace simon_temp;

create user test identified by "123456"

default tablespace test_data 

temporary tablespace test_temp;

--授權

grant connect,resource,dba to 使用者名稱;

eg:grant connect,resource,dba to test;

--修改限額

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

catwhere table_type='

table

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

select 'drop table '||table_name||';'

from cat

where table_type='table' 

and table_name like 'sym_%';

# 刪除表名以sym開頭的表

select 'drop table '||table_name||';'

from cat

where table_type='table' 

and table_name like '%trigger';

# 刪除表名以trigger結尾的

建立表空間的方式建立使用者

/*第1步:建立臨時資料表空間  */

create temporary tablespace simon_temp

tempfile

'c:\simon\user_temp.dbf

'size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

/*第2步:建立資料表空間  */

create tablespace simon_data  

logging  

datafile 'c:\simon\user_data.dbf'

size 50m  

autoextend on  

next 50m maxsize 20480m  

extent management local; 

/*第3步:建立使用者並指定表空間  */

create user simon identified by "123456"

default tablespace simon_data  

temporary tablespace simon_temp;

/*第4步:給使用者授予許可權  */

grant connect,resource,dba to simon;

commit;

Oracle刪除使用者所有表

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

oracle刪除指定使用者所有表

1 select drop table table name from all tables where owner 要刪除的使用者名稱 注意要大寫 2 刪除所有表 以使用者test為例 for example declare cursor cur1 is select table name fro...

oracle刪除某個使用者所有表

1 select drop table table name from all tables where owner 要刪除的使用者名稱 注意要大寫 2 刪除所有表 以使用者test為例 for example declare cursor cur1 is select table name fro...