databases.txt( ordblist.txt )
- 데이터베이스의 이름, 경로, 구축된 호스트이름 정보가 기록되어 있다.
- 데이터베이스 생성 시, databases.txt 파일에 생성된 데이터베이스에 관한 정보가 기록된다.
- CUBRID_DATABASES 환경 변수가 명시되어 있는 경로에 저장된다.
- 환경변수가 지시하는 디렉토리에 존재하지 않는 경우는 현재 디렉토리를 참조한다.
- 이 파일에 대한 주의 사항
n 호스트 이르이 변경되거나, 데이터베이스를 rm과 같은 유닉스 명령어로 삭제했을 경우 이 파일도 수정해야 한다.
n 데이터베이스 생성 및 삭제 시에 databases.txt 파일을 수정할 수 있어야 하므로, 데이터베이스를 생성하거나 삭제하는 사용자는 그 파일에 쓰기 접근을 가져야 한다. 이 디렉토리에 쓰기 권한이 없는 사용자가 데이터베이스를 생성한다면 데이터베이스 생성이 실패하게 된다. 따라서 DBA는 그 디렉토리에 사용자 쓰기 권한을 허용하거나 사용자 각자의 디렉토리에 databases.txt 파일을 생성하고 환경 변수를 설정하는 것이 바람직하다.
|
subway |
/CUBRID/Databases/subway |
hostname |
/CUBRID/Databases/subway |
|
데이터베이스 이름 |
데이터베이스 경로 |
호스트명 |
데이터베이스 로그 경로 |
|
함수정의 |
extern int cfg_read_directory () |
|
파라미터 |
DB_INFO ** info_p bool write_flag |
|
호출자 |
- util_sa:: alterdbhost - boot_sr:: boot_restart_server - databases_file:: cfg_find_db - util_sa:: installdb - boot_sr:: xboot_copy - boot_sr:: xboot_delete - boot_sr:: xboot_emergency_patch - boot_sr:: xboot_initialize_server - boot_sr:: xboot_soft_rename |
|
메모 |
- databases.txt로부터 DB_INFO를 만든다. |
|
함수정의 |
extern void cfg_free_directory () |
|
파라미터 |
DB_INFO * databases |
|
호출자 |
- util_sa:: alterdbhost - boot_cl:: boot_restart_client - boot_sr:: boot_restart_server - databases_file:: cfg_delete_db - databases_file:: cfg_find_db - databases_file:: cfg_read_directory - databases_file:: cfg_read_directory_ex - util_sa:: installdb - databases_file:: make_fake_db - boot_sr:: xboot_copy - boot_sr:: xboot_delete - boot_sr:: xboot_emergency_patch - boot_sr:: xboot_initialize_server - boot_sr:: xboot_soft_rename |
|
메모 |
- DB_INFO 링크의 메모리들을 해제 |
|
함수정의 |
extern DB_INFO *cfg_find_db_list () |
|
파라미터 |
DB_INFO * dir const char *name |
|
호출자 |
- boot_cl:: boot_restart_client - util_sa:: installdb - broker_log_converter:: main - loadjava::main |
|
메모 |
- DB_INFO 리스트로부터 name이 일치하는 DB_INFO를 찾는다. |
|
함수정의 |
extern char **cfg_get_hosts () |
|
파라미터 |
const char *dbname const char *prim_host int *count : 호스트명의 개수 bool append_local_host |
|
호출자 |
- util_sa:: alterdbhost - boot_cl:: boot_client_initialize_css - boot_cl:: boot_restart_client - databases_file:: cfg_add_db - databases_file:: cfg_new_db - databases_file:: cfg_read_directory - databases_file:: cfg_read_directory_ex - databases_file:: cfg_update_db - databases_file:: make_fake_db |
|
메모 |
- databases.txt의 호스트명 + 시스템파라미터에지정한호스트명 + 로컬호스트명의 리스트를 배열로반환 |
|
함수정의 |
extern void cfg_free_hosts () |
|
파라미터 |
char **host_array |
|
호출자 |
- util_sa:: alterdbhost - boot_cl:: boot_client_initialize_css - boot_cl:: boot_restart_client - databases_file:: cfg_add_db - databases_file:: cfg_free_directory - databases_file:: cfg_update_db |
|
메모 |
- host_array와 *host_array의 메모리 해제와 초기화 |
|
함수정의 |
static char *cfg_next_char () |
|
파라미터 |
char *str_p |
|
호출자 |
- databases_file:: cfg_read_directory - databases_file:: cfg_read_directory_ex |
|
메모 |
- 문자열의 시작을 공백문자가 아닌 곳까지 이동하여 그 위치의 포인터를 반환한다. |
|
함수정의 |
static char *cfg_pop_token () |
|
파라미터 |
char *str_p char **token_p |
|
호출자 |
- databases_file:: cfg_read_directory |
|
메모 |
- 문자열에서 공백으로 둘러 싸인 첫번째 문자열을 token_p로 반환한다. - 반환한 이후에 시작되는 문자열의 위치를 반환한다. |
|
함수정의 |
static void cfg_get_directory_filename () |
|
파라미터 |
char *buffer int *local |
|
호출자 |
- databases_file:: cfg_ensure_directory_write - databases_file:: cfg_maycreate_get_directory_filename - databases_file:: cfg_open_directory_file |
|
메모 |
- 전체경로를 포함한 databases.txt의 경로를 만든다. |
|
함수정의 |
static int cfg_ensure_directory_write (void) |
|
파라미터 |
|
|
호출자 |
- databases_file:: cfg_read_directory |
|
메모 |
- databases.txt 파일이 현재 쓸 수 있는 상태인지 확인한다. - 반환값이 0이 아닌 값이면 쓸 수 있는 상태이다. |
|
함수정의 |
static FILE *cfg_open_directory_file () |
|
파라미터 |
bool write_flag |
|
호출자 |
- databases_file:: cfg_read_directory - databases_file:: cfg_write_directory |
|
메모 |
- write_flag에 따른 모드로 databases.txt 파일을 오픈해서 파일 포인터를 반환한다. |
|
함수정의 |
static char *cfg_pop_host () |
|
파라미터 |
char *host_list char *buffer int *length |
|
호출자 |
- databases_file:: cfg_create_host_buffer |
|
메모 |
- host_list 에서구분자( : )까지를 buffer에 추가하고 그길이를 length에기록한다. |
|
함수정의 |
static bool cfg_host_exists () |
|
파라미터 |
char *host_list char *hostname int num_items |
|
호출자 |
- databases_file:: cfg_create_host_buffer |
|
메모 |
- host_list 중에서hostname이있는지확인한다. |
|
함수정의 |
static char *cfg_create_host_buffer () |
|
파라미터 |
const char *primary_host_name bool append_local_host int *cnt |
|
호출자 |
- databases_file:: cfg_get_hosts |
|
메모 |
- databases.txt의호스트명 + 시스템파라미터에지정한호스트명 + 로컬호스트명을 담은 리스트를 반환한다. |
|
함수정의 |
static char **cfg_create_host_array () |
|
파라미터 |
char *hosts_data int num_hosts int *count |
|
호출자 |
- databases_file:: cfg_get_hosts |
|
메모 |
- 구분자로 구분된 host_data 리스트를 배열로 만들어서 반환 |
|
함수정의 |
static char *cfg_get_prm_dbhosts (void) |
|
파라미터 |
|
|
호출자 |
- databases_file:: cfg_create_host_buffer |
|
메모 |
- 시스템파라미터에서 설정해놓은 클라이언트에서 연결할수있는 데이터베이스호스트 이름의 리스트를반환한다. |
댓글을 달아 주세요