BFT (BigFileTablespace)는 oracle 10g에서 사용가능한 tablespace type 이다. Bigfile Tablespace는 하나의 매우 큰 datafile을 갖는 tablespace를 말한다. Bigfile tablespace의 개념이 만들어 지면서 기존의 일반적인 tablespace는 자동으로 smallfile tablespace로 불린다.
SMALLFILE tablespace와 BIGFILE tablespace는 database내에 공존할 수 있다.
SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES;
TABLESPACE_NAME BIG
------------------------------ ---
SYSTEM NO
UNDOTBS1 NO
SYSAUX NO
TEMP NO
USERS NO
TEST_BIG YES
TABLESPACE_NAME BIG
------------------------------ ---
SYSTEM NO
UNDOTBS1 NO
SYSAUX NO
TEMP NO
USERS NO
TEST_BIG YES
BIGFILE tablespace는 하나의 datafile만을 사용하게 된다. 이는 datafile에 대한 관리가 간편해 질 수 있다는 것을 의미하며, 일반적인 SMALLFILE tablespace에서 사용하던 다음과 같은 option도 역시 사용가능하다.
SQL> ALTER TABLESPACE test_big AUTOEXTEND OFF;
Tablespace altered.
SQL> ALTER TABLESPACE test_big AUTOEXTEND ON;
Tablespace altered.
SQL> ALTER TABLESPACE test_big RESIZE 2M;
Tablespace altered.
Tablespace altered.
SQL> ALTER TABLESPACE test_big AUTOEXTEND ON;
Tablespace altered.
SQL> ALTER TABLESPACE test_big RESIZE 2M;
Tablespace altered.
BIGFILE tablespace는 다음과 같이 사용될 수 있다.
--> ASM (Automatic Storage Management)
--> a logical volume manager supporting striping/RAID
--> dynamically extensible logical volumes
--> Oracle Managed Files (OMF)
--> a logical volume manager supporting striping/RAID
--> dynamically extensible logical volumes
--> Oracle Managed Files (OMF)
만약 default로 BIGFILE tablespace를 생성하고 싶다면 다음과 같이 tablespace 생성 option을 바꿀 수 있다.
SQL> select * from database_properties
where property_name='DEFAULT_TBS_TYPE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
-------------------- --------------- ------------------------
DEFAULT_TBS_TYPE SMALLFILE Default tablespace type
SQL> ALTER DATABASE SET DEFAULT bigfile TABLESPACE;
Database altered.
SQL> CREATE TABLESPACE big_test2
DATAFILE '/ORACLE10/ORCL/testbig2.dbf' size 1M;
Tablespace created.
SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES;
TABLESPACE_NAME BIG
------------------------------ ---------
...
USERS NO
TEST_BIG YES
TEST_BIG2 YES
where property_name='DEFAULT_TBS_TYPE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
-------------------- --------------- ------------------------
DEFAULT_TBS_TYPE SMALLFILE Default tablespace type
SQL> ALTER DATABASE SET DEFAULT bigfile TABLESPACE;
Database altered.
SQL> CREATE TABLESPACE big_test2
DATAFILE '/ORACLE10/ORCL/testbig2.dbf' size 1M;
Tablespace created.
SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES;
TABLESPACE_NAME BIG
------------------------------ ---------
...
USERS NO
TEST_BIG YES
TEST_BIG2 YES
앞서 말한 것 처럼 BIGFILE tablespace에는 datafile 추가는 불가능하다.
SQL> ALTER TABLESPACE test_big
ADD DATAFILE '/ORACLE10/ORCL/testbig2.dbf' size 500G;
ALTER TABLESPACE test_big
*
ERROR at line 1:
ORA-32771: cannot add file to bigfile tablespace
ADD DATAFILE '/ORACLE10/ORCL/testbig2.dbf' size 500G;
ALTER TABLESPACE test_big
*
ERROR at line 1:
ORA-32771: cannot add file to bigfile tablespace
여러 datafile을 사용해 큰 공간을 확보하는 방법에 비해 하나의 큰 파일로 tablespace를 구성하는 이 방법은 관리상의 이점이 있으나, backup이나 recovery 단계에서는 큰 file에 대한 backup과 file 손상이 발생할 경우 전체를 restore해야 하기 때문에 오히려 부담이 될 수 도 있다. 따라서 각각의 tablespace type에 대한 이점과 단점을 구분하고 적용해야할 것이다.
참고 문서 :
Note 262472.1 10g: BIGFILE Type Tablespaces Versus SMALLFILE Type
Note 243245.1 10G New Storage Features and Enhancements
Note 1057891.6 HOW TO USE DBMS_ROWID PROCEDURE AND FUNCTIONS
Note 262472.1 10g: BIGFILE Type Tablespaces Versus SMALLFILE Type
Note 243245.1 10G New Storage Features and Enhancements
Note 1057891.6 HOW TO USE DBMS_ROWID PROCEDURE AND FUNCTIONS
'Oracle Database' 카테고리의 다른 글
oracle 접속 잘 안될때 system state dump 뜨기 (2) | 2009.10.12 |
---|---|
Oracle 11g : Improving Application Performance with Result Cache (0) | 2009.10.09 |
Oracle EXISTS Versus IN (1) | 2009.10.06 |
Oracle sqlplus에서 변수 사용하기. (1) | 2009.10.06 |
oracle 테이블내 조건에 맞는 데이터만 export하는 query option (2) | 2009.09.30 |