-
2022-01-18 10:13:29
--linux 查看剩余及使用空间 df -h --查询用户的session: select SID,SERIAL# from V$SESSION where username='OA_TEST210301'; --kill掉用户u1的session: alter system kill session 'SID,SERIA#'; --查看所有用户 select * from all_users; --查看用户及对应表空间 select username,default_tablespace from dba_users; --删除用户 drop user OA_TEST210301 cascade; --删除表空间 drop tablespace OA_TEST20210301 including contents and datafiles cascade constraints;
更多相关内容 -
Linux下Oracle删除用户和表空间的方法
2021-01-19 22:45:41本文实例讲述了Linux下Oracle删除用户和表空间的方法。分享给大家供大家参考,具体如下: 1.删除某个用户 SQL> conn /as sysdba Connected. SQL> drop user userName cascade; 用户已删除 如果用户无法删除,并... -
Oracle 删除用户和表空间
2021-05-08 04:17:11版权声明:本文为博主原创文章,未经博主允许不得转载。...步骤一: 删除userdrop user ×× cascade说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。步骤二...版权声明:本文为博主原创文章,未经博主允许不得转载。
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下
对于单个user和tablespace 来说, 可以使用如下命令来完成。
步骤一: 删除user
drop user ×× cascade
说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
步骤二: 删除tablespace
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
但是,因为是供开发环境来使用的db, 需要清理的user 和 table space 很多。
思路:
Export出DB中所有的user和tablespace, 筛选出系统的和有用的tablespace,把有用的信息load到一张表中去。
然后写例程循环,把不在有用表的tablespace删掉
1. select username,default_tablespace from dba_users;
2.
create table MTUSEFULSPACE
(
ID Number(4) NOT NULL PRIMARY KEY,
USERNAME varchar2(30),
TABLESPACENAME varchar2(60),
OWNERNAME varchar2(30)
);
3.
declare icount number(2);
tempspace varchar2(60);
begin
for curTable in (select username as allusr,default_tablespace as alltblspace from dba_users)
loop
tempspace :=curTable.alltblspace;
dbms_output.put_line(tempspace);
select count(TABLESPACENAME) into icount from MTUSEFULSPACE where TABLESPACENAME = tempspace;
if icount=0 then
DROP TABLESPACE tempspace INCLUDING CONTENTS AND DATAFILES;
end if;
commit;
end loop;
end;
执行后会报如下错误
ORA-06550: 第 10 行, 第 5 列:
PLS-00103: 出现符号 "DROP"在需要下列之一时:
begin case declare exit
for goto if loop mod null pragma raise return select update
while with
<<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
好像是被锁了。。
没办法,例程不能写,就只能组出语句执行了。
把需要删除的user, tablespace 导出到Excel. 使用CONCATENATE 组出SQL.
贴到SQLdevelop 批量执行。
整个删除会比较耗时间, 100多个user. 用了12个小时左右。
如要找datafile的具体位置,可以使用
select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;
SQL code
--删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;
--删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles;
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
oracle删除用户及其表空间
oracle删除用户及其表空间 删除表空间:可以先将其offlinealter tablespace xx offline;将磁盘上的数据文件一同删除drop tablespace xxx inclu ...
Oracle删除用户和表空间
对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schem ...
Oracle 删除用户和表空间------创建表空间和用户
步骤一: 删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删 ...
oracle 删除用户,表空间;循环删除表
select * from dba_tablespaces 说明:查看所有表空间 ----------------------------------------------------------- ...
oracle删除用户及表空间,导入用户和数据
drop user xxx cascade; drop tablespace xxx including contents and datafiles; create tablespace xxx d ...
Oracle创建,删除用户与表空间
1.创建表空间与用户 a:创建数据表空间 create tablespace user_data logging datafile 'D:\oracle\product\10.2.0\oradata\ ...
oracle创建/删除 用户,表空间-九五小庞
以下红色标示的都是可以修改的字段 可以按照如下顺序来创建表空间,创建用户,以及删除表空间,删除用户 查看oracle数据库已有的表空间路径 select name from v$datafile; 1 ...
Oracle 创建表空间、临时表空间、创建用户并指定表空间、授权,删除用户及表空间
/* 说明:若已经存在相应的用户和表空间,则需要先删除相应的用户和表空间 然后再全部重新建立 */ --删除用户 drop user USERNAME cascade; --删除表空间 drop ta ...
随机推荐
web storage和cookie的区别
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外co ...
&;11,散列表
#1,是什么? 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个 ...
一致性Hash算法在Redis分布式中的使用
由于redis是单点,但是项目中不可避免的会使用多台Redis缓存服务器,那么怎么把缓存的Key均匀的映射到多台Redis服务器上,且随着缓存服务器的增加或减少时做到最小化的减少缓存Key的命中率呢? ...
uGUI练习(九) Toggle Button
练习目标 练习单选框,多选框 Toggle Group:Toggle容器 Toggle:单一的选项 练习步骤 1.创建一个Panel,命名TogglePanel,添加Toggle Group组件,可以 ...
Java基础之处理事件——选项按钮的鼠标监听器(Lottery 2 with mouse listener)
控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类MouseHandler: // Mouse event handler for a selection button import ...
HDU 4496 D-City(并查集,逆思维)
题目 熟能生巧...常做这类题,就不会忘记他的思路了... //可以反过来用并查集,还是逐个加边,但是反过来输出...我是白痴.....又没想到 //G++能过,C++却wa,这个也好奇怪呀... # ...
select count的优化
select count的优化 2011-08-02 12:01:36 分类: Oracle 一般情况下,select count语句很难避免走全表扫描,对于上百万行的表这个语句使用起来就比较吃力了, ...
有趣的Node爬虫,数据导出成Excel
最近一直没更新了诶,因为学习Backbone好头痛,别问我为什么不继续AngularJs~因为2.0要出来了啊,妈蛋!好,言归正传,最近帮我的好基友扒数据,他说要一些股票债券的数据.我一听,那不就是要 ...
用php理解指针--写给刚刚学习编程的人
在刚刚学习编程时,可能for循环什么的还是可以理解,但是当学习到指针的时候,课上估计很多人就睡觉去了. 现在用两端php程序说明指针 先写一个简单的,大家都理解下 <?php class tex ...
Linux 系统文件夹结构
登录后,在当前的命令窗口中输入命令: ls / 你的终端上会出现例如以下的代码: ...
-
oracle创建删除用户示例分享(oracle删除用户命令及授权)
2020-09-10 16:30:12主要介绍了oracle创建删除用户示例还有oracle删除用户命令及授权的使用,需要的朋友可以参考下 -
oracle 删除用户和用户下的数据
2021-12-13 15:50:33如果用户下面有对象,就得用drop user username cascade来删除这个用户以及这个用户下的所有对象了; 同时删除多个用户的话,可以用下面的方法 select 'drop user ' || username || ' cascade' || ';' from dba_...有两种方法,一种是drop user username;
还有一种是 drop user username cascade;
官方的说明如下:
Dropping a Database User: Example If user Sidney's schema contains no objects, then you can drop sidney by issuing the statement:
DROP USER sidney;
If Sidney's schema contains objects, then you must use the CASCADE clause to drop sidney and the objects:
DROP USER sidney CASCADE;
drop user username必须是这个用户下面没有任何对象;这样才可以使用这个命令,否则就会报错;
如果用户下面有对象,就得用drop user username cascade来删除这个用户以及这个用户下的所有对象了;
同时删除多个用户的话,可以用下面的方法
select 'drop user ' || username || ' cascade' || ';' from dba_users
可以在后面根据需要加上筛选条件。
把生成的语句,批量执行就可以了。
-
oracle删除用户下所有表
2011-07-08 11:54:30删除oracle中用户下所有的表,不是系统用户哦!不然会删掉系统的数据表 -
oracle删除用户及表空间
2019-05-12 17:47:591、以sysdba用户(最高权限)登录,查找需要删除的用户...2、查询需要删除用户对应的表空间 SELECT * FROM User_Tablespaces; drop tablespace DATA_MKDB_TMP including contents AND datafiles; select * from ...1、以sysdba用户(最高权限)登录,查找需要删除的用户(普通用户没有删除权限)
select * from dba_users;
2、查询需要删除用户对应的表空间
SELECT * FROM User_Tablespaces;
drop tablespace DATA_MKDB_TMP including contents AND datafiles;select * from dba_data_files;
3、删除用户和表空间
drop user ceshi ;
如果报 “必须指定 CASCADE 以删除 'ceshi '”
这说明你要删除的oracle 用户"ceshi " 下面还有数据库对象,如 table, view 等,这样你删除用户时必须加选项 cascade:
drop user ceshi cascade; 表示删除用户ceshi ,同时删除 ceshi 用户下的所有数据对象。
还有一个办法就是先删除 ceshi 下的所有数据对象,使 ceshi 变成一个啥也没有的空用户,再 drop user ceshi ;
一般来说要具有 dba 权限的用户才能删除其他用户
drop tablespace tablespacename including contents and datafiles cascade constraint;
有时候会遇到无法删除用户,这是因为数据库连接到该用户,有会话存在,需要先删除会话。
-
Oracle删除用户以及用户下数据
2018-12-13 14:39:22Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助。 方法1: drop user XXXX cascade; drop tablespace XXXX ... -
oracle删除用户 提示“无法删除当前已连接用户”
2018-10-18 19:11:04在删除oracle用户时,报错提示“无法删除当前已连接用户”。 解决方法如下: 1.查看用户的连接状况 select username,sid,serial# from v$session (若想具体查询某个用户,则在语句后接上 where username = ... -
oracle删除用户下所有表、视图等操作(命令操作)
2019-01-15 21:38:48–登录用户名与密码为需要删除的用户 SET HEAD OFF; SPOOL e:/drop_tables.sql; –delete tables select ‘drop table ’ || table_name ||’;’||chr(13)||chr(10) from user_tables; –delete views select ‘drop... -
Oracle删除用户与删除表
2018-08-12 19:02:00删除用户: drop user user_name cascade; #级联删除该用户下所有的数据对象 删除表:drop table table_name purge; #删除表同时清空回收站 -
oracle删除用户下的所有表
2019-02-11 21:13:32oracle删除用户下的所有表 -
Oracle删除用户下的sequence
2017-08-31 19:18:19--Oracle删除用户下的sequence declare owner_name varchar(20); cursor cur1 is select sequence_name from user_sequences; begin owner_name := '用户名'; for cur2 in cur1 loop -
Oracle 删除用户、删除当前用户的数据库表、删除表空间的过程
2017-08-04 18:17:211. 删除用户 如果要删除的用户当前没有连接,则可以直接用下面语句删除; 如果要删除的用户当前存在连接,转到 Oracle删除当前连接用户 /* CASCADE 的意思是将用户的数据库数据一并删除,并没有删除相应的表... -
Oracle删除用户、表空间以及表空间对应本地文件
2019-05-07 10:02:22以system用户登录,查找需要删除的用户: –查找用户 select * from dba_...–删除用户 drop user 用户名称 cascade; –删除表空间 drop tablespace 表空间名称 including contents and datafiles cascade const... -
Oracle删除用户以及表空间的操作步骤
2019-02-13 15:15:23在Oracle当中导入dmp文件时候显示在Oracle中导入失败,出现了图中所示的错误。根据网上的经验借鉴,决定解决方法如下: 首先历史表空间和用户,然后重新新建用户和表空间,并且重新导入。 首先需要进入sqlplus页面... -
删除oracle用户
2022-01-06 14:57:01drop user 用户名; 或者drop user 用户名 cascade;(这将会删除与用户相关联的表) -
删除ORACLE某个用户下所有数据
2011-09-01 10:46:31ORACLE删除某个特定用户下的所有数据 -
Oracle删除用户drop user报错解决方案
2019-03-21 13:13:58由于开发过程中对数据库的操作比较多,另外也是怕占用资源,决定将数据库所使用用户删除掉,然后可能是资源占用,oracle报错了,提供解决方案: 1.首先将索要删除的用户锁定(这句必须执行): alter user 用户名... -
Oracle数据库如何创建和删除用户
2021-05-08 18:51:36创建用户:SQL> create user user01 identified by user01;User created.但登录提示01045的错误,缺少CREATE SESSION权限。ERROR:ORA-01045: user USER01 lacks CREATE SESSION privilege; logon deniedEnt... -
Oracle数据库删除当前用户下全部对象
2018-12-16 18:01:40该脚本为删除当前用户全部数据库对象,请慎重执行,仅适用于Oracle数据库。 -
oracle 删除用户时" 表或视图不存在"的问题
2017-06-09 17:02:26最近在oracle里删除用户时总是报错,提示信息为: ORA-00604:递归SQL层1出现错误 ORA-00942:表或视图不存在 根据网上查到的解决方法经试验如下方法可行: 打开Oracle的跟踪 alter session set ... -
Oracle 删除用户时,出现 ORA-00604, ORA-00942,ORA-06512
2016-07-26 03:51:48执行DROP USER NC5X;时 爆出ORA-00604:递归sql级别1出现错误, ORA-00942:表或视图不存在 ORA-06512:在line8 因为对数据库了解不深,请大神给简单的解决方案 -
Oracle数据库创建用户和删除用户(持续更...)
2021-11-13 17:00:051.创建用户步骤 1.用登录到DBA权限,输入sqlplus / as sysdba回车,相当于拥有数据库操作的最高权限,其中/表示不用用户名和密码。 2.创建用户的指令为:create user shqx identified by “pwdidc”;,其中shqx是需要... -
oracle删除用户以及用户下的所有表(好用)
2018-09-27 12:55:37删除用户以及用户下的所有表 语法: drop user 用户名 cascade ps : 删除用户名为test的用户 drop user test cascade oracle 建表授权: ... -
Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
2012-09-11 00:24:00Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包 Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包 -
删除oracle用户命令
2019-10-28 16:21:33drop user 用户 CASCADE;