`

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数据库管理中,删除表空间数据文件是一项关键操作,涉及到数据的安全性和系统的稳定性。本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据...

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

    这里,`INCLUDING CONTENTS`表示删除表空间内的所有对象,`INCLUDING DATAFILES`表示删除与表空间关联的数据文件,`CASCADE CONSTRAINTS`则用于删除表空间中表的外键约束。 在实际操作中,确保你了解这些操作的后果...

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

    Linux删除文件的策略并不像Windows那样有回收站,而是直接移除文件的元数据中的指针,但文件数据部分仍然保留在磁盘上,直到被其他数据覆盖。这通常不会成为问题,除非文件在删除后仍被进程持有,比如在本例中,...

    linux下创建oracle用户表空间

    删除用户表空间的步骤是:Alter tablespace 表空间名称 offline;Drop tablespace 表空间名称;(表空间无有数据时用)或者drop tablespace 表空间名称 including contents;(表空间下有数据时候用)。 临时表空间是 ...

    oracle创建表空间和用户授权及删除表空间和用户

    在Oracle数据库管理中,创建与删除表空间以及用户授权是非常重要的操作。本文将详细介绍如何在Oracle环境下进行这些操作,包括创建表空间、为用户分配权限、以及如何删除表空间和用户。 ### 一、创建表空间 #### ...

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

    本篇文章主要介绍了 Oracle 数据库管理命令,包括建立表空间、删除表空间、改变表空间状态、扩展表空间等多方面的知识点。 一、建立表空间 在 Oracle 数据库中,建立表空间是数据库管理的基础步骤之一。建立表空间...

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

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

    Linux删除文件夹.doc

    在本节中,我们将详细介绍 Linux 删除文件夹的命令和方法。 rm 命令 rm 命令是 Linux 中最常用的删除文件和文件夹的命令。rm 命令的基本语法为:rm [options] 文件名或文件夹名,其中 options 是可选参数,文件名...

    Linux交换空间不足的解决.pdf

    在Linux操作系统中,交换空间(Swap Space)是用于扩展系统的虚拟内存,当物理RAM不足时,系统会将部分数据暂时存储到交换空间中。然而,如果交换空间不足,可能会导致系统运行缓慢甚至崩溃。本篇内容主要介绍了如何...

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

    Linux 文件存储机制和存储结构是理解 Linux 中文件已经删除但空间不释放的问题的关键。一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的 meta-data 中,在将数据删除后,这个指针就...

    LINUX按时间批量删除文件(删除N天前文件)

    在Linux系统中,经常需要清理一些不再需要的老文件来释放磁盘空间或者维护系统的整洁。本文将详细介绍如何利用`find`命令结合其他工具来批量删除指定目录下N天之前的文件。 #### 一、`find`命令简介 `find`是Linux...

    Linux操作系统硬盘空间管理的策略与实践.pdf

    在Linux操作系统中,掌握硬盘空间管理的策略和实践方法是非常必要的。只有通过恰当的管理和维护,才能确保系统的正常运行和稳定性。 此外,Linux操作系统的硬盘空间管理还需要考虑以下几个方面: 1. 文件系统的...

    Linux 删除日志文件 脚本

    首先,我们需要了解Linux中的基本文件操作命令,特别是`rm`命令,它是用来删除文件的。在编写脚本时,安全性和谨慎性是必须考虑的因素,因为误删重要文件可能会导致严重问题。因此,我们通常会在执行删除操作前先...

    抽取linux内核链表模块

    使用内核级的链表实现可以带来更高的性能,但也要注意,这可能会增加代码的复杂性,因为内核的链表设计考虑了并发和异常情况,而在用户空间中,这些因素可能并不那么重要。 通过学习和使用Linux内核的链表模块,...

    如何恢复 Linux 被吃掉的磁盘空间.docx

    在Linux系统管理中,经常会遇到磁盘空间不足的问题。当你的Linux服务器突然发出磁盘空间告警时,首要任务就是定位并清理占用大量空间的文件或目录。本文将详细介绍如何恢复被“吃掉”的磁盘空间,以及解决相关问题。...

    Linux 设备驱动添加及删除 测试

    在Linux操作系统中,设备驱动是连接硬件设备与操作系统内核的关键接口。设备驱动程序负责将硬件设备的操作抽象成操作系统能够理解和处理的通用操作,使得应用程序可以通过标准的文件操作来访问和控制硬件。本文将...

    【最强悍的链表】Linux 内核链表源码

    与数组不同,链表不需要连续的内存空间,这使得它们在动态分配和插入/删除操作上具有优势。Linux内核的链表实现主要集中在`<linux/list.h>`头文件中,提供了丰富的API来操作链表。 首先,我们来看链表节点的定义。...

    Vm虚拟机中Linux扩展磁盘空间

    ### Vm虚拟机中Linux扩展磁盘空间 #### 背景与意义 在使用虚拟机(如VMware)运行Linux系统时,可能会遇到磁盘空间不足的问题。尤其是在初次分配的空间较小或者随着业务增长对存储需求增加的情况下,扩展虚拟机内...

    linux数据存储与超量删除

    本主题将详细讲解如何在Linux环境中进行简单的文件读写,以及如何通过定时任务来周期性地存储文件,并在磁盘空间不足时自动删除旧数据。 首先,让我们深入了解Linux中的文件读写操作。在Linux中,一切皆为文件,...

    重复文件删除工具Linux32位

    总之,"重复文件删除工具Linux32位"是一种实用的工具,利用MD5哈希技术帮助用户高效地查找和删除系统中的重复文件,以优化存储空间。在使用时,务必小心谨慎,确保不会误删重要文件。同时,定期清理重复文件是保持...

Global site tag (gtag.js) - Google Analytics