In Oracle können Sie die Drop-Anweisung verwenden, um das Schema zu löschen. Die Syntax lautet „drop user username cascade;“; die Drop-Anweisung wird verwendet, um die Struktur der Tabelle, einschließlich des Schemas, zu löschen Datenbankobjekte und kann auch als Benutzer verstanden werden.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer. So löschen Sie ein Schema in Oracle ) Sehen Sie sich die Berechtigungen und Rollen des Benutzers an
drop user username cascade;
3) Rufen Sie das Skript ab, um Benutzerberechtigungen zu erteilen
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
4) Führen Sie das Skript aus, um das Skript zum Löschen von Objekten unter dem Schema zu erhalten. mesprd ist das zu löschende Schema
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
Überprüfen Sie die Objekte unter dem Schema vor der Ausführung und überprüfen Sie die Objekte unter dem Schema nach der Ausführung erneut
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' ));
6) Beenden Sie die mit der Datenbank verbundene Sitzung
connect mesprd/MESPRD spool E:\app\Administrator\del_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;
7) Löschen Sie das Schema
@?\E:\app\Administrator\del_mesprd.sql; SQL> select object_type,count(*) from user_objects group by object_type;
Empfohlenes Tutorial: „
Oracle-Video-Tutorial》
Das obige ist der detaillierte Inhalt vonSo löschen Sie ein Schema in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!