Oracle では、drop ステートメントを使用してスキーマを削除できます。構文は「drop user username cascade;」です。drop ステートメントは、スキーマを含むテーブルの構造を削除するために使用されます。スキーマはデータベース オブジェクトのコレクションであり、ユーザーとして理解することもできます。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
スキーマを削除するための構文は次のとおりです。
drop user username cascade;
例は次のとおりです。
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 TEMP2) ユーザーの権限とロールを表示します
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 TYPE9 行が選択されました。 3) ユーザー権限を付与するスクリプトを取得します。
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) スクリプトを実行して、スキーマの下のオブジェクトを削除するスクリプトを取得します。 mesprd は削除するスキーマです
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;5) sqlplus スキーマに接続し、上記で取得したスクリプトを実行します。実行前にスキーマ配下のオブジェクトを確認し、実行後に再度スキーマ配下のオブジェクトを確認します
@?\E:\app\Administrator\del_mesprd.sql; SQL> select object_type,count(*) from user_objects group by object_type;6) Kill接続されたデータベース セッション
select 'alter system kill session '''||sid||','||serial#||''' immediate;' from v$session where username='MESPRD';7) スキーマを削除します
drop user MESPRD cascade;推奨チュートリアル: 「
Oracle Video Tutorial」
以上がOracleでスキーマを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。