【공간관리】ORA-01652: 128(표공간TEST01에서)로temp단을 확장할 수 없습니다

1880 단어 OracleManagement
공간 사용 문제에 대한 실험을 할 때 제목에서 말한'ORA-01652:128(표 공간TEST01에서)으로temp단을 확장할 수 없음'을 만났다.오보를 보니 공간이 넓어졌을 때 문제가 생겼나 봐요.
다음은 관련 테스트 데이터입니다. 새 테이블 공간 TEST01, 최대 분배 크기는 17M입니다.새 테이블SALES01은 섹션 테이블로 크기는 16646144바이트이며 약 16M 이상입니다.
SQL> create tablespace test01
  2  logging
  3  datafile 'D:\APP\ASUS\ORADATA\TEST\TEST01.DBF'
  4  SIZE 10M
  5  AUTOEXTEND ON
  6  NEXT 2M MAXSIZE 17M
  7  EXTENT MANAGEMENT LOCAL;

      。
SQL> SELECT SEGMENT_NAME,SUM(BYTES) BYTES FROM DBA_SEGMENTS WHERE SEGMENT_NAME ='SALES' GROUP BY SEGMENT_NAME;

SEGMENT_NAME              BYTES
-------------------- ----------
SALES                  16646144

그리고 나는 이 시계 공간의 공간 사용 상황을 살펴보았다.bytes와maxbytes가 같다는 것을 발견했습니다. 즉, 테이블 공간이 최대치로 확장되어 더 이상 확장할 수 없기 때문에 잘못 보고했습니다!

SQL> CREATE TABLE SALES01 TABLESPACE TEST01 AS
  2  SELECT * FROM SH.SALES;
CREATE TABLE SALES01 TABLESPACE TEST01 AS
*
  1      :
ORA-01652:      128 (     TEST01  )    temp  


SQL> SELECT TABLESPACE_NAME,BYTES,MAXBYTES FROM DBA_DATA_FILES WHERE TABLESPACE_NAME ='TEST01';

TABLESPACE_NAME                     BYTES   MAXBYTES
------------------------------ ---------- ----------
TEST01                           17825792   17825792

이를 위해 현재 필요한 것은 공간을 확장하는 것이다. 확장 방법은 데이터 파일을 추가하고 데이터 파일의 최대 크기를 수정하는 것이다.
-----   :    TEST01      
SQL> alter tablespace test01
  2  add datafile 'D:\APP\ASUS\ORADATA\TEST\TEST02.DBF'
  3  SIZE 30M
  4  AUTOEXTEND ON
  5  NEXT 5M MAXSIZE UNLIMITED;

      。

----   :            
SQL> ALTER DATABASE
  2  DATAFILE 'D:\APP\ASUS\ORADATA\TEST\TEST01.DBF'
  3  RESIZE 19M;

      。

----   :            
----  :autoextend on   
SQL> ALTER DATABASE
  2  DATAFILE 'D:\APP\ASUS\ORADATA\TEST\TEST01.DBF'
  3  AUTOEXTEND ON
  4  MAXSIZE 25M;

      。

SQL>

좋은 웹페이지 즐겨찾기