CUBRID는 데이터베이스 서버, 브로커, CUBRID 매니저로 구성된다. 각 구성 요소를 수행하기 위한 설정 파일 이름은 다음과 같고, 모두 $CUBRID/conf 디렉터리에 위치한다.
cubrid.conf 파일은 CUBRID 데이터베이스 서버에 대한 시스템 파라미터를 지정하는 설정 파일로 데이터베이스 시스템의 전체적인 성능과 동작을 결정한다. cubrid.conf 파일은 시스템 설치에 필요한 몇 가지 중요한 파라미터가 디폴트로 설정된 상태로 제공된다.
다음은 cubrid.conf 설정 파일에 사용 가능한 데이터베이스 서버 시스템 파라미터이다. 적용 구분의 클라이언트 파라미터, 서버 파라미터의 의미는 데이터베이스 서버 설정이 미치는 범위를 참조한다.
파라미터 이름 |
적용 구분 |
타입 |
디폴트 값 |
---|---|---|---|
cubrid_port_id |
클라이언트 파라미터 |
int |
1523 |
db_hosts |
클라이언트 파라미터 |
string |
NULL |
max_clients |
서버 파라미터 |
int |
50 |
block_ddl_statement |
클라이언트 파라미터 |
bool |
no |
block_nowhere_statement |
클라이언트 파라미터 |
bool |
no |
intl_mbs_support |
클라이언트 파라미터 |
bool |
no |
oracle_style_empty_string |
클라이언트 파라미터 |
bool |
no |
data_buffer_pages |
서버 파라미터 |
int |
25000 |
dont_reuse_heap_file |
서버 파라미터 |
bool |
no |
index_scan_oid_buffer_pages |
서버 파라미터 |
int |
4 |
sort_buffer_pages |
서버 파라미터 |
int |
16 |
temp_file_memory_size_in_pages |
서버 파라미터 |
int |
4 |
thread_stack_size |
서버 파라미터 |
int |
102400 |
garbage_collection |
클라이언트 파라미터 |
bool |
no |
temp_file_max_size_in_pages |
서버 파라미터 |
int |
-1 |
temp_volume_path |
서버 파라미터 |
string |
NULL |
unfill_factor |
서버 파라미터 |
float |
0.1 |
volume_extension_path |
서버 파라미터 |
string |
NULL |
call_stack_dump_activation_list |
클라이언트/서버 파라미터 |
string |
NULL |
call_stack_dump_deactivation_list |
클라이언트/서버 파라미터 |
string |
NULL |
call_stack_dump_on_error |
클라이언트/서버 파라미터 |
bool |
no |
error_log |
클라이언트/서버 파라미터 |
string |
cub_client.err, cub_server.err |
auto_restart_server |
서버 파라미터 |
bool |
yes |
deadlock_detection_interval_in_secs |
서버 파라미터 |
int |
1 |
file_lock |
서버 파라미터 |
bool |
yes |
isolation_level |
서버 파라미터 |
int |
3 |
lock_escalation |
서버 파라미터 |
int |
100000 |
lock_timeout_in_secs |
서버 파라미터 |
int |
-1 |
lock_timeout_message_type |
서버 파라미터 |
int |
0 |
pthread_scope_process |
서버 파라미터 |
bool |
yes |
backup_volume_max_size_bytes |
서버 파라미터 |
int |
-1 |
checkpoint_interval_in_mins |
서버 파라미터 |
int |
720 |
log_buffer_pages |
서버 파라미터 |
int |
50 |
media_failure_support |
서버 파라미터 |
bool |
yes |
insert_execution_mode |
클라이언트 파라미터 |
int |
1 |
max_plan_cache_entries |
클라이언트/서버 파라미터 |
int |
1000 |
max_query_cache_entries |
서버 파라미터 |
int |
-1 |
query_cache_mode |
서버 파라미터 |
int |
0 |
query_cache_size_in_pages |
서버 파라미터 |
int |
-1 |
replication |
서버 파라미터 |
bool |
no |
index scan_in_oid_order |
클라이언트 파라미터 |
bool |
no |
single_byte_compare |
서버 파라미터 |
bool |
no |
compactdb_page_reclaim_only |
서버 파라미터 |
int |
0 |
compat_numeric_division_scale |
클라이언트/서버 파라미터 |
bool |
no |
csql_history_num |
클라이언트 파라미터 |
int |
50 |
java_stored_procedure |
서버 파라미터 |
bool |
no |
async_commit |
서버 파라미터 |
bool |
no |
group_commit_interval_in_msecs |
서버 파라미터 |
int |
0 |
cubrid.conf에 지정된 파라미터는 다음과 같이 세 가지 섹션으로 제공된다.
여기서 <database>는 파라미터를 개별적으로 적용할 데이터베이스 이름이며, [common]에 설정된 파라미터가 [@<database>]에 설정된 파라미터와 동일한 경우 [@<database>]에 설정된 파라미터가 최종 적용된다.
CUBRID 설치 시 생성되는 기본 데이터베이스 환경 설정 파일(cubrid.conf)에는 데이터베이스 서버 파라미터 중 반드시 변경해야 할 일부 파라미터가 기본적으로 포함된다. 디폴트로 포함되지 않는 파라미터의 설정값을 변경하기 원할 경우 직접 추가/편집해서 사용하면 된다.
다음은 cubrid.conf 파일 내용이다.
# Copyright (C) 2008 Search Solution Corporation. All
rights reserved by Search Solution.
#
# $Id$
#
# cubrid.conf#
# For complete information on parameters, see the CUBRID
# Database Administration Guide chapter on System Parameters
# Service section - a section for 'cubrid service' command
[service]
# The list of processes to be started automatically by 'cubrid service start'
command
# Any combinations are available with server, broker and manager.
service=server,broker,manager
# The list of database servers in all by 'cubrid service start' command.
# This property is effective only when the above 'service' property contains
'server' keyword.
#server=foo,bar
# Common section - properties for all databases
# This section will be applied before other database specific sections.
[common]
# Number of data buffer pages
# data_buffer_pages (25,000 pages) * DB page size (4KB) = 100M
data_buffer_pages=25000
# Number of sort buffer pages
# sort_buffer_pages (16 pages) * DB page size (4KB) * number of threads
sort_buffer_pages=16
# Number of log buffer pages.
# log_buffer_pages (50 pages) * DB page size (4KB) = 200KB
log_buffer_pages=50
# Maximum number of locks acquired on individual instances of a
# class before the locks on the instances are escalated to a class lock
lock_escalation=100000
# Minimal amount of time to wait for a lock (seconds).
# A negative value, indicates to wait indefinitely until the lock is
# granted or until the transaction is rolled back as a result of a deadlock.
# A value of 0, indicates not to wait for a lock.
lock_timeout_in_secs=-1
# Interval between attempts at deadlock detection (seconds).
# An approximate interval to attempt to run the deadlock detector.
deadlock_detection_interval_in_secs=1
# Checkpoint when the specified time has passed (minutes).
# Checkpoint will be done also when log has grown by specified pages.
checkpoint_interval_in_mins=720
# Transaction isolation level.
# Six levels of isolation are provided, represented by:
# "TRAN_SERIALIZABLE"
# "TRAN_REP_CLASS_REP_INSTANCE"
# "TRAN_REP_CLASS_COMMIT_INSTANCE"
# "TRAN_REP_CLASS_UNCOMMIT_INSTANCE"
# "TRAN_COMMIT_CLASS_COMMIT_INSTANCE"
# "TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE"
# For other aliases, or for more information on the levels, see the
# System Parameters chapter in the Database Administration Guide.
isolation_level="TRAN_REP_CLASS_UNCOMMIT_INSTANCE"
# TCP port id for the CUBRID programs (used by all clients).
cubrid_port_id=1523
# The maximum number of concurrent client connections the server will accept.
# This value also means the total # of concurrent transactions.
max_clients=50
# Restart the server process automatically
auto_restart_server=yes
# Become a master server for replication.
replication=no
# Enable Java Stored Procedure
java_stored_procedure=no