• Oracle 如何扩展表空间


    今天将历史表数据迁移到原来的表中时报错ORA-01653: unable to extend table
    XXXXXX.XXXXTABLE by 128 in tablespace XXXXX  发现是表空间不足,现将自己操作的步骤规整如下:
    第一步,检查表空间占用率:
    select dbf.tablespace_name as "表空间名字",
           dbf.totalspace "总量",
           dbf.totalblocks "总块数",
           dfs.freespace "剩余总量(M)",
           dfs.freeblocks "剩余块数",
           (dfs.freespace / dbf.totalspace) * 100 as "空闲比例"
      from (select t.tablespace_name,
                   sum(t.bytes) / 1024 / 1024 totalspace,
                   sum(t.blocks) totalblocks
              from dba_data_files t
             group by t.tablespace_name) dbf,
           (select tt.tablespace_name,
                   sum(tt.bytes) / 1024 / 1024 freespace,
                   sum(tt.blocks) freeblocks
              from dba_free_space tt
             group by tt.tablespace_name) dfs
    where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);

    第二步:查找到需要扩展空间的表空间,查看数据文件路径,用如下脚本:
    select * from dba_data_files t where t.tablespace_name = '表空间名称'
    其中表空间换为你自己的表空间名称。

    第三步,增加表空间大小:增加表空间大小。这有两种控冲方法:
    (1)修改现有数据文件的大小:
    alter database datafile '全路径的数据文件名称' resize ***M。
    例:alter database datafile 'e:oracleoradata est_2014.dba'resize 2000m.
    (2)新增数据文件:alter tablespace 表空间名称add datafile '全路径的数据文件名称' size ***M.
    例:alter tablespace 表空间名称 add datafile 'e:oracleoradata est_201401.dba' size 2000m。
    注意:(1)表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G
    (2)设置表空间数据文件自动扩展:alter database datafile '全路径的数据文件名称' autoextend on;
    alter database datafile 'e:oracleoradata est_201401.dba' .
    问题解决。
  • 相关阅读:
    二分多重匹配(HDU5093)
    2-sat(and,or,xor)poj3678
    某个点到其他点的曼哈顿距离之和最小(HDU4311)
    第k最短路A*启发式搜索
    求树的直径和中心(ZOJ3820)
    并查集hdu4424
    map容器结构体离散化
    二维坐标系极角排序的应用(POJ1696)
    【进阶3-3期】深度广度解析 call 和 apply 原理、使用场景及实现(转)
    判断js数据类型的四种方法,以及各自的优缺点(转)
  • 原文地址:https://www.cnblogs.com/harbin1900/p/8480957.html
Copyright © 2020-2023  润新知