一、表的重命名

flashback table test2 to before drop rename to test3;--【to test3】将表重命名

drop table test3 purge; --彻底删除表

二、清除表中的数据

truncate操作 同没有where条件的delete操作十分相似,只是把表里的信息全部删除,但是表依然存在。

例如:truncate table  XX

Truncate不支持回滚,并且不能truncate一个带有外键的表,如果要删除首先要取消外键,然后再删除。

truncate table 后,有可能表空间仍没有释放,可以使用如下语句:

alter table 表名称 deallocate   UNUSED KEEP 0;

注意如果不加KEEP 0的话,表空间是不会释放的。

例如:

alter table F_MINUTE_TD_NET_FHO_B7 deallocate   UNUSED KEEP 0;

或者:

TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE才能释放表空间。

例如: truncate table  test1 DROP STORAGE;

三、查询分区表存在哪些分区:

查询分区表的情况,可以在USER_TAB_PARTITIONS中查询。例如:

select 'alter table '||t.table_name ||' truncate   partition ' || t.partition_name from USER_TAB_PARTITIONS t where t.table_name like 'F_%'

清除指定某个分区表的分区数据:

alter   table  表名称   truncate   partition   分区名称;

四、清除分区表占用的空间:

alter table 表名称  DROP    partition 分区名称;

例如:

alter table F_HOUR_TD_NET_MPVOICE  DROP    partition P_09121913;

五、查询表空间信息

可以利用如下语句查询各表在存储空间的使用分情况:

SELECT  TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999')   CNT_MB   FROM   DBA_EXTENTS   WHERE   OWNER='&OWNER'   AND   SEGMENT_NAME='&TABLE_NAME'   AND   SEGMENT_TYPE   LIKE   'TABLE%'   GROUP   BY   TABLESPACE_NAME;

可以使用如下语句,查询存储空间情况:

Select Tablespace_Name, Sum(bytes)/1024/1024 From Dba_Segments group By Tablespace_Name

六、查询用户下的表

如果你的用户权限不是DBA:

那你用

select   *   from   user_tables;

可以查询到当前用户所拥有的表。

如果是DBA用户:

select   *   from   dba_tables;

七、删除指定空间下的所有表

declare
vsql varchar2(200);
cursor c1 is
select 'drop table '||table_name||' cascade constraints' v_name ,tablespace_name
from user_tables where tablespace_name='$tablename'; BEGIN
for i in c1 loop
vsql:=i.v_name;
execute immediate vsql;
end loop;
end;

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2010-12/30353p2.htm

Oracle中关于清除数据和释放表空间的更多相关文章

  1. oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息

    来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...

  2. oracle中imp导入数据中文乱码问题(转)

    (转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后, ...

  3. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  4. MySQL将表a中查询的数据插入到表b中

    MySQL将表a中查询的数据插入到表b中 假设表b存在 insert into b select * from a; 假设表b不存在 create table b as select * from a ...

  5. oracle中导入导出数据备份数据库

    原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp c ...

  6. oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...

  7. MySQL 查询某个数据库中所有包含数据记录的表名

    MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...

  8. Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop ...

  9. Oracle以及SDE维护常用命令-查看表空间等

    之前现场反馈一个数据更新的问题,查看感觉是因为表空间满了导致的(错误在之前的博客随笔中写过),因此远程对服务器进行查看.个人平常都是通过Oracle客户端的Entreprise Manager Con ...

随机推荐

  1. Ubuntu 下一个可用的音乐播放器

    参考:http://www.pairsdoll.com/install-audacious-music-palyer-in-ubuntu.html/ 方法:打开terminal,sudo apt-ge ...

  2. linux命令 screen的简单使用

    在远程命令行下某些长时间的操作,一旦网络出现故障,后果可能会很严重,在这种情况下可以使用screen命令来解决.screen可以创建一个session,在不小心断开以后还可以继续恢复session保存 ...

  3. hadoop2.6.0 --- 64位源代码

    今天有朋友在群里找hadoop最新的2.6.0的源代码,其实这个源代码在hadoop的官方网站是有下载的(应该是32位的),还有一个src,不过给的是maven版本,需要自己在机器上编译一下(我的机器 ...

  4. Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)

    数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件 ...

  5. Spark生态系统BDAS

    目前,Spark已经发展成为包含众多子项目的大数据计算平台. 伯克利将Spark的整个生态系统称为伯克利数据分析栈(BDAS). 其核心框架是Spark,同时BDAS涵盖支持结构化数据SQL查询与分析 ...

  6. Prefabs

    [Prefabs] A Prefab is a type of asset -- a reusable GameObject stored in Project View. Prefabs can b ...

  7. LightOJ 1259 Goldbach`s Conjecture (哥德巴赫猜想 + 素数筛选法)

    http://lightoj.com/volume_showproblem.php?problem=1259 题目大意:给你一个数n,这个数能分成两个素数a.b,n = a + b且a<=b,问 ...

  8. CSS画出的各种形状图

    利用CSS可以画出各种需要的图形目录[1]矩形[2]圆形[3]椭圆[4]直角三角形[5]正三角形[6]平行四边形[7]梯形[8]六角星[9]六边形[10]五角星简单图形 矩形div{ width: 1 ...

  9. SQL SERVER 2005如何建立自动备份的维护计划

    SQL Server 2005中可以使用维护计划来为数据库自动备份,减少数据库管理员的工作负担.其使用方法如下: (1)启动[sql server Management Studio],在[对象资源管 ...

  10. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.3 Details用户详细信息]

    3.3 Details用户详细信息 用户详细信息是通过objectId获取.代码如下 public async Task<ActionResult> Details(string obje ...