ORACLE删除用户的有的表的方法

首先我们查询oracle用户下的所有表

select * from all_tab_comments -- 查询所有用户的表,视图等
select * from user_tab_comments   -- 查询本用户的表,视图等
select * from all_col_comments --查询所有用户的表的列名和注释.
select * from user_col_comments -- 查询本用户的表的列名和注释
select * from all_tab_columns --查询所有用户的表的列名等信息(详细但是没有备注).
select * from user_tab_columns --查询本用户的表的列名等信息(详细但是没有备注).

1、如果有删除用户的权限,则可以:

drop user user_name cascade;

加了cascade就可以把用户连带的数据全部删掉。

首先查看当前用户的默认表空间和临时表空间

select default_tablespace,t.temporary_tablespace ,t.*from user_users t;

或 select default_tablespace,t.temporary_tablespace ,t.* from dba_users t

然后找到当前用户的权限角色,

select * from user_role_privs;

删除后再创建该用户。
--创建管理员用户
create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespace space_temp(临时表空间名称);
--授权
grant connect,dba to 用户名;
--修改限额
ALTER USER "用户名" QUOTA UNLIMITED ON SPACE_DATA(表空间名称);

--查看所有用户对象
select uo.object_name,uo.object_type from user_objects uo where uo.object_type<>‘LOB‘ order by uo.object_type desc

2、如果没有删除用户的权限,则可以执行:

select ‘drop table ‘||table_name||‘ cascade constraints;‘

from cat 
where table_type=‘TABLE‘

将会输出一批删除表的sql语句,这些SQL语句执行一下就可以了。(需要有drop table的权限)

出处:http://www.cnblogs.com/chshnan/archive/2012/02/07/2341694.html

时间: 2024-11-05 11:05:11

ORACLE删除用户的有的表的方法的相关文章

oracle删除用户所有表

在删除数据表的时候往往遇到外键约束无法删除的情况,我们可以通过以下几步将数据库表删除,建议在删除库之前先对数据库进行备份,养成良好习惯. 1.删除外键 --查询用户所有表的外键,owner条件为userselect * from user_constraints c where c.constraint_type = 'R' and c.owner = 'USER';--这里往往owner系统内为大写 --删除用户所有表的外键,owner条件为user select 'alter table '

oracle看到用户的所有表名、表睐、字段名称、现场的目光、是空的、字段类型

--oracle看到用户的所有表名.表睐.字段名称.现场的目光.是空的.字段类型 select distinct TABLE_COLUMN.*, TABLE_NALLABLE.DATA_TYPE, TABLE_NALLABLE.NULLABLE from (select distinct utc.table_name table_name, utc.comments table_comments, ucc.column_name column_name, ucc.comments column_

解决此问题:Oracle 删除用户时报 “必须指定 CASCADE 以删除 &#39;SE&#39;”,

这说明你要删除的oracle 用户"SE" 下面还有数据库对象,如 table, view 等,这样你删除用户时必须加选项 cascade:drop user se cascade; 表示删除用户SE,同时删除 SE 用户下的所有数据对象.还有一个办法就是先删除 se 下的所有数据对象,使 se 变成一个啥也没有的空用户,再 drop user se; 一般来说要具有 dba 权限的用户才能删除其他用户 解决此问题:Oracle 删除用户时报 "必须指定 CASCADE 以删

Oracle 删除用户以及表空间

1.查看表空间以及对应的名字 SQL> SELECT FILE_NAME,TABLESPACE_NAME FROM dba_data_files; 2.查询系统用户以及对应的表空间 SQL> select username,default_tablespace from dba_users; 3.查询系统的表空间 SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files; 4.删除用户 SQL> drop user doii

oracle删除用户及其表空间

删除表空间:可以先将其offlinealter tablespace xx offline;将磁盘上的数据文件一同删除drop tablespace xxx including contents and datafiles; 删除用户:drop user xxx;如果用户的schema中有objects ,需要加cascade参数,即drop user xxx cascade; 原文地址:https://www.cnblogs.com/antis/p/10345909.html

oracle 查看用户所在的表空间

查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用户下所有的表 SQL>select * from user_tables;

oracle创建用户、创建表空间、授权、建表

1.首先我们可以用scott用户以sysdba的身份登录oracle. conn scott/tiger as sysdba 2.然后我就可以来创建用户了. create user zzg identified by zzg123; 3.创建好用户我们接着就可以修改用户的密码. alter user zzg identified by unis; 4.默认情况下用户创建好后系统会默认给该用户分配一个表空间(users); 我们可以通过下面的sql语句来查看一下所有用户所在的表空间. select

oracle删除用户和表空间

1.网站测试版本,需要备份本地数据,导入到服务器上.在服务器上创建了表空间和若干个用户.现在删除无用的用户 (1)查询出来所有的用户和对应的表空间:select username,default_tablespace from dba_users (2)删除某一个用户:drop user scsc0819 cascade;其中scsc0819是用户名 2.服务器上无效的表空间也需要删除. (1)查询出来所有的表空间名字和对应的文件名字:select  tablespace_name,file_n

Oracle 删除用户和表空间

Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删除tablespace DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND D