집 >데이터 베이스 >MySQL 튜토리얼 >데이터베이스 테이블 공간 부족 문제를 해결하는 방법
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!