`

linux中删除表空间

阅读更多

//数据库连接

sqlplus sys/pwd as sysdba

 

或者sqlplus "/as sysdba"(oracle账户登录系统)

 

//查询所有表空间

select tablespace_name from dba_tablespaces;

 

//选择目标表空间删除

drop tablespace MYDB including contents and datafiles cascade constraints;

 

//删除相应用户

drop user MYDB_USER cascade;

 

===============================================================

操作中可能会出现如下报错:

 

报错信息:ORA-01940: cannot drop a user that is currently connected

 

解决方法://查找当前帐号下哪些连接在运行(此处需要大写):

                 SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='MYDB_USER';

 

                 //删除用户进程;

                 ALTER  SYSTEM  KILL SESSION '1,1333';

                 ALTER  SYSTEM  KILL SESSION '33,786';

 ---------------------------------------------------------------------------------------------------

 

报错信息:ORA-00604: error occurred at recursive SQL level 1

                 ORA-02429: cannot drop index used for enforcement of unique/primary key

 

报错原因:中途因先删除用户再删除表空间

 

解决方法://查询该表空间所有仍然存在的主键约束

                 select segment_name,partition_name,tablespace_name from dba_extents where tablespace_name=upper('MYDB');

 

                 //执行后出现如下约束 

                 TROLE_PK

                 TMENU_PK

 

                //生成删除主键约束的脚本

                select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||';' from dba_constraints where constraint_type in ('U','P') and (index_owner,index_name) in (select owner,segment_name from dba_segments where tablespace_name=upper('MYDB'));

 

               //执行删除主键约束的脚本

               alter table MYDB.TROLE drop constraint TROLE_PK;

               alter table MYDB.TMENU drop constraint TMENU_PK;

 

 

 

分享到:
评论
1 楼 di1984HIT 2015-06-19  
写的很好啊。

相关推荐

    如何正确的删除Oracle表空间数据文件

    详细介绍如何正常删除Oracle 数据库表空间数据文件,OFFLINE和OFFLINE DROP的区别,OS级别删除了数据文件后的恢复,删除数据库表空间数据文件演示示例

    linux oracle 建表,表空间以及删除命令

    linux oracle 建表,表空间以及删除命令

    如何解决Linux中文件已删除但空间不释放.doc

    一般来说不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件被进程锁定,或者有进程一直在向这个文件写数据等,要理解这个问题,就需要知道Linux下文件的存储机制和存储结构。

    Linux如何处理文件已删除但空间不释放的问题

    主要介绍了Linux如何处理文件已删除但空间不释放的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Linux下Oracle删除用户和表空间的方法

    主要介绍了Linux下Oracle删除用户和表空间的方法,涉及Oracle数据库用户和表操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    Linux服务器文件删除空间未释放的问题

     在Linux系统中,通过rm删除文件将会从文件系统的目录结构上解除链接(unlink),如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件磁盘空间也一直被占用  这样会导致我们明明删除了文件,...

    LINUX环境下,解决磁盘空间已满的问题

    Linux环境下,处理磁盘空间已满,导致数据库无法正常使用的处理方法: 第一步:查看磁盘空间的使用情况 df -f 第二步:找到日志文件,并清理 1) 进入跟目录 cd / 2)查找日志文件(区分大小写) find -name *.Log; find...

    删除Linux后如何找回Windows启动菜单

    一段时间之后,由于实在不习惯使用Linux,或者硬盘空间紧张等原因,一些人又决定删除Linux。虽然删除Linux的过程很顺利,但LILO却留了下来。本文介绍如何才能删除LILO,恢复Windows的启动界面。

    linux内核链表介绍与了解

    相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。

    Linux文件删除后空间未释放问题详解

    其实不然,linux的回收站功能想了解的可以与我沟通或查资料了解一下,也是个比较实用的方法,此处我们主要实践文件删除后空间未释放问题。 1、 实验准备 想模拟该场景的方式很多,主要是实现文件被占用的场景。最...

    linux数据存储与超量删除

    linux简单应用文件读写,定时100ms存储文件(时间间隔根据自己需求自己改),存储数据,当磁盘空间小于一定值时,删除最靠前数据。

    Linux网络操作系统基础:Linux初步使用.ppt

    Windows操作系统中的磁盘管理工具 修改MBR,删除Linux引导装载程序,写入Windows引导信息 利用Windows XP安装光盘来删除 在DOS状态下使用 fdisk /mbr 来删除 在Windows故障恢复控制台使用fixmbr命令来删除 4.Linux ...

    操作系统课设基于Linux的磁盘存储空间管理

    (2)具有创建文件、空间分配、删除文件、释放空间等基本功能; (3)把个文件目录、磁盘空间管理的数据结构变化情况显示出来。 三个功能应该都有,我负责的是空白文件目录结构管理磁盘空间,采用的是队列的方式

    Linux37LVM的移除.docx

    Linux37LVM的移除,根据你的实际性况,对磁盘划分,格式,新增空间,拆分空间的详细操作步骤,使你管理linux服务器必不可少的资料。

    Linux磁盘空间被未知资源耗尽的解决方法

    在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。...

    linux磁盘空间不足怎么办,磁盘清理方法.docx

    linux磁盘空间不足怎么办,磁盘清理方法.docx

    解决误删了oracle的表空间

    运行在虚拟机的Linux下,解决误删了oracle的表空间,不用重装oracle

    Linux应用技术:Linux磁盘分区管理.pptx

    Linux中的其他设备;使用Linux命令管理文件系统;使用Linux命令管理文件系统;课堂练习1;课堂练习1;课堂练习2;课堂练习3;修改分区类型 ;课堂练习4;使用Linux命令管理文件系统;课堂练习5;使用Linux命令管理文件系统;拓展...

Global site tag (gtag.js) - Google Analytics