背景
前文提及schema是ORACLE数据库用户拥有的数据库对象的集合。方案对象包括诸如表、视图、序列、存储过程、同义词、索引、集群和数据库链接等结构。通常,方案对象包括应用程序在数据库中创建的所有内容。具体来说,一个ORACLE用户对应一个schema。
详细步骤
创建一个SQL脚本(drop_schema.sql)文件,内容如下
set define on
set serveroutput on
connect / as sysdba
define schema = &1
-- Kill Session connecting to the schemas to be dropped
Declare
Cursor c_session Is
SELECT s.sid, s.serial# FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id
WHERE s.type != 'BACKGROUND' AND s.username = '&schema';
Begin
For r_session In c_session Loop
Execute Immediate 'ALTER SYSTEM KILL SESSION '''||r_session.sid||','||r_session.serial#||'''';
End Loop;
End;
/
-- Drop schemas
Drop User &schema Cascade;
set