oracle怎么刪除schema

oracle中,可以利用drop語句刪除schema,語法為“drop user username cascade;”;drop語句用于刪除表的結(jié)構(gòu),包括schema,schema是數(shù)據(jù)庫對象的集合,也可以理解為用戶。

oracle怎么刪除schema

本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。

oracle怎么刪除schema

刪除schema語法如下:

drop?user?username?cascade;

oracle怎么刪除schema

示例如下:

1)查看用戶的默認(rèn)表空間及臨時表空間

set?lines?300 col?username?for?a30 select?username?,default_tablespace,TEMPORARY_TABLESPACE?from?dba_users?where?username='MESPRD'; ----------------------------------- USERNAME???DEFAULT_TABLESPACE?????TEMPORAR????Y_TABLESPACE MESPRD????HTTBS_MESPRD????????????????????????TEMP

2)查看該用戶的權(quán)限和角色

select?privilege?from?dba_sys_privs?where?grantee='SYSADM' union select?privilege?from?dba_sys_privs?where?grantee?in?(select?granted_role?from?dba_role_privs?where?grantee='MESPRD'?); ----------------------------------- PRIVILEGE CREATE?CLUSTER CREATE?INDEXTYPE CREATE?OPERATOR CREATE?PROCEDURE CREATE?SEQUENCE CREATE?SESSION CREATE?TABLE CREATE?TRIGGER CREATE?TYPE

已選擇9行。

3)獲取獲得授予用戶權(quán)限的腳本

select?'grant?'||privilege||'?to?SYSADM;'?from?(select?privilege?from?dba_sys_privs?where?grantee='SYSADM' union select?privilege?from?dba_sys_privs?where?grantee?in?(select?granted_role?from?dba_role_privs?where?grantee='SYSADM'?));

4)執(zhí)行腳本獲得刪除該schema下對象的腳本? mesprd為要刪除的schema

connect?mesprd/MESPRD spool?E:appAdministratordel_mesprd.sql; select?'alter?table?'||table_name||'?drop?constraint?'||constraint_name||'?;'?from?user_constraints?where?constraint_type='R'; select?'truncate?table?'||table_name?||';'?from?user_tables; select?'drop?table?'||table_name?||'?purge;'?from?user_tables; select?'drop?index?'||index_name?||';'?from?user_indexes; select?'drop?view?'?||view_name||';'?from?user_views; select?'drop?sequence?'?||sequence_name||';'?from?user_sequences; select?'drop?function?'?||object_name||';'??from?user_objects??where?object_type='FUNCTION'; select?'drop?procedure?'||object_name||';'?from?user_objects??where?object_type='PROCEDURE'; select?'drop?package?'||?object_name||';'?from?user_objects??where?object_type='PACKAGE'; select?'drop?database?link?'||?object_name||';'?from?user_objects??where?object_type='DATABASE?LINK'; spool?off;

5)sqlplus連接到該schema下,執(zhí)行如上獲得的腳本

執(zhí)行前查看下該schema下的對象,執(zhí)行后再次查看下該schema下的對象

@?E:appAdministratordel_mesprd.sql; SQL>?select?object_type,count(*)?from?user_objects?group?by?object_type;

6)kill掉連接數(shù)據(jù)庫的session

select?'alter?system?kill?session?'''||sid||','||serial#||'''?immediate;'?from?v$session?where?username='MESPRD';

7)刪除該schema

drop?user?MESPRD?cascade;

推薦教程:《Oracle視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享