DataBase/Oracle2008. 6. 17. 13:22

우선 저런 에러가 발생하고 테이블 스페이스 확장이 안된다!! 라고 나에게 외치고 있다.

알았어.. 그럼 테이블 스페이스 확장 할 수 있도록 내가 할게 ㅎㅎ;

어떻게 해야할까?;;

곰곰이 생각을 하다가 네이버 검색을 하였다..

 //테이블 명과 대비하여 테이블 스페이스 명을 보는거 같다. 아무튼 테이블 정보 본다.
select * from user_tables;  

select e.tablespace_name,e.file_name,e.bytes, (e.bytes-sum(f.bytes)) result
from dba_data_files e, dba_free_space f
where e.file_id = f.file_id
group by e.tablespace_name, e.file_name, e.bytes;

select * from dba_tablespaces

alter database datafile '/data1/oradata/MI/mi_data03.dbf' resize 4000M;
위의 내용은 테이블 스페이스 크기를 늘리는 거다 ㅎㅎ

alter tablespace MI_DATA ADD DATAFILE '/data1/oradata/MI/mi_data04.dbf' SIZE 300M
이거는 새로 생성 하는거 ^^;

ALTER DATABASE DATAFILE '/data1/oradata/MI/mi_data04.dbf' RESIZE 3000m

------------- 추가 정보 --------------

[테이블스페이스 현황 확인]

SELECT  d.tablespace_name , d.bytes "Total(M)" , f.bytes "Free(M)" , e.bytes "Max Extent(M)" , Round(f.bytes/d.bytes*100,0) "Free %"
FROM    ( SELECT tablespace_name , sum(bytes)/1024/1024 as bytes
          FROM   dba_data_files
          GROUP BY tablespace_name ) d ,
        ( SELECT tablespace_name , sum(bytes)/1024/1024 as bytes
          FROM   dba_free_space
          GROUP BY tablespace_name ) f ,
        ( SELECT tablespace_name , max(bytes)/1024/1024 as bytes
          FROM   dba_free_space
          GROUP BY tablespace_name ) e
WHERE   d.tablespace_name = f.tablespace_name (+)
AND     f.tablespace_name = e.tablespace_name;

[특정 테이블스페이스의 데이터파일 확인]

select tablespace_name, file_name, bytes/1024/1024 from dba_data_files
where tablespace_name='테이블스페이스명';

select * from dba_temp_files;
select tablespace_name, file_name, bytes/1024/1024 from dba_temp_files;

[테이블스페이스 생성]

create tablespace 새롭게 생성할 이블스페이스명 datafile '/..데이터파일 위치../데이터파일명.dbf' size 1024m online;

 

[데이터파일 추가]

alter tablespace 테이블스페이스명 add datafile '/..데이터파일 위치../데이터파일명.dbf' size 1024m;


[데이터파일 resizing]

alter database datafile '/../변경할파일명.dbf' resize 2048m;

alter database tempfile '/../변경할파일명.dbf' resize 1024m;


[데이터파일의 자동확장]

alter database datafile '/..데이터파일 위치../데이터파일명.dbf' autoextend on; (비권장)


▣ AUTOEXTEND 확인
 select tablespace_name, file_name, AUTOEXTENSIBLE from dba_data_files;


▣ AUTOEXTEND 의 OFF

 SQL>  ALTER DATABASE DATAFILE ‘C:\ORACLE\ORADATA\app_data02.dbf'
                 AUTOEXTEND OFF;

▣ AUTOEXTEND 사용 예제

SQL> ALTER TABLESPACE storm
          ADD DATAFILE 'C:\ORACLE\ORADATA\app_data02.dbf' SIZE 200M
          AUTOEXTEND ON NEXT 10M
          MAXSIZE 500M;

<출처: http://cafe.naver.com/metanetbts/23 >

 



 

Posted by penguindori