개요
MAXDATAFILES는 데이터베이스에서 사용할 수 있는 최대 데이터 파일 수를 제한하는 설정값입니다.
해당 값은 CREATE DATABASE 구문에서 사용되며, 지정한 수만큼 컨트롤 파일에 데이터 파일 공간이 생성됩니다.
MAXDATAFILES 값은 이를 초과하는 데이터 파일을 정의할 수 없으며, 변경하려면 컨트롤 파일을 재생성해야 합니다.
또한 값이 클수록 메모리 요구량이 증가하므로 이를 고려하여 설정해야 합니다.
•
기본값: 100
•
최솟값: 10
•
최댓값: 65,533
영향도
•
지정한 값만큼 컨트롤 파일에 데이터 파일 정보 저장 공간을 생성합니다.
•
설정값을 초과하는 데이터 파일은 추가할 수 없습니다.
•
값 변경 시 컨트롤 파일을 재생성해야 합니다.
•
값이 클수록 메모리 사용량이 증가합니다.
참고
아래와 같은 환경에서 테스트를 진행하였습니다.
•
[tibero@T1:/]$ tbboot -v
•
Tibero 6 (DB 6.0 FS06_CS_1703)
Linux stopbugs 2.6.9-89.ELsmp #1 SMP Mon Jun 22 12:31:33 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux version (little- endian)
•
Patch files (none)
방법
방법 1: Controlfile 백업 스크립트로 확인
컨트롤 파일 생성 스크립트를 생성합니다.
SQL> alter database backup controlfile to trace as '/tibero/c1.sql';
SQL
복사
생성된 파일을 열어 MAXDATAFILES 항목을 확인합니다.
SQL> !cat /tibero/c1.sql
CREATE CONTROLFILE REUSE DATABASE "tibero" LOGFILE
GROUP 0 '/tibero/tbdata/redo001.redo' SIZE 1M, GROUP 1 '/tibero/tbdata/redo011.redo' SIZE 1M, GROUP 2 '/tibero/tbdata/redo021.redo' SIZE 1M NORESETLOGS
DATAFILE
'/tibero/tbdata/system001.dtf',
'/tibero/tbdata/undo001.dtf',
'/tibero/tbdata/usr001.dtf',
'/tibero/tbdata/apm_ts.dtf',
'/tibero/tbdata/tt001.dtf',
'/tibero/tbdata/DATA_TBS_01.dtf',
'/tibero/tbdata/IDX_TBS_01.dtf'
ARCHIVELOG
MAXLOGFILES 10
MAXLOGMEMBERS 8
MAXDATAFILES 256
CHARACTER SET UTF8
NATIONAL CHARACTER SET UTF16
;
--ALTER DATABASE MOUNT
---- Recovery is required in MOUNT mode.
--ALTER DATABASE RECOVER AUTOMATIC;
--ALTER DATABASE OPEN ;
---- Adding Tempfiles is required in OPEN mode.
-- ALTER TABLESPACE TEMP ADD TEMPFILE '/tibero/tbdata/temp001.dtf'
-- SIZE 10M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 1G;
SQL>
SQL
복사
방법 2: Controlfile 덤프에서 확인
컨트롤 파일 덤프를 실행합니다.
SQL> alter system dump controlfile;
SQL
복사
생성된 덤프 파일(tb_dump_xxx.trc)에서 max = 값 항목을 확인합니다.
[tibero@T1:/tibero/log/tibero/tracedump]$ vi tb_dump_19714_54_18.trc
~~ 중략 ~~
~~ 중략 ~~
~~ 중략 ~~
* data file sections
(blkno = 0x24, pblkno = 0x3f, blkcnt = 1
size = 320, max = 256, used = 8, last_recid = 0)
FILE #0 (name #3 /tibero/tbdata/tibero/system01.dtf)
flags=0x3, create_blkcnt=38400, bsize=8192
ts #0, rel_no=0, prev_df=-1
ckpt=0000.00093e03 2017-12-18 09:59:21, ckpt_count=686
stop=ffff.ffffffff 2017-12-18 09:59:28
create=0000.00000001 2017-04-03 15:40:41
offline=0000.00000000 online=0000.00000000 backup_ckpt=0000.00000000 enabled threas: 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
~~ 중략 ~~
~~ 중략 ~~
SQL
복사
방법 3: SQL 조회로 확인
아래 SQL 문을 실행하여 확인이 가능합니다.
SQL> select RECORD_MAX from _VT_CONTROLFILE_RECORD_SECTION where NAME = 'data file';
RECORD_MAX
----------
256
1 row selected.
SQL
복사