>  기사  >  데이터 베이스  >  데이터베이스 테이블 공간 부족 문제를 해결하는 방법

데이터베이스 테이블 공간 부족 문제를 해결하는 방법

一个新手
一个新手원래의
2017-09-08 10:32:1812404검색

1. 데이터베이스 테이블 공간이 부족하여 발생합니다. 삽입 작업에서 데이터 테이블 공간 크기가 부족하여 쿼리 결과가 발생합니다.

둘째, 차지하는 테이블 공간에 대한 관련 정보를 확인하세요

--테이블 공간 크기가 차지하는 내용을 쿼리합니다

conn.msg = ORA-01653: 表 *******表名字********无法通过 8192 (在表空间 USERS 中) 扩展
ORA-06512: 在 "调用的函数", line 58
ORA-01403: 未找到任何数据
 [db.cpp:233]

결과:


이것은 공간이 차지하는 모든 정보입니다. 모든 테이블 크기, 테이블의 공간 크기는 테이블 공간에 할당된 모든 크기 정보입니다. 사용량이 상대적으로 높을 경우 공간이 부족하여 데이터 삽입이 불가능할 수 있습니다.

3 테이블스페이스에 해당하는 물리 디스크의 절대 주소, 크기, 파일 ID를 쿼리합니다.

네 가지 방법을 사용하면 테이블스페이스의 크기를 늘릴 수 있습니다


1. 이전 DBF 파일을 직접 변경하지 말고 파일 문을 추가하여 크기를 늘리세요. the table space

- - 데이터 파일을 자동으로 확장하자

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
  D.TOT_GROOTTE_MB "表空间大小(M)",
  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
  F.TOTAL_BYTES "空闲空间(M)",
  F.MAX_BYTES "最大块(M)"
  FROM (SELECT TABLESPACE_NAME,
  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
  FROM SYS.DBA_FREE_SPACE
  GROUP BY TABLESPACE_NAME) F,
  (SELECT DD.TABLESPACE_NAME,
   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
  FROM SYS.DBA_DATA_FILES DD
  GROUP BY DD.TABLESPACE_NAME) D
  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
  ORDER BY 1;
이전 문장과 함께 실행 가능하다고 합니다(이전 문장에서 세미콜론만 빼면 됩니다). 실행되지 않았으며 실행 효과를 모르겠습니다. 주의해서 사용하세요

2. --데이터 파일이 자동으로 확장되도록 소스 파일에서 직접 변경합니다. 자동 확장 형태. 최대 확장은 최대 10,000m까지 자동 확장됩니다. 파일 크기는 자동으로 확장되지 않습니다.

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
5. 위의 작업을 4번에서 실행한 후 쿼리를 수행하면 총 할당된 공간이 크게 늘어난 것을 확인할 수 있습니다. 점유로 인해 점유가 감소합니다.

위 내용은 데이터베이스 테이블 공간 부족 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.