zoukankan      html  css  js  c++  java
  • Oracle收缩或释放剩余 空闲表空间 数据文件

    oracle database用一段时间以后,硬盘空间会不够,更甚者硬盘会used 100%。(oracle表空间设置为自动扩展)。此时oracle会出现各种莫名其妙的错误,为保持oracle数据库的稳定,我们需要实时查看硬盘空间。 那么怎样缩小一些不用的表空间,以释放硬盘空间?

      oracle常用的此类命令Alter database datafile(tempfile),当然也可从toad等UI工具去操作。

    ALTER DATABASE TEMPFILE '/opt/oracle/oradata/gctwp101/temp02.dbf' RESIZE 1229M;

        如果盲目去操作,oracle会报ora-03297错误。表示在所定义的空间之后有数据存在,不能收缩。我们不得不查出最后的数据所处的位置, 然后表空间设置到稍比这位置大一点的大小。

      1. 查该数据文件中数据处在最大位置

    select max(block_id) from dba_extents where file_id=15;< /FONT>
    
          max(block_id)
    
            383497 

        查询file_id,也可在toad工具tablespace直接看到。

    select file#,name from v$datafile;

      2. 查出最大块位置

    select 383497*8/1024 from dual;
    
          2996.0703125

        这说明该文件中最大使用块位于2996M与3000M之间,

      3. 修改表空间(也可用toad工具界面修改)

    ALTER DATABASE TEMPFILE '/opt/oracle/oradata/gctwp101/temp02.dbf' RESIZE 3000M;
    

      4、Oracle创建表空间语法结构如下:

    create tablespace tab_name
    datafile 'filename'
    size n
    [autoextend on next n1 maxsize m /of]
    [permanent] 
    [extent management local/dictionary];

    create tablespace:创建表空间的关键字。语法解析:

    tab_name:创建后表空间的名字。

    datafile:指定数据文件的路径为filename。

    size n:指定数据文件的大小。

    [autoextend on next n1 maxsize m /of ]:表示表空间是否是自动扩展的,on 为自动扩展,of为不扩展,当自动扩展时,next n1表示自动扩展的大小,max size m 表示数据文件最大扩展到m大小。

    [permanent] :表示创建的表空间的类型,permanent表示永久表空间,不填都是默认永久表空间。

    [extent management local/dictionary]:表示表空间管理的方式,local表示本地的管理模式,dictionary表示数据字典管理模式,默认都是本地管理方式。


    案例1、根据表空间创建语法,创建一个100M大小数据文件(student.dbf)的表空间student,代码如下:

    create tablespace student
    datafile 'E:APPADMINORADATAORCLstudent.DBF'
    size 100m
    autoextend on next 10m maxsize 500m
    permanent
    extent management local;
    

      

  • 相关阅读:
    Java实现 LeetCode 432 全 O(1) 的数据结构
    Java实现 LeetCode 432 全 O(1) 的数据结构
    Makefile 自动生成依赖
    比较详细的利用虚拟机对SD卡FAT32+EXT4+Ext4分区图解教程
    STM32F0308开发环境的选择--CooCox CoIDE篇
    linux下包管理命令yum与apt-get以及开发环境配置
    裸机编程与OS环境编程的有关思考
    Eclipse C/C++环境配置
    Linux Eclipse代码提示功能设置(Java & C/C++)
    Linux下高效编写Shell——shell特殊字符汇总
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/13818743.html
Copyright © 2011-2022 走看看