Oracle表空间 ORA-01653

错误信息ORA-01653: unable to extend table MST_AAAAA by 8192 in tablespace XXX_SYS01
MST_AAAAA:表名
XXX_SYS01:表空间名
意思是说XXX_SYS01 表空间不足了
表空间不足的问题一般有两种情况:
1、表空间的自动扩展功能没有开
2、空间确实不足了,已经达到了自动扩展的上限。
解决方案
1、打开表空间的自动扩容
SELECT
    file_id 文件ID
    , file_name 文件路径
    , tablespace_name 表空间名
    , autoextensible 是否扩容   --YES:可自动扩容;NO:不能自动扩容
    , increment_by --用作自动扩展增量的表空间块数
FROM
    dba_data_files 
WHERE
    tablespace_name = 'XXX_SYS01' 
ORDER BY
    file_id asc; 
文件ID文件路径表空间名是否扩容INCREMENT_BY
9XXXX01XXX_SYS01YES1280
10XXXX02XXX_SYS01YES1280
2、增大数据文件的大小 或者 增加数据文件(windows环境下,一个文件最大size是32G)
2-1、增大数据文件的大小
ALTER database datafile XXXX01 size ***M;
2-2、增加数据文件
ALTER tablespace XXX_SYS01       --表空间名称
ADD datafile XXXX01 size *** M   -- XXXX01:'全路径的数据文件名称'
autoextend on maxsize 32G;
注意:要确认磁盘空间足够
扩展学习
1、删除表空间数据文件
ALERT ablespace 表空间名称
DROP datafile '全路径的数据文件名称'
2、查询表空间 大小 使用率等
SELECT
    a.tablespace_name "表空间名"
    , b.tot_grootte_mb "表空间大小(M)"
    , b.tot_grootte_mb - a.total_free_bytes "已使用空间(M)"
    , TO_CHAR( 
        ROUND( 
            (b.tot_grootte_mb - a.total_free_bytes) / b.tot_grootte_mb * 100
            , 2
        ) 
        , '999.999'
    ) "使用率%"
    , a.total_free_bytes "空闲空间(M)"
    , a.max_bytes "最大空间(M)" 
FROM
    ( 
        SELECT
            tablespace_name
            , ROUND(SUM(bytes) / (1024 * 1024), 2) total_free_bytes
            , ROUND(MAX(bytes) / (1024 * 1024), 2) max_bytes 
        FROM
            sys.dba_free_space 
        GROUP BY
            tablespace_name
    ) a
    , ( 
        SELECT
            tablespace_name
            , ROUND(SUM(bytes) / (1024 * 1024), 2) tot_grootte_mb 
        FROM
            sys.dba_data_files
        GROUP BY
            tablespace_name
    )
WHERE
    b.tablespace_name = a.tablespace_name
    -- a.tablespace_name = 'XXX_SYS01'  -- 表空物理名
ORDER BY4 DESC;
表空间名表空间大小(M)已使用空间(M)使用率%空闲空间(M)最大空间(M)
XXX_SYS0113104001249597.19  95.3660802.813136
AAA_0160964424  72.571672171
BBB_0160963081.5  50.553014.52127
CCC_01675840245430.37  36.31430409.633968
DDD_0140750458729.06  14.41348774.943968
EEE_01934006897.62   7.3986502.383968
FFF_01102469.62   6.80954.38954.38
SYS_011006.06   6.0693.9493.94
3、查询某一个表的信息
select
    owner 表领域
    , t.segment_name 表名
    , t.segment_type 表属性 -- (参考 表没有分区:TABLE;有分区:TABLE PARTITION)
    , sum(t.bytes / 1024 / 1024) "使用空间(M)" 
from
    dba_segments t
where
    1 = 1
    --AND t.segment_type = 'TABLE'
    AND t.segment_name = 'MST_AAAAA' 
group by
    owner
    , t.segment_name
    , t.segment_type;
表领域表名表属性使用空间(M)
IF_AMST_AAAAATABLE0.125
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值