Heim  >  Artikel  >  Datenbank  >  So löschen Sie ein Schema in Oracle

So löschen Sie ein Schema in Oracle

WBOY
WBOYOriginal
2022-05-25 17:47:254650Durchsuche

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.

So löschen Sie ein Schema in Oracle

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;

9 ausgewählte Zeilen.

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 SchemaSo löschen Sie ein Schema in Oracle

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

5) SQLplus stellt eine Verbindung zum Schema her und führt das Skript aus oben erhalten


Ü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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn