> 데이터 베이스 > MySQL 튜토리얼 > ORA-01653: unable to extend table X by Y in tablespace

ORA-01653: unable to extend table X by Y in tablespace

WBOY
풀어 주다: 2016-06-07 17:26:17
원래의
983명이 탐색했습니다.

最近几天遇到了好几次Oracle的这个问题了,场景不太一样而已(注意:标题上的Y的单位是KB):

最近几天遇到了好几次Oracle的这个问题了,场景不太一样而已(注意:标题上的Y的单位是KB):

1.insert into table1 values(...) select (...) from table2:(会占用temp tablespace,如果table2数据很大,temp tablespace不够大的话,可能会报出上面的问题)

2.update table1 set is_deleted='Y':(因为在table1上建有物化视图,而这个视图要新增对应的物化视图的log表,,由于这个log表对应的tablespace满了,导致上面的问题)

3.insert into table1 values(...):(最正常不过的insert语句,由于table1对应的tablespace满了,导致上面的问题)

在网上找了一下相关的资料,摘抄了下三个关键的sql记录一下,以备后面的不时之需:

•查询表空间相关信息

SELECT a.tablespace_name ,
      a.bytes / 1024 / 1024                              "表空间大小(M)",
      ( a.bytes - b.bytes ) / 1024 / 1024                "已使用空间(M)",
      b.bytes / 1024 / 1024                              "空闲空间(M)",
      Round(( ( a.bytes - b.bytes ) / a.bytes ) * 100, 2) "使用比率"
FROM  (SELECT tablespace_name,
              SUM(bytes) bytes
        FROM  dba_data_files
        GROUP  BY tablespace_name) a,
      (SELECT tablespace_name,
              SUM(bytes) bytes,
              Max(bytes) largest
        FROM  dba_free_space
        GROUP  BY tablespace_name) b
WHERE  a.tablespace_name = b.tablespace_name
ORDER  BY ( ( a.bytes - b.bytes ) / a.bytes ) DESC

•查看表空间对应的datafile的信息

SELECT file_name,
      tablespace_name,
      bytes / 1024 / 1024    "bytes MB",
      maxbytes / 1024 / 1024 "maxbytes MB"
FROM  dba_data_files
WHERE  tablespace_name = 'PSR_DATA';

•查看表空间对应的datafile是否可以自动扩展(当然有些场景开启自动扩展功能可能会带来一些潜在的问题,所以不是所有的公司都开启这个)

SELECT file_id,
      file_name,
      tablespace_name,
      autoextensible,
      increment_by
FROM  dba_data_files
WHERE  tablespace_name = 'PSR_DATA'
ORDER  BY file_id DESC;

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿