首页 > 数据库 > Oracle > 正文

oracle怎么删除schema

WBOY
发布: 2022-05-25 17:47:25
原创
5572人浏览过
在oracle中,可以利用drop语句删除schema,语法为“drop user username cascade;”;drop语句用于删除表的结构,包括schema,schema是数据库对象的集合,也可以理解为用户。

oracle怎么删除schema

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么删除schema

删除schema语法如下:

drop user username cascade;
登录后复制

52.png

示例如下:

1)查看用户的默认表空间及临时表空间

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)查看该用户的权限和角色

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)获取获得授予用户权限的脚本

jQuery手机端搜索框删除图标删除文字代码
jQuery手机端搜索框删除图标删除文字代码

jQuery手机端搜索框删除图标删除文字代码

jQuery手机端搜索框删除图标删除文字代码 34
查看详情 jQuery手机端搜索框删除图标删除文字代码
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)执行脚本获得删除该schema下对象的脚本  mesprd为要删除的schema

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连接到该schema下,执行如上获得的脚本

执行前查看下该schema下的对象,执行后再次查看下该schema下的对象

@?\E:\app\Administrator\del_mesprd.sql;
SQL> select object_type,count(*) from user_objects group by object_type;
登录后复制

6)kill掉连接数据库的session

select 'alter system kill session '''||sid||','||serial#||''' immediate;' from v$session where username='MESPRD';
登录后复制

7)删除该schema

drop user MESPRD cascade;
登录后复制

推荐教程:《Oracle视频教程

以上就是oracle怎么删除schema的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号