:meta-keywords: cubrid create, cubrid add volume, cubrid backup, cubrid online backup, cubrid restore, cubrid unload, cubrid load, cubrid space, cubrid compact, cubrid optimize, cubrid plan dump, cubrid stat dump, cubrid check, cubrid diag, cubrid commands :meta-description: CUBRID comprehensive list of utilities and commands. Utilities: createdb, deletedb, backupdb, restoredb, compactdb, statdump, diagdb, checkdb, genlocale, gen_tz and many others. CUBRID commands for HA, Locale and Timezone. .. _cubrid-utilities: cubrid ìœ í‹¸ë¦¬í‹° =============== cubrid ìœ í‹¸ë¦¬í‹°ì˜ ì‚¬ìš©ë²•(구문)ì€ ë‹¤ìŒê³¼ 같다. :: cubrid utility_name utility_name : createdb [option] <database_name> <locale_name> --- ë°ì´í„°ë² ì´ìФ ìƒì„± deletedb [option] <database_name> --- ë°ì´í„°ë² ì´ìФ ì‚ì œ installdb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 설치 renamedb [option] <source-database-name> <target-database-name> --- ë°ì´í„°ë² ì´ìФ ì´ë¦„ 변경 copydb [option] <source-database-name> <target-database-name> --- ë°ì´í„°ë² ì´ìФ 복사 backupdb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 백업 restoredb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 복구 addvoldb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 볼륨 íŒŒì¼ ì¶”ê°€ spacedb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 공간 ì •ë³´ ì¶œë ¥ lockdb [option] <database-name> --- ë°ì´í„°ë² ì´ìŠ¤ì˜ lock ì •ë³´ ì¶œë ¥ tranlist [option] <database-name> --- 트랜ìžì…˜ í™•ì¸ killtran [option] <database-name> --- 트랜ìžì…˜ ì œê±° optimizedb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 통계 ì •ë³´ ê°±ì‹ statdump [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 서버 실행 통계 ì •ë³´ ì¶œë ¥ compactdb [option] <database-name> --- 사용ë˜ì§€ 않는 ì˜ì—ì„ í•´ì œ, 공간 최ì í™” diagdb [option] <database-name> --- ë‚´ë¶€ ì •ë³´ ì¶œë ¥ checkdb [option] <database-name> --- ë°ì´í„°ë² ì´ìФ ì¼ê´€ì„± 검사 alterdbhost [option] <database-name> --- ë°ì´í„°ë² ì´ìФ 호스트 변경 plandump [option] <database-name> --- 쿼리 플랜 ìºì‹œ ì •ë³´ ì¶œë ¥ loaddb [option] <database-name> --- ë°ì´í„° ë° ìŠ¤í‚¤ë§ˆ ê°€ì ¸ì˜¤ê¸°(로드) unloaddb [option] <database-name> --- ë°ì´í„° ë° ìŠ¤í‚¤ë§ˆ 내보내기(언로드) paramdump [option] <database-name> --- ë°ì´í„°ë² ì´ìŠ¤ì˜ ì„¤ì •ëœ íŒŒë¼ë¯¸í„° ê°’ í™•ì¸ changemode [option] <database-name> --- ì„œë²„ì˜ HA 모드 ì¶œë ¥ ë˜ëŠ” 변경 applyinfo [option] <database-name> --- HA 환경ì—서 트랜ìžì…˜ 로그 ë°˜ì˜ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ë„구 synccolldb [option] <database-name> --- DB ì½œë ˆì´ì…˜ì„ 시스템 ì½œë ˆì´ì…˜ì— 맞게 변경하는 ë„구 genlocale [option] <database-name> --- ì‚¬ìš©í•˜ê³ ìž í•˜ëŠ” 로캘 ì •ë³´ë¥¼ 컴파ì¼í•˜ëŠ” ë„구 dumplocale [option] <database-name> --- 컴파ì¼ëœ ë°”ì´ë„ˆë¦¬ 로캘 ì •ë³´ë¥¼ ì‚¬ëžŒì´ ì½ì„ 수 있는 í…스트로 ì¶œë ¥í•˜ëŠ” ë„구 gen_tz [option] [<database-name>] --- ê³µìœ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¡œ 컴파ì¼í• 수 있는 타임존 ë°ì´í„°ê°€ í¬í•¨ëœ C 소스 íŒŒì¼ ìƒì„± dump_tz [option] --- 타임존 ê´€ë ¨ ì •ë³´ ì¶œë ¥ tde <operation> [option] <database_name> --- TDE 암호화 관리 ë„구 vacuumdb [option] <database-name> --- ë°ì´í„°ë² ì´ìŠ¤ì˜ ì‚ì œëœ ë ˆì½”ë“œ ë˜ëŠ” 불필요한 mvcc ê´€ë ¨ ì •ë³´ë¥¼ ì •ë¦¬ ë° ê´€ë ¨ ì •ë³´ 확ì¸í•˜ëŠ” ë„구 flashback [option] <database-name> <owner_name.class_name> --- ì»¤ë°‹ëœ íŠ¹ì • 트랜ìžì…˜ì„ ë˜ëŒë¦´ 수 있ë„ë¡ SQL êµ¬ë¬¸ì„ ì œê³µí•˜ëŠ” ë„구 cubrid ìœ í‹¸ë¦¬í‹° 로깅 -------------------- CUBRID는 cubrid ìœ í‹¸ë¦¬í‹°ì˜ ìˆ˜í–‰ ê²°ê³¼ì— ëŒ€í•œ 로깅 ê¸°ëŠ¥ì„ ì œê³µí•˜ë©°, ìžì„¸í•œ ë‚´ìš©ì€ :ref:`cubrid-utility-logging` ì„ ì°¸ê³ í•œë‹¤. .. _creating-database: .. _createdb: createdb -------- **cubrid createdb** ìœ í‹¸ë¦¬í‹°ëŠ” CUBRID 시스템ì—서 ì‚¬ìš©í• ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ìƒì„±í•˜ê³ 미리 만들어진 CUBRID 시스템 í…Œì´ë¸”ì„ ì´ˆê¸°í™”í•œë‹¤. ë°ì´í„°ë² ì´ìŠ¤ì— ê¶Œí•œì´ ì£¼ì–´ì§„ 초기 사용ìžë¥¼ ì •ì˜í• ìˆ˜ë„ ìžˆë‹¤. ì¼ë°˜ì 으로 ë°ì´í„°ë² ì´ìФ 관리ìžë§Œì´ **cubrid createdb** ìœ í‹¸ë¦¬í‹°ë¥¼ 사용한다. 로그와 ë°ì´í„°ë² ì´ìŠ¤ì˜ ìœ„ì¹˜ë„ ì§€ì •í• ìˆ˜ 있다. .. warning:: ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ìƒì„±í• 때 ë°ì´í„°ë² ì´ìФ ì´ë¦„ ë’¤ì— ë¡œìº˜ ì´ë¦„ê³¼ 문ìžì…‹(예: ko_KR.utf8)ì„ ë°˜ë“œì‹œ ì§€ì •í•´ì•¼ 한다. 문ìžì…‹ì— ë”°ë¼ ë¬¸ìžì—´ íƒ€ìž…ì˜ í¬ê¸°, 문ìžì—´ ë¹„êµ ì—°ì‚° ë“±ì— ì˜í–¥ì„ ë¼ì¹œë‹¤. ë°ì´í„°ë² ì´ìФ ìƒì„± 시 ì§€ì •ëœ ë¬¸ìžì…‹ì€ ë³€ê²½í• ìˆ˜ 없으므로 ì§€ì •ì— ì£¼ì˜í•´ì•¼ 한다. 문ìžì…‹, 로캘 ë° ì½œë ˆì´ì…˜ ì„¤ì •ê³¼ ê´€ë ¨ëœ ìžì„¸í•œ ë‚´ìš©ì€ :doc:`/sql/i18n` ì„ ì°¸ê³ í•œë‹¤. :: cubrid createdb [options] database_name locale_name.charset * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **createdb**: 새로운 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ìƒì„±í•˜ê¸° 위한 ëª…ë ¹ì´ë‹¤. * *database_name*: ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ ì•Šê³ , ìƒì„±í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì„ ê³ ìœ í•˜ê²Œ 부여한다. ì´ ë•Œ, ì§€ì •í•œ ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ ì´ë¯¸ 존재하는 ë°ì´í„°ë² ì´ìФ ì´ë¦„ê³¼ 중복ë˜ëŠ” 경우, CUBRID는 기존 파ì¼ì„ 보호하기 위하여 ë°ì´í„°ë² ì´ìФ ìƒì„±ì„ ë” ì´ìƒ 진행하지 않는다. * *locale_name*: ë°ì´í„°ë² ì´ìФì—서 ì‚¬ìš©í• ë¡œìº˜ ì´ë¦„ì„ ìž…ë ¥í•œë‹¤. CUBRIDì—서 사용 가능한 로캘 ì´ë¦„ì€ :ref:`locale-selection` ì„ ì°¸ê³ í•œë‹¤. * *charset*: ë°ì´í„°ë² ì´ìФì—서 ì‚¬ìš©í• ë¬¸ìžì…‹ì„ ìž…ë ¥í•œë‹¤. CUBRIDì—서 사용 가능한 문ìžì…‹ì€ iso88591, euckr, utf8ì´ë‹¤. * *locale_name* ì´ en_USì´ê³ *charset* ì„ ìƒëžµí•˜ë©´ 문ìžì…‹ì€ iso88591ì´ ëœë‹¤. * *locale_name* ì´ ko_KRì´ê³ *charset* ì„ ìƒëžµí•˜ë©´ 문ìžì…‹ì€ utf8ì´ ëœë‹¤. * 나머지 *locale_name* ì€ *charset* ì„ ìƒëžµí• 수 없으며, utf8ë§Œ ì§€ì • 가능하다. ë°ì´í„°ë² ì´ìФ ì´ë¦„ì˜ ìµœëŒ€ 길ì´ëŠ” ì˜ë¬¸ 17ìžì´ë‹¤. 다ìŒì€ **cubrid createdb** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: createdb :: --db-volume-size=SIZE ì²˜ìŒ ìƒì„±ë˜ëŠ” 볼륨(generic)ì˜ í¬ê¸° --db-page-size=SIZE ë°”ì´íЏ ë‹¨ìœ„ì˜ ë°ì´í„°ë² ì´ìФ 페ì´ì§€ í¬ê¸° --log-volume-size=SIZE 로그 ë³¼ë¥¨ì˜ í¬ê¸° --log-page-size=SIZE ë°”ì´íЏ ë‹¨ìœ„ì˜ ë¡œê·¸ 페ì´ì§€ í¬ê¸° --comment=COMMENT ë°ì´í„°ë² ì´ìŠ¤ì— ê´€í•œ 설명 -F, --file-path=PATH ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 -L, --log-path=PATH 로그 ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 -B, --lob-base-path=PATH LOB 파ì¼ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 --server-name=HOST 서버 호스트 ì´ë¦„ -r, --replace ê°™ì€ ì´ë¦„ì˜ ë°ì´í„°ë² ì´ìŠ¤ê°€ 존재하면 ë®ì–´ì“°ê¸° --more-volume-file=FILE 추가로 확장ë ë³¼ë¥¨ì— ëŒ€í•œ ì œì–´ íŒŒì¼ --user-definition-file=FILE ë°ì´í„°ë² ì´ìФ 사용ìžë¥¼ ì •ì˜í•˜ëŠ” íŒŒì¼ --csql-initialization-file=FILE ë°ì´í„°ë² ì´ìФ ìƒì„± 후 CSQLì—서 FILEì— ì €ìž¥ëœ ì§ˆì˜ë¬¸ì„ 실행 -o, --output-file=FILE ì¶œë ¥ 메시지를 파ì¼ì— ì €ìž¥ -v, --verbose ìƒì„¸í•œ ìƒíƒœ ì •ë³´ë¥¼ 화면 ì¶œë ¥ .. option:: --db-volume-size=SIZE ìƒì„±ë ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì˜ í¬ê¸°ë¥¼ ì§€ì •í•œë‹¤. ê¸°ë³¸ê°’ì€ ì‹œìŠ¤í…œ 파ë¼ë¯¸í„° **db_volume_size** ì— ì§€ì •ëœ ê°’ì´ë‹¤. 단위는 K, M, G ë° T로 ì„¤ì •í• ìˆ˜ 있으며, ê°ê° 킬로바ì´íЏ(KB), 메가바ì´íЏ(MB), 기가바ì´íЏ(GB) ë° í…Œë¼ë°”ì´íЏ(TB)를 나타낸다. 단위를 ìƒëžµí•˜ë©´ ë°”ì´íЏ 단위가 ì ìš©ëœë‹¤. ë°ì´í„°ë² ì´ìŠ¤ì˜ í¬ê¸°ëŠ” í•ìƒ 64ê°œ ë””ìŠ¤í¬ ì„¹í„°ì˜ ë°°ìˆ˜ë¡œ 올림ëœë‹¤. ì´ ê°’ì€ íŽ˜ì´ì§€ì˜ í¬ê¸°ì— ë”°ë¼ ë‹¬ë¼ì§ˆ 수 있으며, 페ì´ì§€ í¬ê¸°ê°€ ê°ê° 4k, 8k ë° 16kì¸ ê²½ìš° 16M, 32M ë˜ëŠ” 64Mì´ ë 수 있다. 다ìŒì€ 첫 번째로 ìƒì„±ë˜ëŠ” testdbì˜ ë³¼ë¥¨ í¬ê¸°ë¥¼ 512MB로 ì§€ì •í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --db-volume-size=512M testdb en_US .. option:: --db-page-size=SIZE ë°ì´í„°ë² ì´ìФ 페ì´ì§€ í¬ê¸°ë¥¼ ì§€ì •í•˜ëŠ” 옵션으로서, ìµœì†Œê°’ì€ 4K, ìµœëŒ€ê°’ì€ 16K(기본값)ì´ë‹¤. K는 KB(kilobytes)를 ì˜ë¯¸í•œë‹¤. ë°ì´í„°ë² ì´ìФ 페ì´ì§€ í¬ê¸°ëŠ” 4K, 8K, 16K 중 í•˜ë‚˜ì˜ ê°’ì´ ëœë‹¤. 4K와 16K 사ì´ì˜ ê°’ì„ ì§€ì •í• ê²½ìš° ì§€ì •í•œ ê°’ì˜ ì˜¬ë¦¼ê°’ìœ¼ë¡œ ì„¤ì •ë˜ë©°, 4K보다 작으면 4K로 ì„¤ì •ë˜ê³ 16K보다 í¬ë©´ 16K로 ì„¤ì •ëœë‹¤. 다ìŒì€ testdb를 ìƒì„±í•˜ê³ , testdbì˜ ë°ì´í„°ë² ì´ìФ 페ì´ì§€ í¬ê¸°ë¥¼ 16K로 ì§€ì •í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --db-page-size=16K testdb en_US .. option:: --log-volume-size=SIZE ë°ì´í„°ë² ì´ìФ 로그 ë³¼ë¥¨ì˜ í¬ê¸°ë¥¼ ì§€ì •í•œë‹¤. ê¸°ë³¸ê°’ì€ ë°ì´í„°ë² ì´ìФ 볼륨 í¬ê¸°ì™€ 같으며, ìµœì†Œê°’ì€ 20Mì´ë‹¤. 단위는 K, M, G ë° T로 ì„¤ì •í• ìˆ˜ 있으며, ê°ê° 킬로바ì´íЏ(KB), 메가바ì´íЏ(MB), 기가바ì´íЏ(GB) ë° í…Œë¼ë°”ì´íЏ(TB)를 나타낸다. 단위를 ìƒëžµí•˜ë©´ ë°”ì´íЏ 단위가 ì ìš©ëœë‹¤. 다ìŒì€ *testdb* 를 ìƒì„±í•˜ê³ , *testdb* ì˜ ë¡œê·¸ 볼륨 í¬ê¸°ë¥¼ 256M로 ì§€ì •í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --log-volume-size=256M testdb en_US .. option:: --log-page-size=SIZE ìƒì„±ë˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ë¡œê·¸ 볼륨 페ì´ì§€ í¬ê¸°ë¥¼ ì§€ì •í•˜ëŠ” 옵션으로, ê¸°ë³¸ê°’ì€ ë°ì´í„° 페ì´ì§€ í¬ê¸°ì™€ 같다. ìµœì†Œê°’ì€ 4K, ìµœëŒ€ê°’ì€ 16Kì´ë‹¤. K는 KB(kilobytes)를 ì˜ë¯¸í•œë‹¤. ë°ì´í„°ë² ì´ìФ 페ì´ì§€ í¬ê¸°ëŠ” 4K, 8K, 16K 중 í•˜ë‚˜ì˜ ê°’ì´ ëœë‹¤. 4K와 16K 사ì´ì˜ ê°’ì„ ì§€ì •í• ê²½ìš° ì§€ì •í•œ ê°’ì˜ ì˜¬ë¦¼ê°’ìœ¼ë¡œ ì„¤ì •ë˜ë©°, 4K보다 작으면 4K로 ì„¤ì •ë˜ê³ 16K보다 í¬ë©´ 16K로 ì„¤ì •ëœë‹¤. 다ìŒì€ *testdb* 를 ìƒì„±í•˜ê³ , *testdb* ì˜ ë¡œê·¸ 볼륨 페ì´ì§€ í¬ê¸°ë¥¼ 8kbyte로 ì§€ì •í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb -log-page-size=8K testdb en_US .. option:: --comment=COMMENT ë°ì´í„°ë² ì´ìŠ¤ì˜ ë³¼ë¥¨ í—¤ë”ì— ì§€ì •ëœ ì£¼ì„ì„ í¬í•¨í•˜ëŠ” 옵션으로, 문ìžì—´ì— ê³µë°±ì´ í¬í•¨ë˜ë©´ í° ë”°ì˜´í‘œë¡œ ê°ì‹¸ì£¼ì–´ì•¼ 한다. 다ìŒì€ *testdb* 를 ìƒì„±í•˜ê³ , ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì— ì´ì— 대한 주ì„ì„ ì¶”ê°€í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --comment "a new database for study" testdb en_US .. option:: -F, --file-path=PATH 새로운 ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë˜ëŠ” ë””ë ‰í„°ë¦¬ì˜ ì ˆëŒ€ 경로를 ì§€ì •í•˜ëŠ” 옵션으로, **-F** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 현재 작업 ë””ë ‰í„°ë¦¬ì— ìƒˆë¡œìš´ ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ëœë‹¤. 다ìŒì€ *testdb* ë¼ëŠ” ì´ë¦„ì˜ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ /dbtemp/new_dbë¼ëŠ” ë””ë ‰í„°ë¦¬ì— ìƒì„±í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb -F "/dbtemp/new_db/" testdb en_US .. option:: -L, --log-path=PATH ë°ì´í„°ë² ì´ìŠ¤ì˜ ë¡œê·¸ 파ì¼ì´ ìƒì„±ë˜ëŠ” ë””ë ‰í„°ë¦¬ì˜ ì ˆëŒ€ 경로를 ì§€ì •í•˜ëŠ” 옵션으로, **-L** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 **-F** 옵션ì—서 ì§€ì •í•œ ë””ë ‰í„°ë¦¬ì— ìƒì„±ëœë‹¤. **-F** 옵션과 **-L** ì˜µì…˜ì„ ë‘˜ 다 ì§€ì •í•˜ì§€ 않으면 ë°ì´í„°ë² ì´ìŠ¤ì™€ 로그 파ì¼ì´ 현재 작업 ë””ë ‰í„°ë¦¬ì— ìƒì„±ëœë‹¤. 다ìŒì€ *testdb* ë¼ëŠ” ì´ë¦„ì˜ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ /dbtemp/newdbë¼ëŠ” ë””ë ‰í„°ë¦¬ì— ìƒì„±í•˜ê³ , 로그 파ì¼ì„ /dbtemp/db_log ë””ë ‰í„°ë¦¬ì— ìƒì„±í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb -F "/dbtemp/new_db/" -L "/dbtemp/db_log/" testdb en_US .. option:: -B, --lob-base-path=PATH **BLOB/CLOB** ë°ì´í„°ë¥¼ 사용하는 경우 **LOB** ë°ì´í„° 파ì¼ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ì˜ ê²½ë¡œë¥¼ ì§€ì •í•˜ëŠ” 옵션으로, ì´ ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 <*ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì´ ìƒì„±ë˜ëŠ” ë””ë ‰í„°ë¦¬*> **/lob** ë””ë ‰í„°ë¦¬ì— **LOB** ë°ì´í„° 파ì¼ì´ ì €ìž¥ëœë‹¤. 다ìŒì€ *testdb* 를 현재 작업 ë””ë ‰í„°ë¦¬ì— ìƒì„±í•˜ê³ , **LOB** ë°ì´í„° 파ì¼ì´ ì €ìž¥ë ë””ë ‰í„°ë¦¬ë¥¼ 로컬 íŒŒì¼ ì‹œìŠ¤í…œì˜ "/home/data1"으로 ì§€ì •í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --lob-base-path "file:/home1/data1" testdb en_US .. option:: --server-name=HOST CUBRIDì˜ í´ë¼ì´ì–¸íЏ/서버 ë²„ì „ì„ ì‚¬ìš©í• ë•Œ íŠ¹ì • ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ 서버가 ì§€ì •í•œ 호스트 ìƒì— 구ë™ë˜ë„ë¡ í•˜ëŠ” 옵션ì´ë‹¤. ì´ ì˜µì…˜ìœ¼ë¡œ ì§€ì •ëœ ì„œë²„ í˜¸ìŠ¤íŠ¸ì˜ ì •ë³´ëŠ” ë°ì´í„°ë² ì´ìФ 위치 ì •ë³´ 파ì¼( **databases.txt** )ì— ê¸°ë¡ëœë‹¤. ì´ ì˜µì…˜ì´ ì§€ì •ë˜ì§€ 않으면 ê¸°ë³¸ê°’ì€ í˜„ìž¬ 로컬 호스트ì´ë‹¤. 다ìŒì€ *testdb* 를 *aa_host* 호스트 ìƒì— ìƒì„± ë° ë“±ë¡í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --server-name aa_host testdb en_US .. option:: -r, --replace **-r** ì€ ì§€ì •ëœ ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ ì´ë¯¸ 존재하는 ë°ì´í„°ë² ì´ìФ ì´ë¦„ê³¼ 중복ë˜ë”ë¼ë„ 새로운 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ìƒì„±í•˜ê³ , ê¸°ì¡´ì˜ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ë®ì–´ì“°ë„ë¡ í•˜ëŠ” 옵션ì´ë‹¤. 다ìŒì€ *testdb* ë¼ëŠ” ì´ë¦„ì˜ ë°ì´í„°ë² ì´ìŠ¤ê°€ ì´ë¯¸ 존재하ë”ë¼ë„ ê¸°ì¡´ì˜ *testdb* 를 ë®ì–´ì“°ê³ 새로운 *testdb* 를 ìƒì„±í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb -r testdb en_US .. option:: --more-volume-file=FILE ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë˜ëŠ” ë””ë ‰í„°ë¦¬ì— ì¶”ê°€ ë³¼ë¥¨ì„ ìƒì„±í•˜ëŠ” 옵션으로 ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥ëœ ëª…ì„¸ì— ë”°ë¼ ì¶”ê°€ ë³¼ë¥¨ì„ ìƒì„±í•œë‹¤. ì´ ì˜µì…˜ì„ ì´ìš©í•˜ì§€ 않ë”ë¼ë„, **cubrid addvoldb** ìœ í‹¸ë¦¬í‹°ë¥¼ ì´ìš©í•˜ì—¬ ë³¼ë¥¨ì„ ì¶”ê°€í• ìˆ˜ 있다. 다ìŒì€ *testdb* 를 ìƒì„±í•¨ê³¼ ë™ì‹œì— vol_info.txtì— ì €ìž¥ëœ ëª…ì„¸ë¥¼ 기반으로 ë³¼ë¥¨ì„ ì¶”ê°€ ìƒì„±í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb --more-volume-file vol_info.txt testdb en_US 다ìŒì€ 위 구문으로 vol_info.txtì— ì €ìž¥ëœ ì¶”ê°€ ë³¼ë¥¨ì— ê´€í•œ 명세ì´ë‹¤. ê° ë³¼ë¥¨ì— ê´€í•œ 명세는 ë¼ì¸ 단위로 작성ë˜ì–´ì•¼ 한다. :: #xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # NAME volname COMMENTS volcmnts PURPOSE volpurp NPAGES volnpgs NAME data_v1 COMMENTS "data information volume" PURPOSE data NPAGES 1000 NAME data_v2 COMMENTS "data information volume" NPAGES 1000 NAME temp_v1 COMMENTS "temporary information volume" PURPOSE temp NPAGES 500 #xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ì˜ˆì œ 파ì¼ì—서와 ê°™ì´ ê° ë³¼ë¥¨ì— ê´€í•œ 명세는 다ìŒê³¼ ê°™ì´ êµ¬ì„±ëœë‹¤. :: [NAME volname] [COMMENTS volcmnts] [PURPOSE volpurp] NPAGES volnpgs * *volname*: 추가 ìƒì„±ë ë³¼ë¥¨ì˜ ì´ë¦„으로 Unix íŒŒì¼ ì´ë¦„ ê·œì•½ì„ ë”°ë¼ì•¼ í•˜ê³ , ë””ë ‰í„°ë¦¬ 경로를 í¬í•¨í•˜ì§€ 않는 단순한 ì´ë¦„ì´ì–´ì•¼ 한다. ë³¼ë¥¨ëª…ì— ê´€í•œ 명세는 ìƒëžµí• 수 있으며, ì´ ê²½ìš° ì‹œìŠ¤í…œì— ì˜í•´ "ìƒì„±ë ë°ì´í„°ë² ì´ìФ ì´ë¦„_볼륨 ì‹ë³„ìž"로 ë³¼ë¥¨ëª…ì´ ìƒì„±ëœë‹¤. * *volcmnts*: 볼륨 í—¤ë”ì— ê¸°ë¡ë˜ëŠ” ì£¼ì„ ë¬¸ìž¥ìœ¼ë¡œ, 추가 ìƒì„±ë˜ëŠ” ë³¼ë¥¨ì— ê´€í•œ ì •ë³´ë¥¼ ìž„ì˜ë¡œ ë¶€ì—¬í• ìˆ˜ 있다. 볼륨 주ì„ì— ê´€í•œ 명세 ì—시 ìƒëžµí• 수 있다. * *volpurp*: :ë³¼ë¥¨ì´ ì‚¬ìš©ë˜ëŠ” ìš©ë„를 나타낸다. ì˜êµ¬ì ë°ì´í„°(기본 옵션) 볼륨 ë˜ëŠ” ì¼ì‹œì ë°ì´í„° 볼륨 ì¤‘ì— í•˜ë‚˜ë¥¼ ì‚¬ìš©í• ìˆ˜ 있다. .. note:: ì´ì „ ë²„ì „ê³¼ì˜ í˜¸í™˜ì„±ì„ ìœ„í•´ **data**, **index**, **temp** ë˜ëŠ” **generic** 등 ê¸°ì¡´ì˜ ëª¨ë“ í‚¤ì›Œë“œë¥¼ ì‚¬ìš©í• ìˆ˜ 있다. **temp** 는 ì¼ì‹œì ë°ì´í„° 볼륨ì´ê³ , 나머지는 ì˜êµ¬ì ë°ì´í„° ë³¼ë¥¨ì„ ë‚˜íƒ€ë‚¸ë‹¤. * *volnpgs*: ìƒì„±ë 추가 ë³¼ë¥¨ì˜ íŽ˜ì´ì§€ 수를 나타낸다. ë³¼ë¥¨ì˜ íŽ˜ì´ì§€ 수 ì§€ì •ì€ ìƒëžµí• 수 없으며, 반드시 ì§€ì •í•´ì•¼ 한다. ì‹¤ì œ 볼륨 í¬ê¸°ëŠ” **64 sectors** ì˜ ë°°ìˆ˜ë¡œ 올림ëœë‹¤. .. option:: --user-definition-file=FILE ìƒì„±í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•´ ê¶Œí•œì´ ìžˆëŠ” 사용ìžë¥¼ 추가하는 옵션으로, 파ë¼ë¯¸í„°ë¡œ ì§€ì •ëœ ì‚¬ìš©ìž ì •ë³´ 파ì¼ì— ì €ìž¥ëœ ëª…ì„¸ì— ë”°ë¼ ì‚¬ìš©ìžë¥¼ 추가한다. **\-\-user-definition-file** ì˜µì…˜ì„ ì´ìš©í•˜ì§€ 않ë”ë¼ë„ :ref:`create-user` êµ¬ë¬¸ì„ ì´ìš©í•˜ì—¬ 사용ìžë¥¼ ì¶”ê°€í• ìˆ˜ 있다. 다ìŒì€ *testdb* 를 ìƒì„±í•¨ê³¼ ë™ì‹œì— user_info.txtì— ì •ì˜ëœ ì‚¬ìš©ìž ì •ë³´ë¥¼ 기반으로 *testdb* ì— ëŒ€í•œ 사용ìžë¥¼ 추가하는 구문ì´ë‹¤. :: cubrid createdb --user-definition-file=user_info.txt testdb en_US ì‚¬ìš©ìž ì •ë³´ 파ì¼ì˜ êµ¬ë¬¸ì€ ì•„ëž˜ì™€ 같다. :: USER user_name [ <groups_clause> | <members_clause> ] <groups_clause>: [ GROUPS <group_name> [ { <group_name> }... ] ] <members_clause>: [ MEMBERS <member_name> [ { <member_name> }... ] ] * *user_name*: ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•´ ê¶Œí•œì„ ê°€ì§€ëŠ” ì‚¬ìš©ìž ì´ë¦„ì´ë©°, ê³µë°±ì´ í¬í•¨ë˜ì§€ 않아야 한다. * **GROUPS** ì ˆ: 옵션ì´ë©°, <group_name>ì€ ì§€ì •ëœ <user_name>ì„ í¬í•¨í•˜ëŠ” ìƒìœ„ ê·¸ë£¹ì˜ ì´ë¦„ì´ë‹¤. ì´ ë•Œ, <group_name>ì€ í•˜ë‚˜ ì´ìƒì´ ì§€ì •ë 수 있으며, **USER** 로 미리 ì •ì˜ë˜ì–´ì•¼ 한다. * **MEMBERS** ì ˆ: 옵션ì´ë©°, <member_name> ì€ ì§€ì •ëœ <user_name>ì— í¬í•¨ë˜ëŠ” 하위 ë©¤ë²„ì˜ ì´ë¦„ì´ë‹¤. ì´ ë•Œ, <member_name>ì€ í•˜ë‚˜ ì´ìƒì´ ì§€ì •ë 수 있으며, **USER** 로 미리 ì •ì˜ë˜ì–´ì•¼ 한다. ì‚¬ìš©ìž ì •ë³´ 파ì¼ì—서는 주ì„ì„ ì‚¬ìš©í• ìˆ˜ 있으며, ì£¼ì„ ë¼ì¸ì€ ì—°ì†ëœ 하ì´í”ˆ(\-\-)으로 시작ëœë‹¤. 공백 ë¼ì¸ì€ 무시ëœë‹¤. ë‹¤ìŒ ì˜ˆì œëŠ” 그룹 *sedan* ì— *grandeur* 와 *sonata* ê°€, 그룹 *suv* ì— *tuscan* ì´, 그룹 *hatchback* ì— *i30* ê°€ í¬í•¨ë˜ëŠ” ê²ƒì„ ì •ì˜í•˜ëŠ” ì‚¬ìš©ìž ì •ë³´ 파ì¼ì´ë‹¤. ì‚¬ìš©ìž ì •ë³´ 파ì¼ëª…ì€ user_info.txt로 예시한다. :: -- -- ì‚¬ìš©ìž ì •ë³´ 파ì¼ì˜ 예 1 -- USER sedan USER suv USER hatchback USER grandeur GROUPS sedan USER sonata GROUPS sedan USER tuscan GROUPS suv USER i30 GROUPS hatchback 위 ì˜ˆì œì™€ ë™ì¼í•œ ì‚¬ìš©ìž ê´€ê³„ë¥¼ ì •ì˜í•˜ëŠ” 파ì¼ì´ë‹¤. 다만, 아래 ì˜ˆì œì—서는 **MEMBERS** ì ˆì„ ì´ìš©í•˜ì˜€ë‹¤. :: -- -- ì‚¬ìš©ìž ì •ë³´ 파ì¼ì˜ 예 2 -- USER grandeur USER sonata USER tuscan USER i30 USER sedan MEMBERS sonata grandeur USER suv MEMBERS tuscan USER hatchback MEMBERS i30 .. option:: --csql-initialization-file=FILE ìƒì„±í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•´ CSQL ì¸í„°í”„리터ì—서 êµ¬ë¬¸ì„ ì‹¤í–‰í•˜ëŠ” 옵션으로, 파ë¼ë¯¸í„°ë¡œ ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥ëœ SQL êµ¬ë¬¸ì— ë”°ë¼ ìŠ¤í‚¤ë§ˆë¥¼ ìƒì„±í• 수 있다. 다ìŒì€ *testdb* 를 ìƒì„±í•¨ê³¼ ë™ì‹œì— table_schema.sqlì— ì •ì˜ëœ SQL êµ¬ë¬¸ì„ CSQL ì¸í„°í”„리터ì—서 실행시키는 구문ì´ë‹¤. :: cubrid createdb --csql-initialization-file table_schema.sql testdb en_US .. option:: -o, --output-file=FILE ë°ì´í„°ë² ì´ìФ ìƒì„±ì— 관한 메시지를 파ë¼ë¯¸í„°ë¡œ ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥í•˜ëŠ” 옵션ì´ë©°, 파ì¼ì€ ë°ì´í„°ë² ì´ìŠ¤ì™€ ë™ì¼í•œ ë””ë ‰í„°ë¦¬ì— ìƒì„±ëœë‹¤. **-o** ì˜µì…˜ì´ ì§€ì •ë˜ì§€ 않으면 메시지는 콘솔 í™”ë©´ì— ì¶œë ¥ëœë‹¤. **-o** ì˜µì…˜ì€ ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë˜ëŠ” ì¤‘ì— ì¶œë ¥ë˜ëŠ” 메시지를 ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥í•¨ìœ¼ë¡œì¨ íŠ¹ì • ë°ì´í„°ë² ì´ìŠ¤ì˜ ìƒì„± ê³¼ì •ì— ê´€í•œ ì •ë³´ë¥¼ í™œìš©í• ìˆ˜ 있게 한다. 다ìŒì€ *testdb* 를 ìƒì„±í•˜ë©´ì„œ ì´ì— 관한 ìœ í‹¸ë¦¬í‹°ì˜ ì¶œë ¥ì„ ì½˜ì†” í™”ë©´ì´ ì•„ë‹Œ db_output 파ì¼ì— ì €ìž¥í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb -o db_output testdb en_US .. option:: -v, --verbose ë°ì´í„°ë² ì´ìФ ìƒì„± ì—°ì‚°ì— ê´€í•œ ëª¨ë“ ì •ë³´ë¥¼ í™”ë©´ì— ì¶œë ¥í•˜ëŠ” 옵션으로서, **-o** 옵션과 마찬가지로 íŠ¹ì • ë°ì´í„°ë² ì´ìФ ìƒì„± ê³¼ì •ì— ê´€í•œ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ”ë° ìœ ìš©í•˜ë‹¤. ë”°ë¼ì„œ, **-v** 옵션과 **-o** ì˜µì…˜ì„ í•¨ê»˜ ì§€ì •í•˜ë©´, **-o** ì˜µì…˜ì˜ íŒŒë¼ë¯¸í„°ë¡œ ì§€ì •ëœ ì¶œë ¥ 파ì¼ì— **cubrid createdb** ìœ í‹¸ë¦¬í‹°ì˜ ì—°ì‚° ì •ë³´ì™€ ìƒì„± ê³¼ì •ì— ê´€í•œ ì¶œë ¥ 메시지를 ì €ìž¥í• ìˆ˜ 있다. 다ìŒì€ *testdb* 를 ìƒì„±í•˜ë©´ì„œ ì´ì— 관한 ìƒì„¸í•œ ì—°ì‚° ì •ë³´ë¥¼ í™”ë©´ì— ì¶œë ¥í•˜ëŠ” 구문ì´ë‹¤. :: cubrid createdb -v testdb en_US .. note:: * **temp_file_max_size_in_pages** 는 복잡한 질ì˜ë¬¸ì´ë‚˜ ì •ë ¬ ìˆ˜í–‰ì— ì‚¬ìš©ë˜ëŠ” ì¼ì‹œì ë³¼ë¥¨ì„ ë””ìŠ¤í¬ì— ì €ìž¥í•˜ëŠ” ë°ì— í• ë‹¹ë˜ëŠ” 최대 페ì´ì§€ 개수를 ì„¤ì •í•˜ëŠ” 파ë¼ë¯¸í„°ì´ë‹¤. ê¸°ë³¸ê°’ì€ **-1** 로, **temp_volume_path** 파ë¼ë¯¸í„°ê°€ ì§€ì •í•œ 디스í¬ì˜ ì—¬ìœ ê³µê°„ê¹Œì§€ ì¼ì‹œì ë³¼ë¥¨ì´ ì»¤ì§ˆ 수 있다. 0ì´ë©´ ì¼ì‹œì ë³¼ë¥¨ì´ ìƒì„±ë˜ì§€ 않으므로 :ref:`cubrid addvoldb <adding-database-volume>` ìœ í‹¸ë¦¬í‹°ë¥¼ ì´ìš©í•˜ì—¬ ì˜êµ¬ì 임시 ë³¼ë¥¨ì„ ì¶©ë¶„ížˆ 추가해야 한다. ë³¼ë¥¨ì„ íš¨ìœ¨ì 으로 관리하기 위해서는 후ìžì˜ ë°©ë²•ì„ ì‚¬ìš©í• ê²ƒì„ ê¶Œìž¥í•œë‹¤. * :ref:`cubrid spacedb <spacedb>` ìœ í‹¸ë¦¬í‹°ë¥¼ 사용하면 ê° ë³¼ë¥¨ì˜ ë‚¨ì€ ê³µê°„ì„ í™•ì¸í• 수 있다. :ref:`cubrid addvoldb <adding-database-volume>` ìœ í‹¸ë¦¬í‹°ë¥¼ 사용하면 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 관리하면서 í•„ìš”ì— ë”°ë¼ ë³¼ë¥¨ì„ ë” ì¶”ê°€í• ìˆ˜ 있다. 시스템 부하가 ì ì„ ë•Œ ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” ê²ƒì´ ì¢‹ë‹¤. ì‚¬ì „ í• ë‹¹ëœ ë³¼ë¥¨ì´ ëª¨ë‘ ì‚¬ìš© 중ì´ë©´ ë°ì´í„°ë² ì´ìФ 시스템ì—서는 ìžë™ìœ¼ë¡œ 새 ë³¼ë¥¨ì„ ìƒì„±í•œë‹¤. ë‹¤ìŒ ì˜ˆì œì—서는 ì˜êµ¬ì 임시 ë³¼ë¥¨ì„ í¬í•¨í•œ 여러 ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” ë°ì´í„°ë² ì´ìФ ìƒì„± ë°©ë²•ì„ ë³´ì—¬ì¤€ë‹¤. :: cubrid createdb --db-volume-size=512M --log-volume-size=256M cubriddb en_US cubrid addvoldb -S -n cubriddb_DATA01 --db-volume-size=512M cubriddb cubrid addvoldb -S -p temp -n cubriddb_TEMP01 --db-volume-size=512M cubriddb .. note:: **기존 키 파ì¼ì„ 사용하는 ë°ì´í„°ë² ì´ìФ ìƒì„±** ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë 때 기본ì 으로 키 파ì¼ì´ 함께 ìƒì„±ëœë‹¤. 만약 ë°ì´í„°ë² ì´ìФ ìƒì„± 시 기존 키 파ì¼ì„ ì‚¬ìš©í•˜ê³ ì‹¶ë‹¤ë©´, ë¨¼ì € 키 파ì¼ì„ <database-name>_keys ì´ë¦„으로 복사해 둔다. ì´í›„ 복사한 키 파ì¼ì˜ ë””ë ‰í† ë¦¬ë¥¼ **tde_keys_file_path** 시스템 파ë¼ë¯¸í„°ì— ì§€ì •í•˜ê³ **createdb** ìœ í‹¸ë¦¬í‹°ë¥¼ 통해 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ìƒì„±í•œë‹¤. TDE 키 파ì¼ì— 관한 ìžì„¸í•œ ë‚´ìš©ì€ :ref:`tde-file-based-key` 를 ì°¸ê³ í•œë‹¤. .. _adding-database-volume: .. _addvoldb: addvoldb -------- CUBRID ë³¼ë¥¨ì„ ì„¸ë¶€ì 으로 ê´€ë¦¬í•˜ë ¤ë©´ addvoldb 를 사용하면 ëœë‹¤. ê° ë³¼ë¥¨ 파ì¼ëª…, 경로, ìš©ë„ ë° í¬ê¸°ë¥¼ 세분해서 ê´€ë¦¬í• ìˆ˜ 있다. ë°ì´í„°ë² ì´ìФ ì‹œìŠ¤í…œì€ ëª¨ë“ ë³¼ë¥¨ì„ ì§ì ‘ ê´€ë¦¬í• ìˆ˜ 있으나, ì˜µì…˜ì„ ìƒëžµí•˜ë©´ ê°ê°ì˜ 새 ë³¼ë¥¨ì„ êµ¬ì„±í• ë•ŒëŠ” ê¸°ë³¸ê°’ì„ ì‚¬ìš©í•œë‹¤ ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì„ ìˆ˜ë™ìœ¼ë¡œ 추가하기 위한 ëª…ë ¹ì€ ë‹¤ìŒê³¼ 같다. :: cubrid addvoldb [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **addvoldb**: ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì— ì§€ì •ëœ íŽ˜ì´ì§€ ìˆ˜ë§Œí¼ ìƒˆë¡œìš´ ë³¼ë¥¨ì„ ì¶”ê°€í•˜ê¸° 위한 ëª…ë ¹ì´ë‹¤. * *database_name*: ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ ì•Šê³ , ë³¼ë¥¨ì„ ì¶”ê°€í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì„ ì§€ì •í•œë‹¤. 다ìŒì€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ìƒì„±í•˜ê³ 볼륨 ìš©ë„를 구분하여 ë°ì´í„°(**data**), ì¸ë±ìФ(**index**), 임시(**temp**) ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” 예ì´ë‹¤. :: cubrid createdb --db-volume-size=512M --log-volume-size=256M cubriddb en_US cubrid addvoldb -S -n cubriddb_DATA01 --db-volume-size=512M cubriddb cubrid addvoldb -S -p temp -n cubriddb_TEMP01 --db-volume-size=512M cubriddb 다ìŒì€ **cubrid addvoldb** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: addvoldb :: --db-volume-size=SIZE 추가ë ë³¼ë¥¨ì˜ í¬ê¸° -n, --volume-name=NAME 볼륨 ì´ë¦„ -F, --file-path=PATH ë°ì´í„°ë² ì´ìФ 파ì¼ì— 대한 볼륨경로 --comment=COMMENT 볼륨 ì£¼ì„ -p, --purpose=PURPOSE 볼륨 사용 ìš©ë„ -S, --SA-mode ë…립 모드 실행 -C, --CS-mode í´ë¼ì´ì–¸íЏ 서버 모드 실행 --max-writesize-in-sec=SIZE 초당 추가ë ë³¼ë¥¨ì˜ í¬ê¸° .. option:: --db-volume-size=SIZE **\-\-db-volume-size** ì§€ì •í•œ ë°ì´í„°ë² ì´ìŠ¤ì— ì¶”ê°€ë 볼륨 í¬ê¸°ë¥¼ ì§€ì •í•˜ëŠ” 옵션ì´ë‹¤. **\-\-db-volume-size** ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 시스템 파ë¼ë¯¸í„° **db_volume_size** ì˜ ê°’ì´ ê¸°ë³¸ê°’ìœ¼ë¡œ 사용ëœë‹¤. 단위는 K, M, G ë° T로 ì„¤ì •í• ìˆ˜ 있으며, ê°ê° 킬로바ì´íЏ(KB), 메가바ì´íЏ(MB), 기가바ì´íЏ(GB) ë° í…Œë¼ë°”ì´íЏ(TB)를 나타낸다. 단위를 ìƒëžµí•˜ë©´ ë°”ì´íЏ 단위가 ì ìš©ëœë‹¤. ë°ì´í„°ë² ì´ìŠ¤ì˜ í¬ê¸°ëŠ” í•ìƒ 64ê°œ ë””ìŠ¤í¬ ì„¹í„°ì˜ ë°°ìˆ˜ë¡œ 올림ëœë‹¤. ì´ ê°’ì€ íŽ˜ì´ì§€ì˜ í¬ê¸°ì— ë”°ë¼ ë‹¬ë¼ì§ˆ 수 있으며, 페ì´ì§€ í¬ê¸°ê°€ ê°ê° 4k, 8k ë° 16kì¸ ê²½ìš° 16M, 32M ë˜ëŠ” 64Mì´ ë 수 있다 다ìŒì€ *testdb* ì— ë°ì´í„° ë³¼ë¥¨ì„ ì¶”ê°€í•˜ë©° 볼륨 í¬ê¸°ë¥¼ 256MB로 ì§€ì •í•˜ëŠ” 구문ì´ë‹¤. :: cubrid addvoldb --db-volume-size=256M testdb .. option:: -n, --volume-name=NAME ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ 추가ë ë³¼ë¥¨ì˜ ì´ë¦„ì„ ì§€ì •í•˜ëŠ” 옵션ì´ë‹¤. ë³¼ë¥¨ëª…ì€ ìš´ì˜ì²´ì œì˜ íŒŒì¼ ì´ë¦„ ê·œì•½ì„ ë”°ë¼ì•¼ í•˜ê³ , ë””ë ‰í„°ë¦¬ 경로나 ê³µë°±ì„ í¬í•¨í•˜ì§€ 않는 단순한 ì´ë¦„ì´ì–´ì•¼ 한다. **-n** ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 추가ë˜ëŠ” ë³¼ë¥¨ì˜ ì´ë¦„ì€ ì‹œìŠ¤í…œì— ì˜í•´ "ë°ì´í„°ë² ì´ìФ ì´ë¦„_볼륨 ì‹ë³„ìž"로 ìžë™ 부여ëœë‹¤. 예를 들어, ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ *testdb* ì´ë©´ ìžë™ ë¶€ì—¬ëœ ë³¼ë¥¨ëª…ì€ *testdb_x001* ì´ ëœë‹¤. 다ìŒì€ testdbë¼ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì— ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” 예ì´ë©°, 추가ë˜ëŠ” ë³¼ë¥¨ëª…ì€ *testdb_v1* ì´ ëœë‹¤. :: cubrid addvoldb -n testdb_v1 testdb .. option:: -F, --file-path=PATH ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ 추가ë ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í•˜ëŠ” 옵션ì´ë‹¤. **-F** ì˜µì…˜ì„ ìƒëžµí•˜ë©´, 시스템 파ë¼ë¯¸í„°ì¸ **volume_extension_path** ì˜ ê°’ì´ ê¸°ë³¸ê°’ìœ¼ë¡œ 사용ëœë‹¤. 다ìŒì€ testdbë¼ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì— ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” 구문ì´ë©°, 추가 ë³¼ë¥¨ì€ */dbtemp/addvol* ë””ë ‰í„°ë¦¬ì— ìƒì„±ëœë‹¤. ë³¼ë¥¨ëª…ì— ê´€í•œ **-n** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않았으므로, ë³¼ë¥¨ëª…ì€ *testdb_x001* 으로 만들어진다. :: cubrid addvoldb -F /dbtemp/addvol/ testdb .. option:: --comment=COMMENT ì¶”ê°€ëœ ë³¼ë¥¨ì— ê´€í•œ ì •ë³´ ê²€ìƒ‰ì„ ì‰½ê²Œ 하기 위하여 ë³¼ë¥¨ì— ê´€í•œ ì •ë³´ë¥¼ 주ì„으로 처리하는 옵션ì´ë‹¤. ì´ë•Œ 주ì„ì˜ ë‚´ìš©ì€ ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” **DBA** ì˜ ì´ë¦„ì´ë‚˜ 볼륨 ì¶”ê°€ì˜ ëª©ì ì„ í¬í•¨í•˜ëŠ” ê²ƒì´ ë°”ëžŒì§í•˜ë©°, í°ë”°ì˜´í‘œë¡œ ê°ì‹¸ì•¼ 한다. 다ìŒì€ ë³¼ë¥¨ì„ ì¶”ê°€í•˜ê³ ì¶”ê°€ ì •ë³´ë¡œ 주ì„ì„ ì‚½ìž…í•˜ëŠ” 구문ì´ë‹¤. :: cubrid addvoldb --comment "Data volume added by cheolsoo kim because permanent data space was almost depleted." testdb .. option:: -p, --purpose=PURPOSE 추가ë ë³¼ë¥¨ì˜ ìš©ë„를 ì§€ì •í•œë‹¤. ì§€ì •ëœ ìš©ë„는 ì¶”ê°€ëœ ë³¼ë¥¨ì˜ íŒŒì¼ íƒ€ìž…ë“¤ì„ ì •ì˜í•œë‹¤. * **PERMANENT DATA** : í…Œì´ë¸” í–‰, ì¸ë±ìФ ë° ì‹œìŠ¤í…œ íŒŒì¼ ì €ìž¥. * **TEMPORARY DATA** : ì§ˆì˜ ì²˜ë¦¬ ë° ì •ë ¬ì„ ìˆ˜í–‰í• ë•Œ 중간 결과와 최종 ê²°ê³¼ ì €ìž¥. ì´ ì˜µì…˜ì´ ì§€ì •ë˜ì§€ ì•Šì€ ê²½ìš° 해당 ë³¼ë¥¨ì˜ ìš©ë„는 기본ì 으로 **PERMANENT DATA** 로 간주한다. 다ìŒì€ 임시 ë°ì´í„° ìš©ë„로 ë³¼ë¥¨ì„ ì¶”ê°€í•˜ëŠ” 구문ì´ë‹¤. :: cubrid addvoldb -p temp testdb .. note:: ì˜ˆì „ ë²„ì „ì—는 PERMANENT DATA ë³¼ë¥¨ì´ generic, data ë° index로 구분ë˜ì—ˆìœ¼ë‚˜, ì´ë²ˆ ë²„ì „ë¶€í„°ëŠ” 볼륨 êµ¬ì¡°ì— ëŒ€í•œ 설계가 변경ë˜ì–´ ë³¼ë¥¨ì˜ êµ¬ë¶„ì´ ì—†ì–´ì¡Œë‹¤. 그러나 ê¸°ì¡´ì— ì‚¬ìš©í•˜ë˜ ìŠ¤í¬ë¦½íŠ¸ì˜ ì˜¤ë¥˜ë¥¼ 방지하기 위해 ì˜ˆì „ì— ì‚¬ìš©í•˜ì˜€ë˜ keyword(generic, data, index)는 ìœ ì§€í•˜ì˜€ê³ , 기존 ë²„ì „ì˜ temp는 ë™ì¼í•œ ìš©ë„로 ìœ ì§€í•˜ì˜€ë‹¤. ê° ìš©ë„ì— ëŒ€í•œ ìžì„¸í•œ ë‚´ìš©ì€ :ref:`database-volume-structure` 를 ì°¸ê³ í•œë‹¤. .. option:: -S, --SA-mode 서버 프로세스를 구ë™í•˜ì§€ ì•Šê³ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ê·¼í•˜ëŠ” ë…립 모드(standalone)로 작업하기 위해 ì§€ì •ë˜ë©°, ì¸ìˆ˜ëŠ” 없다. **-S** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면, ì‹œìŠ¤í…œì€ í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid addvoldb -S --db-volume-size=256M testdb .. option:: -C, --CS-mode 서버 프로세스와 í´ë¼ì´ì–¸íЏ 프로세스를 ê°ê° 구ë™í•˜ì—¬ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ê·¼í•˜ëŠ” í´ë¼ì´ì–¸íЏ/서버 모드로 작업하기 위한 옵션ì´ë©°, ì¸ìˆ˜ëŠ” 없다. **-C** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않ë”ë¼ë„ ì‹œìŠ¤í…œì€ ê¸°ë³¸ì 으로 í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid addvoldb -C --db-volume-size=256M testdb .. option:: --max-writesize-in-sec=SIZE ë°ì´í„°ë² ì´ìŠ¤ì— ë³¼ë¥¨ì„ ì¶”ê°€í• ë•Œ ë””ìŠ¤í¬ ì¶œë ¥ëŸ‰ì„ ì œí•œí•˜ì—¬ 시스템 ìš´ì˜ ì˜í–¥ì„ 줄ì´ë„ë¡ í•˜ëŠ” 옵션ì´ë‹¤. ì´ ì˜µì…˜ì„ í†µí•´ 1초당 쓸 수 있는 최대 í¬ê¸°ë¥¼ ì§€ì •í• ìˆ˜ 있으며, 단위는 K(kilobytes), M(megabytes)ì´ë‹¤. ìµœì†Œê°’ì€ 160Kì´ë©°, ì´ë³´ë‹¤ 작게 ê°’ì„ ì„¤ì •í•˜ë©´ 160K로 ë°”ë€ë‹¤. 단, í´ë¼ì´ì–¸íЏ/서버 모드(-C)ì—서만 사용 가능하다. 다ìŒì€ 2GB ë³¼ë¥¨ì„ ì´ˆë‹¹ 1MB씩 ì“°ë„ë¡ í•˜ëŠ” 예ì´ë‹¤. 소요 ì‹œê°„ì€ 35ë¶„( = (2048MB / 1MB) / 60ì´ˆ ) ì •ë„ê°€ 예ìƒëœë‹¤. :: cubrid addvoldb -C --db-volume-size=2G --max-writesize-in-sec=1M testdb .. _deleting-database: .. _deletedb: deletedb -------- **cubrid deletedb** 는 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì‚ì œí•˜ëŠ” ìœ í‹¸ë¦¬í‹°ì´ë‹¤. ë°ì´í„°ë² ì´ìŠ¤ê°€ 몇 ê°œì˜ ìƒí˜¸ ì˜ì¡´ì 파ì¼ë“¤ë¡œ 만들어지기 때문ì—, ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì œê±°í•˜ê¸° 위해 ìš´ì˜ì²´ì œ íŒŒì¼ ì‚ì œ ëª…ë ¹ì´ ì•„ë‹Œ **cubrid deletedb** ìœ í‹¸ë¦¬í‹°ë¥¼ 사용해야 한다. **cubrid deletedb** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìФ 위치 파ì¼( **databases.txt** )ì— ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ ì •ë³´ë„ ê°™ì´ ì‚ì œí•œë‹¤. **cubrid deletedb** ìœ í‹¸ë¦¬í‹°ëŠ” 오프ë¼ì¸ ìƒì—서 즉, ì•„ë¬´ë„ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 사용하지 않는 ìƒíƒœì—서 ë…립 모드로 사용해야 한다. :: cubrid deletedb [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **deletedb**: ë°ì´í„°ë² ì´ìФ ë° ê´€ë ¨ ë°ì´í„°, 로그, 백업 파ì¼ì„ ì „ë¶€ ì‚ì œí•˜ê¸° 위한 ëª…ë ¹ìœ¼ë¡œ, ë°ì´í„°ë² ì´ìФ 서버가 êµ¬ë™ ì •ì§€ ìƒíƒœì¸ 경우ì—ë§Œ ì •ìƒì 으로 수행ëœë‹¤. * *database_name*: ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ ì•Šê³ , ì‚ì œí•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì„ ì§€ì •í•œë‹¤ 다ìŒì€ **cubrid deletedb** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: deletedb :: -o, --output-file=FILE ì¶œë ¥ 메시지가 ì €ìž¥ë íŒŒì¼ -d, --delete-backup 백업 ë³¼ë¥¨ì„ ì§€ì›€ .. option:: -o, --output-file=FILE ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì‚ì œí•˜ë©´ì„œ ì¶œë ¥ë˜ëŠ” 메시지를 ì¸ìžë¡œ ì§€ì •í•œ 파ì¼ì— 기ë¡í•˜ëŠ” ëª…ë ¹ì´ë‹¤. **cubrid deletedb** ìœ í‹¸ë¦¬í‹°ë¥¼ 사용하면 ë°ì´í„°ë² ì´ìФ 위치 ì •ë³´ 파ì¼( **databases.txt** )ì— ê¸°ë¡ëœ ë°ì´í„°ë² ì´ìФ ì •ë³´ê°€ 함께 ì‚ì œëœë‹¤. :: cubrid deletedb -o deleted_db.out testdb 만약, 존재하지 않는 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì‚ì œí•˜ëŠ” ëª…ë ¹ì„ ìž…ë ¥í•˜ë©´ 다ìŒê³¼ ê°™ì€ ë©”ì‹œì§€ê°€ ì¶œë ¥ëœë‹¤. :: cubrid deletedb testdb Database "testdb" is unknown, or the file "databases.txt" cannot be accessed. .. option:: -d, --delete-backup ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì‚ì œí•˜ë©´ì„œ 백업 볼륨 ë° ë°±ì—… ì •ë³´ 파ì¼ë„ 함께 ì‚ì œí• ìˆ˜ 있다. -**d** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 백업 볼륨 ë° ë°±ì—… ì •ë³´ 파ì¼ì€ ì‚ì œë˜ì§€ 않는다. :: cubrid deletedb -d testdb .. _renamedb: renamedb -------- **cubrid renamedb** ìœ í‹¸ë¦¬í‹°ëŠ” 존재하는 ë°ì´í„°ë² ì´ìŠ¤ì˜ í˜„ìž¬ ì´ë¦„ì„ ë³€ê²½í•œë‹¤. ì •ë³´ 볼륨, 로그 볼륨, ì œì–´ 파ì¼ë“¤ì´ 새로운 ì´ë¦„ê³¼ ì¼ì¹˜ë˜ê²Œ ì´ë¦„ì„ ë³€ê²½í•œë‹¤. ì´ì— 비해 **cubrid alterdbhost** ìœ í‹¸ë¦¬í‹°ëŠ” ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì˜ í˜¸ìŠ¤íŠ¸ ì´ë¦„ì„ ì„¤ì •í•˜ê±°ë‚˜ 변경한다. 즉, **databases.txt** ì— ìžˆëŠ” 호스트 ì´ë¦„ì„ ë³€ê²½í•œë‹¤. :: cubrid renamedb [options] src_database_name dest_database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **renamedb**: 현재 존재하는 ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì„ ìƒˆë¡œìš´ ì´ë¦„으로 변경하기 위한 ëª…ë ¹ìœ¼ë¡œ, ë°ì´í„°ë² ì´ìŠ¤ê°€ êµ¬ë™ ì •ì§€ ìƒíƒœì¸ 경우ì—ë§Œ ì •ìƒì 으로 수행ëœë‹¤. ê´€ë ¨ëœ ì •ë³´ 볼륨, 로그 볼륨, ì œì–´ 파ì¼ë„ 함께 새로 ì§€ì •ëœ ì´ë¦„으로 변경ëœë‹¤. * *src_database_name*: ì´ë¦„ì„ ë°”ê¾¸ê³ ìž í•˜ëŠ” 현재 존재하는 ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì´ë©°, ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ 않는다. * *dest_database_name*: 새로 ë¶€ì—¬í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì´ë©°, 현재 존재하는 ë°ì´í„°ë² ì´ìФ ì´ë¦„ê³¼ 중복ë˜ì–´ì„œëŠ” 안 ëœë‹¤. ì´ ì—시, ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ 않는다. 다ìŒì€ **cubrid renamedb** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: renamedb :: -E, --extended-volume-path=PATH 확장 ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 -i, --control-file=FILE 여러 ê°œì˜ ë³¼ë¥¨ë“¤ì´ ê°ê° ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í•˜ëŠ” ì œì–´ íŒŒì¼ -d, --delete-backup 백업 ë³¼ë¥¨ì„ ì§€ì›€ .. option:: -E, --extented-volume-path=PATH 확장 ë³¼ë¥¨ì˜ ì´ë¦„ì„ ë³€ê²½í•œ 후 새 ë””ë ‰í„°ë¦¬ 경로로 ì´ë™í•˜ëŠ” ëª…ë ¹ìœ¼ë¡œì„œ, **-E** ì˜µì…˜ì„ ì´ìš©í•˜ì—¬ ë³€ê²½ëœ ì´ë¦„ì„ ê°€ì§€ëŠ” 확장 ë³¼ë¥¨ì„ ì´ë™ì‹œí‚¬ 새로운 ë””ë ‰í„°ë¦¬ 경로(예: /dbtemp/newaddvols/)를 ì§€ì •í•œë‹¤. **-E** ì˜µì…˜ì„ ì£¼ì§€ 않으면, 확장 ë³¼ë¥¨ì€ ê¸°ì¡´ 위치ì—서 ì´ë¦„ë§Œ 변경ëœë‹¤. ì´ë•Œ, 기존 ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì˜ ë””ìŠ¤í¬ íŒŒí‹°ì…˜ ì™¸ë¶€ì— ìžˆëŠ” ë””ë ‰í„°ë¦¬ 경로 ë˜ëŠ” ìœ íš¨í•˜ì§€ ì•Šì€ ë””ë ‰í„°ë¦¬ 경로가 ì§€ì •ë˜ëŠ” 경우 ë°ì´í„°ë² ì´ìФ ì´ë¦„ 변경 ìž‘ì—…ì€ ìˆ˜í–‰ë˜ì§€ 않으며, **-i** 옵션과 병행ë 수 없다. :: cubrid renamedb -E /dbtemp/newaddvols/ testdb testdb_1 .. option:: -i, --control-file FILE ê° ë³¼ë¥¨ ë˜ëŠ” 파ì¼ì— 대하여 ì¼ê´„ì 으로 ë°ì´í„°ë² ì´ìФ ì´ë¦„ì„ ë³€ê²½í•˜ë©´ì„œ ë””ë ‰í„°ë¦¬ 경로를 ìƒì´í•˜ê²Œ ì§€ì •í•˜ê¸° 위해 ë””ë ‰í„°ë¦¬ ì •ë³´ê°€ ì €ìž¥ëœ ìž…ë ¥ 파ì¼ì„ ì§€ì •í•˜ëŠ” ëª…ë ¹ìœ¼ë¡œì„œ, **-i** ì˜µì…˜ì„ ì´ìš©í•œë‹¤. ì´ë•Œ, **-i** ì˜µì…˜ì€ **-E** 옵션과 병행ë 수 없다. :: cubrid renamedb -i rename_path testdb testdb_1 다ìŒì€ 개별ì ë³¼ë¥¨ë“¤ì˜ ì´ë¦„ê³¼ 현재 ë””ë ‰í„°ë¦¬ 경로, ê·¸ë¦¬ê³ ë³€ê²½ëœ ì´ë¦„ì˜ ë³¼ë¥¨ë“¤ì´ ì €ìž¥ë ë””ë ‰í„°ë¦¬ 경로를 í¬í•¨í•˜ëŠ” 파ì¼ì˜ 구문 ë° ì˜ˆì‹œì´ë‹¤. :: volid source_fullvolname dest_fullvolname * *volid*: ê° ë³¼ë¥¨ì„ ì‹ë³„하기 위한 ì •ìˆ˜ì´ë©°, ë°ì´í„°ë² ì´ìФ 볼륨 ì •ë³´ ì œì–´ 파ì¼(database_name_vinf)를 통해 확ì¸í• 수 있다. * *source_fullvolname*: ê° ë³¼ë¥¨ì— ëŒ€í•œ 현재 ë””ë ‰í„°ë¦¬ 경로ì´ë‹¤. * *dest_fullvolname*: ì´ë¦„ì´ ë³€ê²½ëœ ìƒˆë¡œìš´ ë³¼ë¥¨ì´ ì´ë™ë 목ì ì§€ ë””ë ‰í„°ë¦¬ 경로ì´ë‹¤. 만약, 목ì ì§€ ë””ë ‰í„°ë¦¬ê°€ ìœ íš¨í•˜ì§€ ì•Šì€ ê²½ìš° ë°ì´í„°ë² ì´ìФ ì´ë¦„ 변경 ìž‘ì—…ì€ ìˆ˜í–‰ë˜ì§€ 않는다. :: -5 /home1/user/testdb_vinf /home1/CUBRID/databases/testdb_1_vinf -4 /home1/user/testdb_lginf /home1/CUBRID/databases/testdb_1_lginf -3 /home1/user/testdb_bkvinf /home1/CUBRID/databases/testdb_1_bkvinf -2 /home1/user/testdb_lgat /home1/CUBRID/databases/testdb_1_lgat 0 /home1/user/testdb /home1/CUBRID/databases/testdb_1 1 /home1/user/backup/testdb_x001 /home1/CUBRID/databases/backup/testdb_1_x001 .. option:: -d, --delete-backup ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì„ ë³€ê²½í•˜ë©´ì„œ ë°ì´í„°ë² ì´ìŠ¤ì™€ 와 ë™ì¼ ìœ„ì¹˜ì— ìžˆëŠ” ëª¨ë“ ë°±ì—… 볼륨 ë° ë°±ì—… ì •ë³´ 파ì¼ì„ 함께 ê°•ì œ ì‚ì œí•˜ëŠ” ëª…ë ¹ì´ë‹¤. ì¼ë‹¨, ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ ë³€ê²½ë˜ë©´ ì´ë³´ë‹¤ ì•žì„ ì´ë¦„ì˜ ë°±ì—… 파ì¼ì€ ì´ìš©í• 수 없으므로 주ì˜í•´ì•¼ 한다. 만약, **-d** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 백업 볼륨 ë° ë°±ì—… ì •ë³´ 파ì¼ì€ ì‚ì œë˜ì§€ 않는다. :: cubrid renamedb -d testdb testdb_1 .. _alterdbhost: alterdbhost ----------- **cubrid alterdbhost** ìœ í‹¸ë¦¬í‹°ëŠ” ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì˜ í˜¸ìŠ¤íŠ¸ ì´ë¦„ì„ ì„¤ì •í•˜ê±°ë‚˜ 변경한다. 즉, **databases.txt** ì— ìžˆëŠ” 호스트 ì´ë¦„ì„ ë³€ê²½í•œë‹¤. cubrid alterdbhost [<option>] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **alterdbhost**: 현 ë°ì´í„°ë² ì´ìŠ¤ì˜ í˜¸ìŠ¤íŠ¸ ì´ë¦„ì„ ìƒˆë¡œìš´ ì´ë¦„으로 변경하기 위한 ëª…ë ¹ì´ë‹¤. **cubrid alterdbhost** ì—서 사용하는 ì˜µì…˜ì€ ë‹¤ìŒê³¼ 같다. .. program:: alterdbhost .. option:: -h, --host=HOST ë’¤ì— ë³€ê²½í• í˜¸ìŠ¤íŠ¸ ì´ë¦„ì„ ì§€ì •í•˜ë©°, ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 호스트 ì´ë¦„으로 localhost를 ì§€ì •í•œë‹¤. .. _copydb: copydb ------ **cubrid copydb** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 한 위치ì—서 다른 곳으로 복사 ë˜ëŠ” ì´ë™í•˜ë©°, ì¸ìžë¡œ ì›ë³¸ ë°ì´í„°ë² ì´ìФ ì´ë¦„ê³¼ 새로운 ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ ì§€ì •ë˜ì–´ì•¼ 한다. ì´ë•Œ, 새로운 ë°ì´í„°ë² ì´ìФ ì´ë¦„ì€ ì›ë³¸ ë°ì´í„°ë² ì´ìФ ì´ë¦„ê³¼ 다른 ì´ë¦„으로 ì§€ì •ë˜ì–´ì•¼ í•˜ê³ , 새로운 ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ 위치 ì •ë³´ëŠ” **databases.txt** ì— ë“±ë¡ëœë‹¤. **cubrid copydb** ìœ í‹¸ë¦¬í‹°ëŠ” ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ê°€ ì •ì§€ ìƒíƒœì¼ 때(오프ë¼ì¸)ì—ë§Œ ì‹¤í–‰í• ìˆ˜ 있다. :: cubrid copydb [<options>] src-database-name dest-database-name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **copydb**: ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 새로운 위치로 ì´ë™ ë˜ëŠ” 복사하는 ëª…ë ¹ì´ë‹¤. * *src-database-name*: 복사 ë˜ëŠ” ì´ë™í•˜ê³ ìž í•˜ëŠ” ì›ë³¸ ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. * *dest-database-name*: 새로운 ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. [options]를 ìƒëžµí•˜ë©´ ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 현재 작업 ë””ë ‰í„°ë¦¬ì— ë³µì‚¬í•œë‹¤. **cubrid copydb** ì— ëŒ€í•œ [options]는 다ìŒê³¼ 같다. .. program:: copydb :: --server-name=HOST 서버 호스트 ì´ë¦„ -F, --file-path=PATH ë°ì´í„°ë² ì´ìŠ¤ê°€ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 -L, --log-path=PATH 로그 ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 -E, --extended-volume-path=PATH 확장 ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로 -i, --control-file=FILE 여러 ê°œì˜ ë³¼ë¥¨ë“¤ì´ ê°ê° ì €ìž¥ë˜ëŠ” ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í•˜ëŠ” ì œì–´ íŒŒì¼ -r, --replace ê°™ì€ ì´ë¦„ì˜ ë°ì´í„°ë² ì´ìŠ¤ê°€ 존재하면 ë®ì–´ì“°ê¸° -d, --delete-source 복사 후 ì›ë³¸ ë°ì´í„°ë² ì´ìФ ì‚ì œ --copy-lob-path=PATH ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ì˜ LOB íŒŒì¼ ë””ë ‰í„°ë¦¬ 경로를 복사 -B, --lob-base-path=PATH LOB 파ì¼ì´ ì €ìž¥ë˜ëŠ” ë””ë ‰í† ë¦¬ 경로 .. option:: --server-name=HOST 새로운 ë°ì´í„°ë² ì´ìŠ¤ì˜ ì„œë²„ 호스트 ì´ë¦„ì„ ëª…ì‹œí•˜ë©°, ì´ëŠ” **databases.txt** ì˜ **db-host** í•ëª©ì— ë“±ë¡ëœë‹¤. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´, 로컬 호스트가 등ë¡ëœë‹¤. :: cubrid copydb --server-name=cub_server1 demodb new_demodb .. option:: -F, --file-path=PATH 새로운 ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” íŠ¹ì • ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í• ìˆ˜ 있다. ì ˆëŒ€ 경로로 ì§€ì •í•´ì•¼ 하며, 존재하지 않는 ë””ë ‰í„°ë¦¬ë¥¼ ì§€ì •í•˜ë©´ ì—러를 ì¶œë ¥í•œë‹¤. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 현재 작업 ë””ë ‰í„°ë¦¬ì— ìƒˆë¡œìš´ ë°ì´í„°ë² ì´ìŠ¤ì˜ ë³¼ë¥¨ì´ ìƒì„±ëœë‹¤. ì´ ê²½ë¡œëŠ” **databases.txt** ì˜ **vol-path** í•ëª©ì— ë“±ë¡ëœë‹¤. :: cubrid copydb -F /home/usr/CUBRID/databases demodb new_demodb .. option:: -L, --log-path=PATH 새로운 ë°ì´í„°ë² ì´ìФ 로그 ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” íŠ¹ì • ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í• ìˆ˜ 있다. ì ˆëŒ€ 경로로 ì§€ì •í•´ì•¼ 하며, 존재하지 않는 ë””ë ‰í„°ë¦¬ë¥¼ ì§€ì •í•˜ë©´ ì—러를 ì¶œë ¥í•œë‹¤. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 새로운 ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” ê²½ë¡œì— ë¡œê·¸ ë³¼ë¥¨ë„ í•¨ê»˜ ìƒì„±ëœë‹¤. ì´ ê²½ë¡œëŠ” **databases.txt** ì˜ **log-path** í•ëª©ì— ë“±ë¡ëœë‹¤. :: cubrid copydb -L /home/usr/CUBRID/databases/logs demodb new_demodb .. option:: -E, --extended-volume-path=PATH 새로운 ë°ì´í„°ë² ì´ìŠ¤ì˜ í™•ìž¥ ì •ë³´ ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” íŠ¹ì • ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í• ìˆ˜ 있다. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 새로운 ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì´ ì €ìž¥ë˜ëŠ” 경로 ë˜ëŠ” ì œì–´ 파ì¼ì— 등ë¡ëœ ê²½ë¡œì— í™•ìž¥ ì •ë³´ ë³¼ë¥¨ì´ ì €ìž¥ëœë‹¤. **-i** 옵션과 병행ë 수 없다. :: cubrid copydb -E home/usr/CUBRID/databases/extvols demodb new_demodb .. option:: -i, --control-file=FILE ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ 복수 ê°œì˜ ë³¼ë¥¨ë“¤ì„ ê°ê° 다른 ë””ë ‰í„°ë¦¬ì— ë³µì‚¬ ë˜ëŠ” ì´ë™í•˜ê¸° 위해서, ì›ë³¸ ë³¼ë¥¨ì˜ ê²½ë¡œ ë° ìƒˆë¡œìš´ ë””ë ‰í„°ë¦¬ 경로 ì •ë³´ë¥¼ í¬í•¨í•˜ëŠ” ìž…ë ¥ 파ì¼ì„ ì§€ì •í• ìˆ˜ 있다. ì´ë•Œ, **-i** ì˜µì…˜ì€ **-E** 옵션과 병행ë 수 없다. 아래 ì˜ˆì œì—서는 copy_pathë¼ëŠ” ìž…ë ¥ 파ì¼ì„ 예로 사용했다. :: cubrid copydb -i copy_path demodb new_demodb 다ìŒì€ ê° ë³¼ë¥¨ë“¤ì˜ ì´ë¦„ê³¼ 현재 ë””ë ‰í„°ë¦¬ 경로, ê·¸ë¦¬ê³ ìƒˆë¡œ ë³µì‚¬í• ë””ë ‰í„°ë¦¬ ë° ìƒˆë¡œìš´ 볼륨 ì´ë¦„ì„ í¬í•¨í•˜ëŠ” ìž…ë ¥ 파ì¼ì˜ 예시ì´ë‹¤. :: # volid source_fullvolname dest_fullvolname 0 /usr/databases/demodb /drive1/usr/databases/new_demodb 1 /usr/databases/demodb_data1 /drive1/usr/databases/new_demodb_data1 2 /usr/databases/ext/demodb_ext1 /drive2//usr/databases/new_demodb_ext1 3 /usr/databases/ext/demodb_ext2 /drive2/usr/databases/new_demodb_ext2 * *volid* : ê° ë³¼ë¥¨ì„ ì‹ë³„하기 위한 ì •ìˆ˜ì´ë©°, ë°ì´í„°ë² ì´ìФ 볼륨 ì •ë³´ ì œì–´ 파ì¼( **database_name_vinf** )를 통해 확ì¸í• 수 있다. * *source_fullvolname* : ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ì˜ ê° ë³¼ë¥¨ì´ ì¡´ìž¬í•˜ëŠ” 현재 ë””ë ‰í„°ë¦¬ 경로ì´ë‹¤. * *dest_fullvolname* : 새로운 ë°ì´í„°ë² ì´ìŠ¤ì˜ ê° ë³¼ë¥¨ì´ ì €ìž¥ë ë””ë ‰í„°ë¦¬ 경로ì´ë©°, ìœ íš¨í•œ ë””ë ‰í„°ë¦¬ë¥¼ ì§€ì •í•´ì•¼ 한다. .. option:: -r, --replace 새로운 ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ ê¸°ì¡´ ë°ì´í„°ë² ì´ìФ ì´ë¦„ê³¼ 중복ë˜ë”ë¼ë„ ì—러를 ì¶œë ¥í•˜ì§€ ì•Šê³ ë®ì–´ì“´ë‹¤. :: cubrid copydb -r -F /home/usr/CUBRID/databases demodb new_demodb .. option:: -d, --delete-source 새로운 ë°ì´í„°ë² ì´ìŠ¤ë¡œ 복사한 후, ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ì œê±°í•œë‹¤. ì´ ì˜µì…˜ì´ ì£¼ì–´ì§€ë©´ ë°ì´í„°ë² ì´ìФ 복사 후 **cubrid deletedb** 를 수행하는 것과 ë™ì¼í•˜ë‹¤. 단, ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ì— **LOB** ë°ì´í„°ë¥¼ í¬í•¨í•˜ëŠ” 경우, ì›ë³¸ ë°ì´í„°ë² ì´ìФ 대한 **LOB** íŒŒì¼ ë””ë ‰í„°ë¦¬ 경로가 새로운 ë°ì´í„°ë² ì´ìŠ¤ë¡œ 복사ë˜ì–´ **databases.txt** ì˜ **lob-base-path** í•ëª©ì— ë“±ë¡ëœë‹¤. :: cubrid copydb -d -F /home/usr/CUBRID/databases demodb new_demodb .. option:: --copy-lob-path=PATH ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ **LOB** íŒŒì¼ ë””ë ‰í„°ë¦¬ 경로를 새로운 ë°ì´í„°ë² ì´ìŠ¤ì˜ **LOB** íŒŒì¼ ê²½ë¡œë¡œ ë³µì‚¬í•˜ê³ , ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 복사한다. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´, **LOB** íŒŒì¼ ë””ë ‰í„°ë¦¬ 경로를 복사하지 않으므로, **databases.txt** 파ì¼ì˜ **lob-base-path** í•ëª©ì„ ë³„ë„로 ìˆ˜ì •í•´ì•¼ 한다. ì´ ì˜µì…˜ì€ **-B** 옵션과 ë³‘í–‰í• ìˆ˜ 없다. :: cubrid copydb --copy-lob-path=/home/usr/CUBRID/databases/new_demodb/lob demodb new_demodb .. option:: -B, --lob-base-path=PATH **-B** ì˜µì…˜ì„ ì‚¬ìš©í•˜ì—¬ íŠ¹ì • ë””ë ‰í„°ë¦¬ë¥¼ 새로운 ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ **LOB** íŒŒì¼ ë””ë ‰í„°ë¦¬ 경로를 ì§€ì •í•œë‹¤. ì›ë³¸ ë°ì´í„°ë² ì´ìŠ¤ì— ìžˆë˜ **LOB** 파ì¼ë“¤ì€ 사용ìžê°€ ì§ì ‘ ì´ ë””ë ‰í„°ë¦¬ì— ë³µì‚¬í•´ì•¼ 한다. ì´ ì˜µì…˜ì€ **\-\-copy-lob-path** 옵션과 ë³‘í–‰í• ìˆ˜ 없다. :: cubrid copydb -B /home/usr/CUBRID/databases/new_lob demodb new_demodb .. _installdb: installdb --------- **cubrid installdb** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìФ 위치 ì •ë³´ë¥¼ ì €ìž¥í•˜ëŠ” **databases.txt** ì— ìƒˆë¡œ ì„¤ì¹˜ëœ ë°ì´í„°ë² ì´ìФ ì •ë³´ë¥¼ 등ë¡í•œë‹¤. ì´ ìœ í‹¸ë¦¬í‹°ì˜ ì‹¤í–‰ì€ ë“±ë¡ ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ ë™ìž‘ì— ì˜í–¥ì„ ë¼ì¹˜ì§€ 않는다. :: cubrid installdb [<options>] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **installdb**: ì´ë™ ë˜ëŠ” ë³µì‚¬ëœ ë°ì´í„°ë² ì´ìŠ¤ì˜ ì •ë³´ë¥¼ **databases.txt** ì— ë“±ë¡í•˜ëŠ” ëª…ë ¹ì´ë‹¤. * *database_name*: **databases.txt** ì— ë“±ë¡í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì´ë‹¤. [options]를 ìƒëžµí•˜ëŠ” 경우, 해당 ë°ì´í„°ë² ì´ìŠ¤ê°€ 존재하는 ë””ë ‰í„°ë¦¬ì—서 ëª…ë ¹ì„ ìˆ˜í–‰í•´ì•¼ 한다. **cubrid installdb** ì— ëŒ€í•œ [options]는 다ìŒê³¼ 같다. .. program:: installdb :: --server-name=HOST 서버 호스트 ì´ë¦„ -F, --file-path=PATH ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì„ ìœ„í•œ ë””ë ‰í„°ë¦¬ 경로 -L, --log-path=PATH 로그 ë³¼ë¥¨ì„ ìœ„í•œ ë””ë ‰í„°ë¦¬ 경로 .. option:: --server-name=HOST ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ ì„œë²„ 호스트 ì •ë³´ë¥¼ ì§€ì •ëœ í˜¸ìŠ¤íŠ¸ 명으로 **databases.txt** ì— ë“±ë¡í•œë‹¤. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´, í˜„ìž¬ì˜ í˜¸ìŠ¤íŠ¸ ì •ë³´ê°€ 등ë¡ëœë‹¤. :: cubrid installdb --server-name=cub_server1 testdb .. option:: --file-path=PATH ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì„ ìœ„í•œ ë””ë ‰í† ë¦¬ 경로를 **databases.txt** ì— ë“±ë¡í•œë‹¤. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´ 현재 작업 ë””ë ‰í† ë¦¬ 경로가 등ë¡ëœë‹¤. :: cubrid installdb -F /home/cubrid/CUBRID/databases/testdb testdb .. option:: -L, --log-path=PATH ëŒ€ìƒ ë°ì´í„°ë² ì´ìФ 로그 볼륨 ë””ë ‰í„°ë¦¬ì˜ ì ˆëŒ€ 경로를 **databases.txt** ì— ë“±ë¡í•œë‹¤. ì´ ì˜µì…˜ì„ ìƒëžµí•˜ë©´ ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì˜ ë””ë ‰í„°ë¦¬ 경로가 등ë¡ëœë‹¤. :: cubrid installdb -L /home/cubrid/CUBRID/databases/logs/testdb testdb .. include:: backup.inc .. include:: migration.inc .. _spacedb: spacedb ------- **cubrid spacedb** ìœ í‹¸ë¦¬í‹°ëŠ” 사용 ì¤‘ì¸ ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì˜ ê³µê°„ì„ í™•ì¸í•˜ê¸° 위해서 사용ëœë‹¤. ì´ ë„구ì—서는 ì˜µì…˜ì— ë”°ë¼ ë°ì´í„°ë² ì´ìФ 공간 ì‚¬ìš©ì— ëŒ€í•œ 간략한 집계 ì •ë³´ë‚˜ 사용 ì¤‘ì¸ ëª¨ë“ ë³¼ë¥¨ ë° íŒŒì¼ì— 대한 ìžì„¸í•œ ì„¤ëª…ì„ ë³¼ 수 있다. **cubrid spacedb** ìœ í‹¸ë¦¬í‹°ì—서 반환ë˜ëŠ” ì •ë³´ëŠ” ë³¼ë¥¨ì˜ ID, ê° ë³¼ë¥¨ì˜ ì´ë¦„, ìš©ë„, ì €ìž¥ ê³µê°„ì˜ ì´ í•©ê³„ ë° ë‚¨ì€ ì €ìž¥ 공간 등ì´ë‹¤. :: cubrid spacedb [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **spacedb**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•œ ê³µê°„ì„ í™•ì¸í•˜ëŠ” ëª…ë ¹ìœ¼ë¡œ ë°ì´í„°ë² ì´ìФ 서버가 êµ¬ë™ ì •ì§€ ìƒíƒœì¸ 경우ì—ë§Œ ì •ìƒì 으로 수행ëœë‹¤. * *database_name*: ê³µê°„ì„ í™•ì¸í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì´ë©°, ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ 않는다. 다ìŒì€ **cubrid spacedb** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: spacedb :: -o, --output-file=FILE 파ì¼ë¡œ ì¶œë ¥ì„ ìž¬ì§€ì • -S, --SA-mode ë…립 모드 실행 -C, --CS-mode í´ë¼ì´ì–¸íЏ 서버 모드 실행 --size-unit={PAGE|M|G|T|H} ì¶œë ¥ 단위(page, mega, giga, tera, human readable) ì„¤ì • -s, --summarize 볼륨 ìš©ë„별 합계 ê²°ê³¼ ì¶œë ¥ -p, --purpose ê° ë³¼ë¥¨ì˜ ëª©ì 별 (ë°ì´í„°/ì¸ë±ìФ/임시) ì‚¬ìš©ëŸ‰ì„ ì¶œë ¥ .. option:: -o FILE ë°ì´í„°ë² ì´ìŠ¤ì˜ ê³µê°„ ì •ë³´ì— ëŒ€í•œ 결과를 ì§€ì •í•œ 파ì¼ì— ì €ìž¥í•œë‹¤. :: cubrid spacedb -o db_output testdb .. option:: -S, --SA-mode 서버 프로세스를 구ë™í•˜ì§€ ì•Šê³ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ê·¼í•˜ëŠ” ë…립 모드(standalone)로 작업하기 위해 ì§€ì •ë˜ë©°, ì¸ìˆ˜ëŠ” 없다. **-S** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면, ì‹œìŠ¤í…œì€ í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid spacedb --SA-mode testdb .. option:: -C, --CS-mode **-C** ì˜µì…˜ì€ ì„œë²„ 프로세스와 í´ë¼ì´ì–¸íЏ 프로세스를 ê°ê° 구ë™í•˜ì—¬ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ê·¼í•˜ëŠ” í´ë¼ì´ì–¸íЏ/서버 모드로 작업하기 위한 옵션ì´ë©°, ì¸ìˆ˜ëŠ” 없다. **-C** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않ë”ë¼ë„ ì‹œìŠ¤í…œì€ ê¸°ë³¸ì 으로 í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid spacedb --CS-mode testdb .. option:: --size-unit={PAGE|M|G|T|H} ë°ì´í„°ë² ì´ìФ ë³¼ë¥¨ì˜ ê³µê°„ì„ ì§€ì •í•œ í¬ê¸° 단위로 ì¶œë ¥í•˜ê¸° 위한 옵션ì´ë©°, ê¸°ë³¸ê°’ì€ **H** ì´ë‹¤. ê°’ì„ H로 ì„¤ì •í• ê²½ìš° 단위는 다ìŒê³¼ ê°™ì´ ìžë™ìœ¼ë¡œ ì§€ì •ëœë‹¤. DB size < 1024 MB 보다 ìž‘ì„ ê²½ìš° M는 MB 으로 , DB size < 1024 GB 보다 ìž‘ì„ ê²½ìš° G는 GB 로 ì§€ì •ëœë‹¤. :: $ cubrid spacedb --size-unit=H testdb Space description for database 'testdb' with pagesize 16.0K. (log pagesize: 16.0K) type purpose volume_count used_size free_size total_size PERMANENT PERMANENT DATA 2 61.0 M 963.0 M 1.0 G PERMANENT TEMPORARY DATA 1 12.0 M 500.0 M 512.0 M TEMPORARY TEMPORARY DATA 1 40.0 M 88.0 M 128.0 M - - 4 113.0 M 1.5 G 1.6 G Space description for all volumes: volid type purpose used_size free_size total_size volume_name 0 PERMANENT PERMANENT DATA 60.0 M 452.0 M 512.0 M /home1/cubrid/testdb 1 PERMANENT PERMANENT DATA 1.0 M 511.0 M 512.0 M /home1/cubrid/testdb_x001 2 PERMANENT TEMPORARY DATA 12.0 M 500.0 M 512.0 M /home1/cubrid/testdb_x002 32766 TEMPORARY TEMPORARY DATA 40.0 M 88.0 M 128.0 M /home1/cubrid/testdb_t32766 LOB space description file:/home1/cubrid/lob .. option:: -s, --summarize 볼륨 타입 ë° ìš©ë„별로 볼륨 수, ì‚¬ìš©ëœ í¬ê¸°, ë‚¨ì€ ì €ìž¥ 공간 í¬ê¸° ë° ì´ ì €ìž¥ 공간 í¬ê¸°ë¥¼ 집계한다. 볼륨ì—는 ì˜êµ¬ì ë°ì´í„°ë¥¼ 사용하는 ì˜êµ¬ì 볼륨, ì¼ì‹œì ë°ì´í„°ë¥¼ 사용하는 ì˜êµ¬ì 볼륨과 ì¼ì‹œì ë°ì´í„°ë¥¼ 사용하는 ì¼ì‹œì 볼륨, ì´ ì„¸ 가지 종류가 있으며 ì˜êµ¬ì ë°ì´í„°ë¥¼ 사용하는 ì¼ì‹œì ë³¼ë¥¨ì€ ì—†ë‹¤. 마지막 í–‰ì€ ëª¨ë“ ë³¼ë¥¨ íƒ€ìž…ì˜ ì´ ê³µê°„ ê°’ì„ ì¶œë ¥í•œë‹¤. :: $ cubrid spacedb -s testdb Space description for database 'testdb' with pagesize 16.0K. (log pagesize: 16.0K) type purpose volume_count used_size free_size total_size PERMANENT PERMANENT DATA 2 61.0 M 963.0 M 1.0 G PERMANENT TEMPORARY DATA 1 12.0 M 500.0 M 512.0 M TEMPORARY TEMPORARY DATA 1 40.0 M 88.0 M 128.0 M - - 4 113.0 M 1.5 G 1.6 G .. option:: -p, --purpose ì €ìž¥ëœ ë°ì´í„°ì˜ ìš©ë„ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. ì´ ì •ë³´ì—는 íŒŒì¼ ìˆ˜, ì‚¬ìš©ëœ í¬ê¸°, íŒŒì¼ í…Œì´ë¸” í¬ê¸°, ì˜ˆì•½ëœ ì„¹í„° í¬ê¸° ë° ì´ í¬ê¸°ê°€ í¬í•¨ëœë‹¤. :: Space description for database 'testdb' with pagesize 16.0K. (log pagesize: 16.0K) Detailed space description for files: data_type file_count used_size file_table_size reserved_size total_size INDEX 17 0.3 M 0.3 M 16.5 M 17.0 M HEAP 28 7.6 M 0.4 M 26.0 M 34.0 M SYSTEM 8 0.4 M 0.1 M 7.5 M 8.0 M TEMP 10 0.0 M 0.2 M 49.8 M 50.0 M - 63 8.2 M 1.0 M 99.8 M 109.0 M .. _compactdb: compactdb --------- **cubrid compactdb** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìФ 볼륨 ì¤‘ì— ì‚¬ìš©ë˜ì§€ 않는 ê³µê°„ì„ í™•ë³´í•˜ê¸° 위해서 사용ëœë‹¤. ë°ì´í„°ë² ì´ìФ 서버가 ì •ì§€ëœ ê²½ìš°(offline)ì—는 ë…립 모드(stand-alone mode)로, ë°ì´í„°ë² ì´ìŠ¤ê°€ êµ¬ë™ ì¤‘ì¸ ê²½ìš°(online)ì—는 í´ë¼ì´ì–¸íЏ 서버 모드(client-server mode)로 공간 ì •ë¦¬ ìž‘ì—…ì„ ìˆ˜í–‰í• ìˆ˜ 있다. .. note:: **cubrid compactdb** ìœ í‹¸ë¦¬í‹°ëŠ” ì‚ì œëœ ê°ì²´ë“¤ì˜ OID와 í´ëž˜ìФ ë³€ê²½ì— ì˜í•´ ì ìœ ë˜ê³ 있는 ê³µê°„ì„ í™•ë³´í•œë‹¤. ê°ì²´ë¥¼ ì‚ì œí•˜ë©´ ì‚ì œëœ ê°ì²´ë¥¼ 참조하는 다른 ê°ì²´ê°€ ìžˆì„ ìˆ˜ 있기 ë•Œë¬¸ì— ì‚ì œëœ ê°ì²´ì— 대한 OID는 바로 사용 가능한 빈 ê³µê°„ì´ ë 수 없다. ë”°ë¼ì„œ OID ìž¬ì‚¬ìš©ì„ ìœ„í•´ í…Œì´ë¸” ìƒì„± 시ì—는 아래 예와 ê°™ì´ REUSE_OID ì˜µì…˜ì„ ì‚¬ìš©í• ê²ƒì„ ê¶Œìž¥í•œë‹¤. .. code-block:: sql CREATE TABLE tbl REUSE_OID ( id INT PRIMARY KEY, b VARCHAR ); 단, REUSE_OID ì˜µì…˜ì„ ì‚¬ìš©í•œ í…Œì´ë¸”ì€ ë‹¤ë¥¸ í…Œì´ë¸”ì´ ì°¸ì¡°í• ìˆ˜ 없다. 즉, 다른 í…Œì´ë¸”ì˜ íƒ€ìž…ìœ¼ë¡œ 사용ë 수 없다. .. code-block:: sql CREATE TABLE reuse_tbl (a INT PRIMARY KEY) REUSE_OID; CREATE TABLE tbl_1 ( a reuse_tbl); :: ERROR: The class 'reuse_tbl' is marked as REUSE_OID and is non-referable. Non-referable classes can't be the domain of an attribute and their instances' OIDs cannot be returned. REUSE_OIDì— ëŒ€í•œ ìžì„¸í•œ ì„¤ëª…ì€ :ref:`reuse-oid` 를 ì°¸ê³ í•œë‹¤. **cubrid compactdb** ìœ í‹¸ë¦¬í‹°ë¥¼ 수행하면 ì‚ì œëœ ê°ì²´ì— 대한 참조를 **NULL** 로 표시하는ë°, ì´ë ‡ê²Œ **NULL** 로 í‘œì‹œëœ ê³µê°„ì€ OIDê°€ ìž¬ì‚¬ìš©í• ìˆ˜ 있는 ê³µê°„ìž„ì„ ì˜ë¯¸í•œë‹¤. :: cubrid compactdb [options] database_name [schema_name.class_name [{, schema_name.class_name}]] * **cubrid**: í브리드 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **compactdb**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ ì‚ì œëœ ë°ì´í„°ì— í• ë‹¹ë˜ì—ˆë˜ OIDê°€ 재사용ë 수 있ë„ë¡ ê³µê°„ì„ ì •ë¦¬í•˜ëŠ” ëª…ë ¹ìž…ë‹ˆë‹¤. * *database_name*: ê³µê°„ì„ ì •ë¦¬í• ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì´ë©°, ë°ì´í„°ë² ì´ìŠ¤ê°€ ìƒì„±ë ë””ë ‰í„°ë¦¬ ê²½ë¡œëª…ì„ í¬í•¨í•˜ì§€ 않는다. * *class_name_list*: ê³µê°„ì„ ì •ë¦¬í• í…Œì´ë¸” ì´ë¦„ 리스트를 ë°ì´í„°ë² ì´ìФ ì´ë¦„ ë’¤ì— ì§ì ‘ ëª…ì‹œí• ìˆ˜ 있으며, **-i** 옵션과 함께 ì‚¬ìš©í• ìˆ˜ 없다. í…Œì´ë¸” ì´ë¦„ì—는 스키마 ì´ë¦„ì´ ì ‘ë‘사로 붙어야 한다. í´ë¼ì´ì–¸íЏ/서버 모드ì—서 사용한 경우 catalog, delete files ê·¸ë¦¬ê³ tracker와 ê°™ì€ ê°ì²´ì— 대한 ì •ë¦¬ ìž‘ì—…ì„ ìˆ˜í–‰í•˜ì§€ 않는다. í´ë¼ì´ì–¸íЏ/서버 모드ì—서만 **-I**, **-c**, **-d**, **-p** ì˜µì…˜ì„ ì‚¬ìš©í• ìˆ˜ 있다. 다ìŒì€ **cubrid compactdb**\ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: compactdb :: -v, --verbose ë§Žì€ ìƒíƒœ ì •ë³´ ì¶œë ¥ -S, --SA-mode ë…립 모드 실행 -C, --CS-mode í´ë¼ì´ì–¸íЏ 서버 모드 실행 -i, --input-class-file=FILE í…Œì´ë¸” ì´ë¦„ì„ í¬í•¨í•˜ëŠ” FILE ì´ë¦„ -p, --pages-commited-once=NUMBER 한 ë²ˆì— ì»¤ë°‹í• ìˆ˜ 있는 최대 페ì´ì§€ 개수 -d, --delete-old-repr 카탈로그ì—서 과거 í…Œì´ë¸” í‘œí˜„ì„ ì‚ì œ -I, --Instance-lock-timeout ì¸ìŠ¤í„´ìŠ¤ ìž ê¸ˆì— ëŒ€í•œ 타임아웃 -c, --class-lock-timeout í´ëž˜ìФ ìž ê¸ˆì— ëŒ€í•œ 타임아웃 .. option:: -v, --verbose ì–´ëŠ í´ëž˜ìŠ¤ê°€ 현재 ì •ë¦¬ë˜ê³ 있는지, 얼마나 ë§Žì€ ì¸ìŠ¤í„´ìŠ¤ê°€ ê·¸ í´ëž˜ìŠ¤ë¥¼ 위하여 처리ë˜ì—ˆëŠ”ì§€ë¥¼ 알리는 메시지를 í™”ë©´ì— ì¶œë ¥í• ìˆ˜ 있다. :: cubrid compactdb -v testdb .. option:: -S, --SA-mode ë°ì´í„°ë² ì´ìФ 서버가 êµ¬ë™ ì¤‘ë‹¨ëœ ìƒíƒœì—서 ë…립 모드(standalone)로 공간 ì •ë¦¬ ìž‘ì—…ì„ ìˆ˜í–‰í•˜ê¸° 위해 ì§€ì •ë˜ë©°, ì¸ìˆ˜ëŠ” 없다. **-S** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면, ì‹œìŠ¤í…œì€ í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid compactdb --SA-mode testdb .. option:: -C, --CS-mode **-C** ì˜µì…˜ì€ ë°ì´í„°ë² ì´ìФ 서버가 êµ¬ë™ ì¤‘ì¸ ìƒíƒœì—서 í´ë¼ì´ì–¸íЏ/서버 모드로 공간 ì •ë¦¬ ìž‘ì—…ì„ ìˆ˜í–‰í•˜ê¸° 위해 ì§€ì •ë˜ë©°, ì¸ìˆ˜ëŠ” 없다. **-C** ì˜µì…˜ì´ ìƒëžµë˜ë”ë¼ë„ ì‹œìŠ¤í…œì€ ê¸°ë³¸ì 으로 í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. .. option:: -i, --input-class-file=FILE ëŒ€ìƒ í…Œì´ë¸” ì´ë¦„ì„ í¬í•¨í•˜ëŠ” ìž…ë ¥ íŒŒì¼ ì´ë¦„ì„ ì§€ì •í• ìˆ˜ 있다. ë¼ì¸ 당 í•˜ë‚˜ì˜ í…Œì´ë¸” ì´ë¦„ì„ ëª…ì‹œí•˜ë©°, ìœ íš¨í•˜ì§€ ì•Šì€ í…Œì´ë¸” ì´ë¦„ì€ ë¬´ì‹œëœë‹¤. í…Œì´ë¸” ì´ë¦„ì—는 스키마 ì´ë¦„ì´ ì ‘ë‘사로 붙어야 한다. ì´ ì˜µì…˜ì„ ì§€ì •í•˜ëŠ” 경우, ë°ì´í„°ë² ì´ìФ ì´ë¦„ ë’¤ì— ëŒ€ìƒ í…Œì´ë¸” ì´ë¦„ 리스트를 ì§ì ‘ ëª…ì‹œí• ìˆ˜ 없으므로 주ì˜í•œë‹¤. í´ë¼ì´ì–¸íЏ/서버 모드ì—서 사용한 경우 catalog, delete files ê·¸ë¦¬ê³ tracker와 ê°™ì€ ê°ì²´ì— 대한 ì •ë¦¬ ìž‘ì—…ì„ ìˆ˜í–‰í•˜ì§€ 않는다. 다ìŒì€ í´ë¼ì´ì–¸íЏ/서버 모드ì—서만 ì‚¬ìš©í• ìˆ˜ 있는 옵션ì´ë‹¤. .. option:: -p, --pages-commited-once=NUMBER 한 ë²ˆì— ì»¤ë°‹í• ìˆ˜ 있는 최대 페ì´ì§€ 수를 ì§€ì •í•œë‹¤. ê¸°ë³¸ê°’ì€ **10** ì´ë©°, 최소 ê°’ì€ 1, 최대 ê°’ì€ 10ì´ë‹¤. 옵션 ê°’ì´ ìž‘ìœ¼ë©´ í´ëž˜ìФ/ì¸ìŠ¤í„´ìŠ¤ì— ëŒ€í•œ ìž ê¸ˆ ë¹„ìš©ì´ ìž‘ìœ¼ë¯€ë¡œ ë™ì‹œì„±ì€ í–¥ìƒë 수 있으나 작업 ì†ë„는 ì €í•˜ë 수 ìžˆê³ , 옵션 ê°’ì´ í¬ë©´ ë™ì‹œì„±ì€ ì €í•˜ë˜ë‚˜ 작업 ì†ë„는 í–¥ìƒë 수 있다. :: cubrid compactdb --CS-mode -p 10 testdb public.tbl1, public.tbl2, public.tbl5 .. option:: -d, --delete-old-repr 카탈로그ì—서 과거 í…Œì´ë¸” 표현(스키마 구조)ì„ ì‚ì œí• ìˆ˜ 있다. **ALTER** ë¬¸ì— ì˜í•´ ì¹¼ëŸ¼ì´ ì¶”ê°€ë˜ê±°ë‚˜ ì‚ì œë˜ëŠ” 경우 ê¸°ì¡´ì˜ ë ˆì½”ë“œì— ëŒ€í•´ ê³¼ê±°ì˜ ìŠ¤í‚¤ë§ˆë¥¼ ì°¸ì¡°í•˜ê³ ìžˆëŠ” ìƒíƒœë¡œ ë‘ë©´, 스키마를 ì—…ë°ì´íŠ¸í•˜ëŠ” ë¹„ìš©ì„ ë“¤ì´ì§€ 않기 ë•Œë¬¸ì— í‰ì†Œì—는 ê³¼ê±°ì˜ í…Œì´ë¸” í‘œí˜„ì„ ìœ ì§€í•˜ëŠ” ê²ƒì´ ì¢‹ë‹¤. .. option:: -I, --Instance-lock-timeout=NUMBER ì¸ìŠ¤í„´ìŠ¤ ìž ê¸ˆ 타임아웃 ê°’ì„ ì§€ì •í• ìˆ˜ 있다. ê¸°ë³¸ê°’ì€ **2** (ì´ˆ)ì´ë©°, 최소 ê°’ì€ 1, 최대 ê°’ì€ 10ì´ë‹¤. ì„¤ì •ëœ ì‹œê°„ë™ì•ˆ ìž ê¸ˆ ì¸ìŠ¤í„´ìŠ¤ë¥¼ 대기하므로, 옵션 ê°’ì´ ìž‘ì„ìˆ˜ë¡ ìž‘ì—… ì†ë„는 í–¥ìƒë 수 있으나 처리 가능한 ì¸ìŠ¤í„´ìŠ¤ 개수가 ì 어진다. 반면, 옵션 ê°’ì´ í´ìˆ˜ë¡ 작업 ì†ë„는 ì €í•˜ë˜ë‚˜ ë” ë§Žì€ ì¸ìŠ¤í„´ìŠ¤ì— ëŒ€í•´ ìž‘ì—…ì„ ìˆ˜í–‰í• ìˆ˜ 있다. .. option:: -c, --class-lock-timeout=NUMBER í´ëž˜ìФ ìž ê¸ˆ 타임아웃 ê°’ì„ ì§€ì •í• ìˆ˜ 있다. ê¸°ë³¸ê°’ì€ **10** (ì´ˆ)ì´ë©°, ìµœì†Œê°’ì€ 1, 최대 ê°’ì€ 10ì´ë‹¤. ì„¤ì •ëœ ì‹œê°„ë™ì•ˆ ìž ê¸ˆ í…Œì´ë¸”ì„ ëŒ€ê¸°í•˜ë¯€ë¡œ, 옵션 ê°’ì´ ìž‘ì„ìˆ˜ë¡ ìž‘ì—… ì†ë„는 í–¥ìƒë 수 있으나 처리 가능한 í…Œì´ë¸” 개수가 ì 어진다. 반면, 옵션 ê°’ì´ í´ìˆ˜ë¡ 작업 ì†ë„는 ì €í•˜ë˜ë‚˜ ë” ë§Žì€ í…Œì´ë¸”ì— ëŒ€í•´ ìž‘ì—…ì„ ìˆ˜í–‰í• ìˆ˜ 있다. .. _optimizedb: optimizedb ---------- CUBRIDì˜ ì§ˆì˜ ìµœì 화기가 사용하는 í…Œì´ë¸”ì— ìžˆëŠ” ê°ì²´ë“¤ì˜ 수, ì ‘ê·¼í•˜ëŠ” 페ì´ì§€ë“¤ì˜ 수, ì†ì„± ê°’ë“¤ì˜ ë¶„ì‚° ê°™ì€ í†µê³„ ì •ë³´ë¥¼ ê°±ì‹ í•œë‹¤. :: cubrid optimizedb [<option>] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **optimizedb**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ 비용 기반 ì§ˆì˜ ìµœì í™”ì— ì‚¬ìš©ë˜ëŠ” 통계 ì •ë³´ë¥¼ ì—…ë°ì´íŠ¸í•œë‹¤. ì˜µì…˜ì„ ì§€ì •í•˜ëŠ” 경우, ì§€ì •í•œ í´ëž˜ìŠ¤ì— ëŒ€í•´ì„œë§Œ ì—…ë°ì´íŠ¸í•œë‹¤. * *database_name*: 비용기반 ì§ˆì˜ ìµœì 화용 통계 ìžë£Œë¥¼ ì—…ë°ì´íŠ¸í•˜ë ¤ëŠ” ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. 다ìŒì€ *cubrid optimizedb*\ì— ëŒ€í•œ <option>ì´ë‹¤. .. program:: optimizedb .. option:: -n, --class-name **-n** ì˜µì…˜ì„ ì´ìš©í•˜ì—¬ 해당 í´ëž˜ìŠ¤ì˜ ì§ˆì˜ í†µê³„ ì •ë³´ë¥¼ ì—…ë°ì´íŠ¸í•˜ëŠ” ëª…ë ¹ì´ë‹¤. í…Œì´ë¸” ì´ë¦„ì—는 스키마 ì´ë¦„ì´ ì ‘ë‘사로 붙어야 한다. :: cubrid optimizedb -n public.event_table testdb 다ìŒì€ ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ ì „ì²´ í´ëž˜ìŠ¤ì˜ ì§ˆì˜ í†µê³„ ì •ë³´ë¥¼ ì—…ë°ì´íŠ¸í•˜ëŠ” ëª…ë ¹ì´ë‹¤. :: cubrid optimizedb testdb .. _plandump: plandump -------- **cubrid plandump** ìœ í‹¸ë¦¬í‹°ë¥¼ 사용해서 ì„œë²„ì— ì €ìž¥(ìºì‹œ)ë˜ì–´ 있는 ì§ˆì˜ ìˆ˜í–‰ 계íšë“¤ì˜ ì •ë³´ë¥¼ ì¶œë ¥í• ìˆ˜ 있다. :: cubrid plandump [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **plandump**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ 현재 ìºì‹œì— ì €ìž¥ë˜ì–´ 있는 ì§ˆì˜ ìˆ˜í–‰ 계íšì„ ì¶œë ¥í•˜ëŠ” ëª…ë ¹ì´ë‹¤. * *database_name*: ë°ì´í„°ë² ì´ìФ 서버 ìºì‹œë¡œë¶€í„° ì§ˆì˜ ìˆ˜í–‰ 계íšì„ í™•ì¸ ë˜ëŠ” ì œê±°í•˜ê³ ìž í•˜ëŠ” ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤ 옵션 ì—†ì´ ì‚¬ìš©í•˜ë©´ ìºì‹œì— ì €ìž¥ëœ ì§ˆì˜ ìˆ˜í–‰ 계íšì„ 확ì¸í•œë‹¤. :: cubrid plandump testdb 다ìŒì€ **cubrid plandump** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: plandump :: -d, --drop 서버 ì¼€ì‹œì— ìžˆëŠ” ëª¨ë“ í”Œëžœ ì‚ì œ -o, --output-file=FILE ì¶œë ¥ 메시지를 ìž¬ì§€ì •í• íŒŒì¼ .. option:: -d, --drop ìºì‹œì— ì €ìž¥ëœ ì§ˆì˜ ìˆ˜í–‰ 계íšì„ ì œê±°í•œë‹¤. :: cubrid plandump -d testdb .. option:: -o, --output-file=FILE ìºì‹œì— ì €ìž¥ëœ ì§ˆì˜ ìˆ˜í–‰ ê³„íš ê²°ê³¼ 파ì¼ì— ì €ìž¥ :: cubrid plandump -o output.txt testdb .. _statdump: statdump -------- **cubrid statdump** ìœ í‹¸ë¦¬í‹°ë¥¼ ì´ìš©í•´ CUBRID ë°ì´í„°ë² ì´ìФ 서버가 실행한 통계 ì •ë³´ë¥¼ 확ì¸í• 수 있으며, 통계 ì •ë³´ í•ëª©ì€ í¬ê²Œ File I/O ê´€ë ¨, 페ì´ì§€ ë²„í¼ ê´€ë ¨, 로그 ê´€ë ¨, 트랜ìžì…˜ ê´€ë ¨, ë™ì‹œì„± ê´€ë ¨, ì¸ë±ìФ ê´€ë ¨, 쿼리 수행 ê´€ë ¨, ë„¤íŠ¸ì›Œí¬ ìš”ì² ê´€ë ¨ìœ¼ë¡œ 구분ëœë‹¤. CSQLì˜ í•´ë‹¹ ì—°ê²°ì— ëŒ€í•´ì„œë§Œ 통계 ì •ë³´ë¥¼ 확ì¸í•˜ë ¤ë©´ CSQLì˜ ì„¸ì…˜ ëª…ë ¹ì–´ë¥¼ ì´ìš©í• 수 있으며 :ref:`CSQL 실행 통계 ì •ë³´ ì¶œë ¥ <csql-execution-statistics>` 를 ì°¸ê³ í•œë‹¤. :: cubrid statdump [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **statdump**: ë°ì´í„°ë² ì´ìФ 서버 수행 시 통계 ì •ë³´ë¥¼ ì¶œë ¥í•˜ëŠ” ëª…ë ¹ì–´ì´ë‹¤. * *database_name*: 통계 ìžë£Œë¥¼ 확ì¸í•˜ê³ ìž í•˜ëŠ” ëŒ€ìƒ ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. 다ìŒì€ **cubrid statdump** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: statdump :: -i, --interval=S 매 S 초마다 통계를 ì¶œë ¥ -o, --output-file=FILE ì¶œë ¥ 메시지를 ìž¬ì§€ì •í• íŒŒì¼ -c, --cumulative 누ì ê°’ì„ ì¶œë ¥ -s, --substr=STRING ì§€ì •í•œ 문ìžì—´ì´ í¬í•¨ëœ í•목만 ì¶œë ¥ .. option:: -i, --interval=SECOND ì§€ì •í•œ ì´ˆ 단위로 주기ì 으로 ì¶œë ¥í•œë‹¤. **-i** ì˜µì…˜ì´ ì£¼ì–´ì§ˆ 때만 ì •ë³´ê°€ ê°±ì‹ ëœë‹¤. 다ìŒì€ 1초마다 누ì ëœ ì •ë³´ ê°’ì„ ì¶œë ¥í•œë‹¤. :: cubrid statdump -i 1 -c demodb 다ìŒì€ 1ì´ˆ 마다 0으로 ë¦¬ì…‹í•˜ê³ 1ì´ˆ ë™ì•ˆ 누ì ëœ ê°’ì„ ì¶œë ¥í•œë‹¤. :: cubrid statdump -i 1 demodb 다ìŒì€ -i 옵션으로 가장 ë§ˆì§€ë§‰ì— ì‹¤í–‰í•œ ê°’ì„ ì¶œë ¥í•œë‹¤. :: cubrid statdump demodb 다ìŒì€ 위와 ê°™ì€ ê²°ê³¼ë¥¼ ì¶œë ¥í•œë‹¤. **-c** ì˜µì…˜ì€ **-i** 옵션과 ê°™ì´ ì“°ì´ì§€ 않으면 ì˜µì…˜ì„ ì„¤ì •í•˜ì§€ ì•Šì€ ê²ƒê³¼ ë™ì¼í•˜ë‹¤. :: cubrid statdump -c demodb 다ìŒì€ 5초마다 결과를 ì¶œë ¥í•œë‹¤. :: $ cubrid statdump -i 5 -c testdb Mon November 11 23:44:36 KST 2019 *** SERVER EXECUTION STATISTICS *** Num_file_creates = 0 Num_file_removes = 0 Num_file_ioreads = 0 Num_file_iowrites = 3 Num_file_iosynches = 3 The timer values for file_iosync_all are: Num_file_iosync_all = 0 Total_time_file_iosync_all = 0 Max_time_file_iosync_all = 0 Avg_time_file_iosync_all = 0 Num_file_page_allocs = 0 Num_file_page_deallocs = 0 Num_data_page_fetches = 0 Num_data_page_dirties = 0 Num_data_page_ioreads = 0 Num_data_page_iowrites = 0 Num_data_page_flushed = 0 Num_data_page_private_quota = 11327 Num_data_page_private_count = 0 Num_data_page_fixed = 1 Num_data_page_dirty = 0 Num_data_page_lru1 = 18 Num_data_page_lru2 = 10 Num_data_page_lru3 = 0 Num_data_page_victim_candidate = 0 Num_log_page_fetches = 0 Num_log_page_ioreads = 0 Num_log_page_iowrites = 6 Num_log_append_records = 9 Num_log_archives = 0 Num_log_start_checkpoints = 0 Num_log_end_checkpoints = 0 Num_log_wals = 0 Num_log_page_iowrites_for_replacement = 0 Num_log_page_replacements = 0 Num_page_locks_acquired = 0 Num_object_locks_acquired = 0 Num_page_locks_converted = 0 Num_object_locks_converted = 0 Num_page_locks_re-requested = 0 Num_object_locks_re-requested = 0 Num_page_locks_waits = 0 Num_object_locks_waits = 0 Num_object_locks_time_waited_usec = 0 Num_tran_commits = 0 Num_tran_rollbacks = 0 Num_tran_savepoints = 0 Num_tran_start_topops = 0 Num_tran_end_topops = 0 Num_tran_interrupts = 0 Num_btree_inserts = 0 Num_btree_deletes = 0 Num_btree_updates = 0 Num_btree_covered = 0 Num_btree_noncovered = 0 Num_btree_resumes = 0 Num_btree_multirange_optimization = 0 Num_btree_splits = 0 Num_btree_merges = 0 Num_btree_get_stats = 0 Num_btree_online_inserts = 0 Num_btree_online_inserts_same_page_hold = 0 Num_btree_online_inserts_reject_no_more_keys = 0 Num_btree_online_inserts_reject_max_key_len = 0 Num_btree_online_inserts_reject_no_space = 0 Num_btree_online_release_latch = 0 Num_btree_online_inserts_reject_key_not_in_range1 = 0 Num_btree_online_inserts_reject_key_not_in_range2 = 0 Num_btree_online_inserts_reject_key_not_in_range3 = 0 Num_btree_online_inserts_reject_key_not_in_range4 = 0 Num_btree_online_inserts_reject_key_false_failed_range1 = 0 Num_btree_online_inserts_reject_key_false_failed_range2 = 0 The timer values for btree_online are: Num_btree_online = 0 Total_time_btree_online = 0 Max_time_btree_online = 0 Avg_time_btree_online = 0 The timer values for btree_online_insert_task are: Num_btree_online_insert_task = 0 Total_time_btree_online_insert_task = 0 Max_time_btree_online_insert_task = 0 Avg_time_btree_online_insert_task = 0 The timer values for btree_online_prepare_task are: Num_btree_online_prepare_task = 0 Total_time_btree_online_prepare_task = 0 Max_time_btree_online_prepare_task = 0 Avg_time_btree_online_prepare_task = 0 The timer values for btree_online_insert_same_leaf are: Num_btree_online_insert_same_leaf = 0 Total_time_btree_online_insert_same_leaf = 0 Max_time_btree_online_insert_same_leaf = 0 Avg_time_btree_online_insert_same_leaf = 0 Num_query_selects = 0 Num_query_inserts = 0 Num_query_deletes = 0 Num_query_updates = 0 Num_query_sscans = 0 Num_query_iscans = 0 Num_query_lscans = 0 Num_query_setscans = 0 Num_query_methscans = 0 Num_query_nljoins = 0 Num_query_mjoins = 0 Num_query_objfetches = 0 Num_query_holdable_cursors = 0 Num_sort_io_pages = 0 Num_sort_data_pages = 0 Num_network_requests = 3 Num_adaptive_flush_pages = 0 Num_adaptive_flush_log_pages = 0 Num_adaptive_flush_max_pages = 14464 Num_prior_lsa_list_size = 0 Num_prior_lsa_list_maxed = 0 Num_prior_lsa_list_removed = 3 Time_ha_replication_delay = 0 Num_plan_cache_add = 0 Num_plan_cache_lookup = 0 Num_plan_cache_hit = 0 Num_plan_cache_miss = 0 Num_plan_cache_full = 0 Num_plan_cache_delete = 0 Num_plan_cache_invalid_xasl_id = 0 Num_plan_cache_entries = 0 Num_vacuum_log_pages_vacuumed = 0 Num_vacuum_log_pages_to_vacuum = 0 Num_vacuum_prefetch_requests_log_pages = 0 Num_vacuum_prefetch_hits_log_pages = 0 Num_heap_home_inserts = 0 Num_heap_big_inserts = 0 Num_heap_assign_inserts = 0 Num_heap_home_deletes = 0 Num_heap_home_mvcc_deletes = 0 Num_heap_home_to_rel_deletes = 0 Num_heap_home_to_big_deletes = 0 Num_heap_rel_deletes = 0 Num_heap_rel_mvcc_deletes = 0 Num_heap_rel_to_home_deletes = 0 Num_heap_rel_to_big_deletes = 0 Num_heap_rel_to_rel_deletes = 0 Num_heap_big_deletes = 0 Num_heap_big_mvcc_deletes = 0 Num_heap_home_updates = 0 Num_heap_home_to_rel_updates = 0 Num_heap_home_to_big_updates = 0 Num_heap_rel_updates = 0 Num_heap_rel_to_home_updates = 0 Num_heap_rel_to_rel_updates = 0 Num_heap_rel_to_big_updates = 0 Num_heap_big_updates = 0 Num_heap_home_vacuums = 0 Num_heap_big_vacuums = 0 Num_heap_rel_vacuums = 0 Num_heap_insid_vacuums = 0 Num_heap_remove_vacuums = 0 The timer values for heap_insert_prepare are: Num_heap_insert_prepare = 0 Total_time_heap_insert_prepare = 0 Max_time_heap_insert_prepare = 0 Avg_time_heap_insert_prepare = 0 The timer values for heap_insert_execute are: Num_heap_insert_execute = 0 Total_time_heap_insert_execute = 0 Max_time_heap_insert_execute = 0 Avg_time_heap_insert_execute = 0 The timer values for heap_insert_log are: Num_heap_insert_log = 0 Total_time_heap_insert_log = 0 Max_time_heap_insert_log = 0 Avg_time_heap_insert_log = 0 The timer values for heap_delete_prepare are: Num_heap_delete_prepare = 0 Total_time_heap_delete_prepare = 0 Max_time_heap_delete_prepare = 0 Avg_time_heap_delete_prepare = 0 The timer values for heap_delete_execute are: Num_heap_delete_execute = 0 Total_time_heap_delete_execute = 0 Max_time_heap_delete_execute = 0 Avg_time_heap_delete_execute = 0 The timer values for heap_delete_log are: Num_heap_delete_log = 0 Total_time_heap_delete_log = 0 Max_time_heap_delete_log = 0 Avg_time_heap_delete_log = 0 The timer values for heap_update_prepare are: Num_heap_update_prepare = 0 Total_time_heap_update_prepare = 0 Max_time_heap_update_prepare = 0 Avg_time_heap_update_prepare = 0 The timer values for heap_update_execute are: Num_heap_update_execute = 0 Total_time_heap_update_execute = 0 Max_time_heap_update_execute = 0 Avg_time_heap_update_execute = 0 The timer values for heap_update_log are: Num_heap_update_log = 0 Total_time_heap_update_log = 0 Max_time_heap_update_log = 0 Avg_time_heap_update_log = 0 The timer values for heap_vacuum_prepare are: Num_heap_vacuum_prepare = 0 Total_time_heap_vacuum_prepare = 0 Max_time_heap_vacuum_prepare = 0 Avg_time_heap_vacuum_prepare = 0 The timer values for heap_vacuum_execute are: Num_heap_vacuum_execute = 0 Total_time_heap_vacuum_execute = 0 Max_time_heap_vacuum_execute = 0 Avg_time_heap_vacuum_execute = 0 The timer values for heap_vacuum_log are: Num_heap_vacuum_log = 0 Total_time_heap_vacuum_log = 0 Max_time_heap_vacuum_log = 0 Avg_time_heap_vacuum_log = 0 The timer values for heap_stats_sync_bestspace are: Num_heap_stats_sync_bestspace = 0 Total_time_heap_stats_sync_bestspace = 0 Max_time_heap_stats_sync_bestspace = 0 Avg_time_heap_stats_sync_bestspace = 0 Num_heap_stats_bestspace_entries = 0 Num_heap_stats_bestspace_maxed = 0 The timer values for bestspace_add are: Num_bestspace_add = 0 Total_time_bestspace_add = 0 Max_time_bestspace_add = 0 Avg_time_bestspace_add = 0 The timer values for bestspace_del are: Num_bestspace_del = 0 Total_time_bestspace_del = 0 Max_time_bestspace_del = 0 Avg_time_bestspace_del = 0 The timer values for bestspace_find are: Num_bestspace_find = 0 Total_time_bestspace_find = 0 Max_time_bestspace_find = 0 Avg_time_bestspace_find = 0 The timer values for heap_find_page_bestspace are: Num_heap_find_page_bestspace = 0 Total_time_heap_find_page_bestspace = 0 Max_time_heap_find_page_bestspace = 0 Avg_time_heap_find_page_bestspace = 0 The timer values for heap_find_best_page are: Num_heap_find_best_page = 0 Total_time_heap_find_best_page = 0 Max_time_heap_find_best_page = 0 Avg_time_heap_find_best_page = 0 The timer values for bt_fix_ovf_oids are: Num_bt_fix_ovf_oids = 0 Total_time_bt_fix_ovf_oids = 0 Max_time_bt_fix_ovf_oids = 0 Avg_time_bt_fix_ovf_oids = 0 The timer values for bt_unique_rlocks are: Num_bt_unique_rlocks = 0 Total_time_bt_unique_rlocks = 0 Max_time_bt_unique_rlocks = 0 Avg_time_bt_unique_rlocks = 0 The timer values for bt_unique_wlocks are: Num_bt_unique_wlocks = 0 Total_time_bt_unique_wlocks = 0 Max_time_bt_unique_wlocks = 0 Avg_time_bt_unique_wlocks = 0 The timer values for bt_leaf are: Num_bt_leaf = 0 Total_time_bt_leaf = 0 Max_time_bt_leaf = 0 Avg_time_bt_leaf = 0 The timer values for bt_traverse are: Num_bt_traverse = 0 Total_time_bt_traverse = 0 Max_time_bt_traverse = 0 Avg_time_bt_traverse = 0 The timer values for bt_find_unique are: Num_bt_find_unique = 0 Total_time_bt_find_unique = 0 Max_time_bt_find_unique = 0 Avg_time_bt_find_unique = 0 The timer values for bt_find_unique_traverse are: Num_bt_find_unique_traverse = 0 Total_time_bt_find_unique_traverse = 0 Max_time_bt_find_unique_traverse = 0 Avg_time_bt_find_unique_traverse = 0 The timer values for bt_range_search are: Num_bt_range_search = 0 Total_time_bt_range_search = 0 Max_time_bt_range_search = 0 Avg_time_bt_range_search = 0 The timer values for bt_range_search_traverse are: Num_bt_range_search_traverse = 0 Total_time_bt_range_search_traverse = 0 Max_time_bt_range_search_traverse = 0 Avg_time_bt_range_search_traverse = 0 The timer values for bt_insert are: Num_bt_insert = 0 Total_time_bt_insert = 0 Max_time_bt_insert = 0 Avg_time_bt_insert = 0 The timer values for bt_insert_traverse are: Num_bt_insert_traverse = 0 Total_time_bt_insert_traverse = 0 Max_time_bt_insert_traverse = 0 Avg_time_bt_insert_traverse = 0 The timer values for bt_delete_obj are: Num_bt_delete_obj = 0 Total_time_bt_delete_obj = 0 Max_time_bt_delete_obj = 0 Avg_time_bt_delete_obj = 0 The timer values for bt_delete_obj_traverse are: Num_bt_delete_obj_traverse = 0 Total_time_bt_delete_obj_traverse = 0 Max_time_bt_delete_obj_traverse = 0 Avg_time_bt_delete_obj_traverse = 0 The timer values for bt_mvcc_delete are: Num_bt_mvcc_delete = 0 Total_time_bt_mvcc_delete = 0 Max_time_bt_mvcc_delete = 0 Avg_time_bt_mvcc_delete = 0 The timer values for bt_mvcc_delete_traverse are: Num_bt_mvcc_delete_traverse = 0 Total_time_bt_mvcc_delete_traverse = 0 Max_time_bt_mvcc_delete_traverse = 0 Avg_time_bt_mvcc_delete_traverse = 0 The timer values for bt_mark_delete are: Num_bt_mark_delete = 0 Total_time_bt_mark_delete = 0 Max_time_bt_mark_delete = 0 Avg_time_bt_mark_delete = 0 The timer values for bt_mark_delete_traverse are: Num_bt_mark_delete_traverse = 0 Total_time_bt_mark_delete_traverse = 0 Max_time_bt_mark_delete_traverse = 0 Avg_time_bt_mark_delete_traverse = 0 The timer values for bt_undo_insert are: Num_bt_undo_insert = 0 Total_time_bt_undo_insert = 0 Max_time_bt_undo_insert = 0 Avg_time_bt_undo_insert = 0 The timer values for bt_undo_insert_traverse are: Num_bt_undo_insert_traverse = 0 Total_time_bt_undo_insert_traverse = 0 Max_time_bt_undo_insert_traverse = 0 Avg_time_bt_undo_insert_traverse = 0 The timer values for bt_undo_delete are: Num_bt_undo_delete = 0 Total_time_bt_undo_delete = 0 Max_time_bt_undo_delete = 0 Avg_time_bt_undo_delete = 0 The timer values for bt_undo_delete_traverse are: Num_bt_undo_delete_traverse = 0 Total_time_bt_undo_delete_traverse = 0 Max_time_bt_undo_delete_traverse = 0 Avg_time_bt_undo_delete_traverse = 0 The timer values for bt_undo_mvcc_delete are: Num_bt_undo_mvcc_delete = 0 Total_time_bt_undo_mvcc_delete = 0 Max_time_bt_undo_mvcc_delete = 0 Avg_time_bt_undo_mvcc_delete = 0 The timer values for bt_undo_mvcc_delete_traverse are: Num_bt_undo_mvcc_delete_traverse = 0 Total_time_bt_undo_mvcc_delete_traverse = 0 Max_time_bt_undo_mvcc_delete_traverse = 0 Avg_time_bt_undo_mvcc_delete_traverse = 0 The timer values for bt_vacuum are: Num_bt_vacuum = 0 Total_time_bt_vacuum = 0 Max_time_bt_vacuum = 0 Avg_time_bt_vacuum = 0 The timer values for bt_vacuum_traverse are: Num_bt_vacuum_traverse = 0 Total_time_bt_vacuum_traverse = 0 Max_time_bt_vacuum_traverse = 0 Avg_time_bt_vacuum_traverse = 0 The timer values for bt_vacuum_insid are: Num_bt_vacuum_insid = 0 Total_time_bt_vacuum_insid = 0 Max_time_bt_vacuum_insid = 0 Avg_time_bt_vacuum_insid = 0 The timer values for bt_vacuum_insid_traverse are: Num_bt_vacuum_insid_traverse = 0 Total_time_bt_vacuum_insid_traverse = 0 Max_time_bt_vacuum_insid_traverse = 0 Avg_time_bt_vacuum_insid_traverse = 0 The timer values for vacuum_master are: Num_vacuum_master = 561 Total_time_vacuum_master = 1259 Max_time_vacuum_master = 6 Avg_time_vacuum_master = 2 The timer values for vacuum_job are: Num_vacuum_job = 0 Total_time_vacuum_job = 0 Max_time_vacuum_job = 0 Avg_time_vacuum_job = 0 The timer values for vacuum_worker_process_log are: Num_vacuum_worker_process_log = 0 Total_time_vacuum_worker_process_log = 0 Max_time_vacuum_worker_process_log = 0 Avg_time_vacuum_worker_process_log = 0 The timer values for vacuum_worker_execute are: Num_vacuum_worker_execute = 0 Total_time_vacuum_worker_execute = 0 Max_time_vacuum_worker_execute = 0 Avg_time_vacuum_worker_execute = 0 Time_get_snapshot_acquire_time = 0 Count_get_snapshot_retry = 0 Time_tran_complete_time = 0 The timer values for compute_oldest_visible are: Num_compute_oldest_visible = 561 Total_time_compute_oldest_visible = 569 Max_time_compute_oldest_visible = 4 Avg_time_compute_oldest_visible = 1 Count_get_oldest_mvcc_retry = 0 Data_page_buffer_hit_ratio = 0.00 Log_page_buffer_hit_ratio = 0.00 Vacuum_data_page_buffer_hit_ratio = 0.00 Vacuum_page_efficiency_ratio = 0.00 Vacuum_page_fetch_ratio = 0.00 Data_page_fix_lock_acquire_time_msec = 0.00 Data_page_fix_hold_acquire_time_msec = 0.00 Data_page_fix_acquire_time_msec = 0.00 Data_page_allocate_time_ratio = 0.00 Data_page_total_promote_success = 0.00 Data_page_total_promote_fail = 0.00 Data_page_total_promote_time_msec = 0.00 Num_unfix_void_to_private_top = 0 Num_unfix_void_to_private_mid = 0 Num_unfix_void_to_shared_mid = 0 Num_unfix_lru1_private_to_shared_mid = 0 Num_unfix_lru2_private_to_shared_mid = 0 Num_unfix_lru3_private_to_shared_mid = 0 Num_unfix_lru2_private_keep = 0 Num_unfix_lru2_shared_keep = 0 Num_unfix_lru2_private_to_top = 0 Num_unfix_lru2_shared_to_top = 0 Num_unfix_lru3_private_to_top = 0 Num_unfix_lru3_shared_to_top = 0 Num_unfix_lru1_private_keep = 0 Num_unfix_lru1_shared_keep = 0 Num_unfix_void_to_private_mid_vacuum = 0 Num_unfix_lru1_any_keep_vacuum = 0 Num_unfix_lru2_any_keep_vacuum = 0 Num_unfix_lru3_any_keep_vacuum = 0 Num_unfix_void_aout_found = 0 Num_unfix_void_aout_not_found = 0 Num_unfix_void_aout_found_vacuum = 0 Num_unfix_void_aout_not_found_vacuum = 0 Num_data_page_hash_anchor_waits = 0 Time_data_page_hash_anchor_wait = 0 The timer values for flush_collect are: Num_flush_collect = 0 Total_time_flush_collect = 0 Max_time_flush_collect = 0 Avg_time_flush_collect = 0 The timer values for flush_flush are: Num_flush_flush = 0 Total_time_flush_flush = 0 Max_time_flush_flush = 0 Avg_time_flush_flush = 0 The timer values for flush_sleep are: Num_flush_sleep = 4 Total_time_flush_sleep = 4000307 Max_time_flush_sleep = 1000077 Avg_time_flush_sleep = 1000076 The timer values for flush_collect_per_page are: Num_flush_collect_per_page = 0 Total_time_flush_collect_per_page = 0 Max_time_flush_collect_per_page = 0 Avg_time_flush_collect_per_page = 0 The timer values for flush_flush_per_page are: Num_flush_flush_per_page = 0 Total_time_flush_flush_per_page = 0 Max_time_flush_flush_per_page = 0 Avg_time_flush_flush_per_page = 0 Num_data_page_writes = 0 Num_data_page_dirty_to_post_flush = 0 Num_data_page_skipped_flush = 0 Num_data_page_skipped_flush_need_wal = 0 Num_data_page_skipped_flush_already_flushed = 0 Num_data_page_skipped_flush_fixed_or_hot = 0 The timer values for compensate_flush are: Num_compensate_flush = 0 Total_time_compensate_flush = 0 Max_time_compensate_flush = 0 Avg_time_compensate_flush = 0 The timer values for assign_direct_bcb are: Num_assign_direct_bcb = 0 Total_time_assign_direct_bcb = 0 Max_time_assign_direct_bcb = 0 Avg_time_assign_direct_bcb = 0 The timer values for wake_flush_waiter are: Num_wake_flush_waiter = 0 Total_time_wake_flush_waiter = 0 Max_time_wake_flush_waiter = 0 Avg_time_wake_flush_waiter = 0 The timer values for alloc_bcb are: Num_alloc_bcb = 0 Total_time_alloc_bcb = 0 Max_time_alloc_bcb = 0 Avg_time_alloc_bcb = 0 The timer values for alloc_bcb_search_victim are: Num_alloc_bcb_search_victim = 0 Total_time_alloc_bcb_search_victim = 0 Max_time_alloc_bcb_search_victim = 0 Avg_time_alloc_bcb_search_victim = 0 The timer values for alloc_bcb_cond_wait_high_prio are: Num_alloc_bcb_cond_wait_high_prio = 0 Total_time_alloc_bcb_cond_wait_high_prio = 0 Max_time_alloc_bcb_cond_wait_high_prio = 0 Avg_time_alloc_bcb_cond_wait_high_prio = 0 The timer values for alloc_bcb_cond_wait_low_prio are: Num_alloc_bcb_cond_wait_low_prio = 0 Total_time_alloc_bcb_cond_wait_low_prio = 0 Max_time_alloc_bcb_cond_wait_low_prio = 0 Avg_time_alloc_bcb_cond_wait_low_prio = 0 Num_alloc_bcb_prioritize_vacuum = 0 Num_victim_use_invalid_bcb = 0 The timer values for alloc_bcb_get_victim_search_own_private_list are: Num_alloc_bcb_get_victim_search_own_private_list = 0 Total_time_alloc_bcb_get_victim_search_own_private_list = 0 Max_time_alloc_bcb_get_victim_search_own_private_list = 0 Avg_time_alloc_bcb_get_victim_search_own_private_list = 0 The timer values for alloc_bcb_get_victim_search_others_private_list are: Num_alloc_bcb_get_victim_search_others_private_list = 0 Total_time_alloc_bcb_get_victim_search_others_private_list = 0 Max_time_alloc_bcb_get_victim_search_others_private_list = 0 Avg_time_alloc_bcb_get_victim_search_others_private_list = 0 The timer values for alloc_bcb_get_victim_search_shared_list are: Num_alloc_bcb_get_victim_search_shared_list = 0 Total_time_alloc_bcb_get_victim_search_shared_list = 0 Max_time_alloc_bcb_get_victim_search_shared_list = 0 Avg_time_alloc_bcb_get_victim_search_shared_list = 0 Num_victim_assign_direct_vacuum_void = 0 Num_victim_assign_direct_vacuum_lru = 0 Num_victim_assign_direct_flush = 0 Num_victim_assign_direct_panic = 0 Num_victim_assign_direct_adjust_lru = 0 Num_victim_assign_direct_adjust_lru_to_vacuum = 0 Num_victim_assign_direct_search_for_flush = 0 Num_victim_shared_lru_success = 0 Num_victim_own_private_lru_success = 0 Num_victim_other_private_lru_success = 0 Num_victim_shared_lru_fail = 0 Num_victim_own_private_lru_fail = 0 Num_victim_other_private_lru_fail = 0 Num_victim_all_lru_fail = 0 Num_victim_get_from_lru = 0 Num_victim_get_from_lru_was_empty = 0 Num_victim_get_from_lru_fail = 0 Num_victim_get_from_lru_bad_hint = 0 Num_lfcq_prv_get_total_calls = 0 Num_lfcq_prv_get_empty = 0 Num_lfcq_prv_get_big = 0 Num_lfcq_shr_get_total_calls = 0 Num_lfcq_shr_get_empty = 0 The timer values for Time_DWB_flush_block_time are: Num_Time_DWB_flush_block_time = 0 Total_time_Time_DWB_flush_block_time = 0 Max_time_Time_DWB_flush_block_time = 0 Avg_time_Time_DWB_flush_block_time = 0 The timer values for Time_DWB_flush_block_helper_time are: Num_Time_DWB_flush_block_helper_time = 0 Total_time_Time_DWB_flush_block_helper_time = 0 Max_time_Time_DWB_flush_block_helper_time = 0 Avg_time_Time_DWB_flush_block_helper_time = 0 The timer values for Time_DWB_flush_block_cond_wait_time are: Num_Time_DWB_flush_block_cond_wait_time = 5352 Total_time_Time_DWB_flush_block_cond_wait_time = 5629578 Max_time_Time_DWB_flush_block_cond_wait_time = 1059 Avg_time_Time_DWB_flush_block_cond_wait_time = 1051 The timer values for Time_DWB_flush_block_sort_time are: Num_Time_DWB_flush_block_sort_time = 0 Total_time_Time_DWB_flush_block_sort_time = 0 Max_time_Time_DWB_flush_block_sort_time = 0 Avg_time_Time_DWB_flush_block_sort_time = 0 The timer values for Time_DWB_flush_remove_hash_entries are: Num_Time_DWB_flush_remove_hash_entries = 0 Total_time_Time_DWB_flush_remove_hash_entries = 0 Max_time_Time_DWB_flush_remove_hash_entries = 0 Avg_time_Time_DWB_flush_remove_hash_entries = 0 The timer values for Time_DWB_checksum_time are: Num_Time_DWB_checksum_time = 0 Total_time_Time_DWB_checksum_time = 0 Max_time_Time_DWB_checksum_time = 0 Avg_time_Time_DWB_checksum_time = 0 The timer values for Time_DWB_wait_flush_block_time are: Num_Time_DWB_wait_flush_block_time = 0 Total_time_Time_DWB_wait_flush_block_time = 0 Max_time_Time_DWB_wait_flush_block_time = 0 Avg_time_Time_DWB_wait_flush_block_time = 0 The timer values for Time_DWB_wait_flush_block_helper_time are: Num_Time_DWB_wait_flush_block_helper_time = 0 Total_time_Time_DWB_wait_flush_block_helper_time = 0 Max_time_Time_DWB_wait_flush_block_helper_time = 0 Avg_time_Time_DWB_wait_flush_block_helper_time = 0 The timer values for Time_DWB_flush_force_time are: Num_Time_DWB_flush_force_time = 0 Total_time_Time_DWB_flush_force_time = 0 Max_time_Time_DWB_flush_force_time = 0 Avg_time_Time_DWB_flush_force_time = 0 Num_alloc_bcb_wait_threads_high_priority = 0 Num_alloc_bcb_wait_threads_low_priority = 0 Num_flushed_bcbs_wait_for_direct_victim = 0 Num_lfcq_big_private_lists = 0 Num_lfcq_private_lists = 0 Num_lfcq_shared_lists = 0 Num_data_page_avoid_dealloc = 0 Num_data_page_avoid_victim = 0 Num_data_page_fix_ext: Num_data_page_promote_ext: Num_data_page_promote_time_ext: Num_data_page_unfix_ext: Time_data_page_lock_acquire_time: Time_data_page_hold_acquire_time: Time_data_page_fix_acquire_time: Num_mvcc_snapshot_ext: Time_obj_lock_acquire_time: Thread_stats_counters_timers: Thread_pgbuf_daemon_stats_counters_timers: Num_dwb_flushed_block_volumes: Thread_loaddb_stats_counters_timers: 다ìŒì€ ìœ„ì˜ í†µê³„ ì •ë³´ì— ëŒ€í•œ 설명ì´ë‹¤. 통계 ì¹´í…Œê³ ë¦¬ (ë°ì´í„°ë² ì´ìФ 모듈), ì´ë¦„, 통계 ìœ í˜• ë° ê° í†µê³„ì— ëŒ€í•œ 간략한 ì„¤ëª…ì„ ë³¼ 수 있다. 수집 ë°©ë²•ì— ë”°ë¼ ëª‡ 가지 통계 ìœ í˜•ì´ ìžˆë‹¤. : * Accumulator: íŠ¸ëž˜í‚¹ì´ ë°œìƒí• 때마다 통계치가 누ì ëœë‹¤. * Counter/timer: ë™ìž‘(action)별 횟수와 ì§€ì† ì‹œê°„ì— ëŒ€í•œ 통계 ë¿ë§Œ ì•„ë‹ˆë¼ ìµœëŒ€ ë° í‰ê· ì§€ì† ì‹œê°„ì— ëŒ€í•œ 통계치를 산출한다. * Snapshot: 통계는 ë°ì´í„°ë² ì´ìŠ¤ì˜ ë‚´ë¶€ ì •ë³´ì´ë‹¤. * Complex: 통계는 다양한 ì†ì„±ë³„로 ì‚°ì¶œëœ ë³µí•© 통계치ì´ë‹¤. 대부분 통계치는 누ì ì´ ë˜ëŠ” Accumulator ìœ í˜•ì´ë‹¤. ì´ ì™¸ì—ë„ ë™ìž‘ 횟수와 ë™ìž‘ ì§€ì† ì‹œê°„ì´ ë°˜ì˜ëœ Counter/timer ìœ í˜•, ë°ì´í„°ë² ì´ìФì—서 ìˆ˜ì§‘ëœ Snapshot ìœ í˜• ë° ë‹¤ë¥¸ ê°’ì„ ê¸°ë°˜ìœ¼ë¡œ ê³„ì‚°ëœ Computed ìœ í˜•ê³¼ ì¼ë¶€ ë™ìž‘ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´ë¥¼ ë°˜ì˜í•˜ëŠ” 복합(Complex) ìœ í˜•ì´ë‹¤. **File I/O** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_removes | Accumulator | ì‚ì œí•œ íŒŒì¼ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_creates | Accumulator | ìƒì„±í•œ íŒŒì¼ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_ioreads | Accumulator | 디스í¬ë¡œë¶€í„° ì½ì„ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_iowrites | Accumulator | 디스í¬ë¡œ ì €ìž¥í•œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_iosynches | Accumulator | 디스í¬ì™€ ë™ê¸°í™”를 수행한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..file_iosync_all | Counter/timer | ëª¨ë“ íŒŒì¼ì„ ë™ê¸°í™”한 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_page_allocs | Accumulator | í• ë‹¹í•œ 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_file_page_deallocs | Accumulator | 반환한 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **페ì´ì§€ 버í¼** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_fetches | Accumulator | ê°€ì ¸ì˜¤ê¸°(fetch)한 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_dirties | Accumulator | ë”í‹° 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_ioreads | Accumulator | | 디스í¬ì—서 ì½ì€ 페ì´ì§€ 수 | | | | | (ì´ ê°’ì´ í´ìˆ˜ë¡ ëœ íš¨ìœ¨ì ì´ë©°,ížˆíŠ¸ìœ¨ì´ ë‚®ì€ ê²ƒê³¼ ìƒê´€ë¨) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_iowrites | Accumulator | 디스í¬ì— 기ë¡í•œ 페ì´ì§€ 수 (ì´ ê°’ì´ í´ìˆ˜ë¡ ëœ íš¨ìœ¨ì ìž„) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_private_quota | Snapshot | ì „ìš© LRU ë¦¬ìŠ¤íŠ¸ì˜ ëŒ€ìƒ íŽ˜ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_private_count | Snapshot | ì „ìš© LRU ë¦¬ìŠ¤íŠ¸ì— ëŒ€í•œ ì‹¤ì œ 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_fixed | Snapshot | ë°ì´í„° 버í¼ì˜ ê³ ì • 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_dirty | Snapshot | ë°ì´í„° 버í¼ì˜ ë”í‹° 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_lru1 | Snapshot | ë°ì´í„° 버í¼ì˜ LRU1 ì¡´ì˜ íŽ˜ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_lru2 | Snapshot | ë°ì´í„° 버í¼ì˜ LRU2 ì¡´ì˜ íŽ˜ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_lru3 | Snapshot | ë°ì´í„° 버í¼ì˜ LRU3 ì¡´ì˜ íŽ˜ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_victim_candidate | Snapshot | ë°ì´í„° 버í¼ì˜ í¬ìƒ(victim) 후보 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **로그** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_page_fetches | Accumulator | ê°€ì ¸ì˜¤ê¸°(fetch)한 로그 페ì´ì§€ì˜ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_page_ioreads | Accumulator | ì½ì€ 로그 페ì´ì§€ì˜ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_page_iowrites | Accumulator | ì €ìž¥í•œ 로그 페ì´ì§€ì˜ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_append_records | Accumulator | 추가(append)한 로그 ë ˆì½”ë“œì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_archives | Accumulator | ë³´ê´€ ë¡œê·¸ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_start_checkpoints | Accumulator | ì²´í¬í¬ì¸íЏ 시작 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_end_checkpoints | Accumulator | ì²´í¬í¬ì¸íЏ 종료 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_wals | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ 쓰기 위해 ìš”ì²ëœ 로그 플러시 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_page_iowrites_for_replacement | Accumulator | 페ì´ì§€ êµì²´ë¡œ ì¸í•´ 디스í¬ì— 기ë¡ëœ 로그 ë°ì´í„° 페ì´ì§€ 수 | | | | (0 ì´ ë˜ì–´ì•¼ 함) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_log_page_replacements | Accumulator | 페ì´ì§€ êµì²´ë¡œ ì¸í•´ ë²„ë ¤ì§€ëŠ” 로그 ë°ì´í„° 페ì´ì§€ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_prior_lsa_list_size | Accumulator | | ì´ì „ LSA (Log Sequence Address) 목ë¡ì˜ 현재 í¬ê¸° | | | | | CUBRID는 로그 버í¼ì—서 디스í¬ë¡œ 쓰기 ìž‘ì—…ì„ í•˜ê¸° ì „ì— | | | | | ì´ì „ LSA 목ë¡ì— 쓰기 순서를 쓴다. | | | | | ì´ ëª©ë¡ì€ 디스í¬ì— 기ë¡í•˜ëŠ” 트랜ìžì…˜ ëŒ€ê¸°ì‹œê°„ì„ ì¤„ìž„ìœ¼ë¡œì¨ ë™ì‹œì„±ì„ | | | | | 높ì´ëŠ”ë° ì‚¬ìš©ëœë‹¤. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_prior_lsa_list_maxed | Accumulator | | 최대 í¬ê¸°ì— ë„달한 ì´ì „ LSA 목ë¡ì˜ 횟수 | | | | | ì´ì „ LSA 목ë¡ì˜ 최대 í¬ê¸°ëŠ” log_buffer_size * 2 ì´ë‹¤. | | | | | ì´ ê°’ì´ í¬ë©´ 로그 작성 ìž‘ì—…ì´ ë™ì‹œì— ë§Žì´ ë°œìƒí•œë‹¤ê³ ê°€ì •í• ìˆ˜ 있다.| +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_prior_lsa_list_removed | Accumulator | | ì´ì „ LSA 목ë¡ì—서 로그 버í¼ë¡œ ì´ë™í•œ 횟수 | | | | | ì´ ê°’ê³¼ 비슷한 횟수로 ì»¤ë°‹ì´ ë°œìƒí–ˆë‹¤ê³ ê°€ì • í• ìˆ˜ 있다. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Log_page_buffer_hit_ratio | Computed | | 로그 페ì´ì§€ 버í¼ì˜ ížˆíŠ¸ë¥ | | | | | (Num_log_page_fetches - Num_log_page_fetch_ioreads)*100 | | | | | / Num_log_page_fetches | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **ë™ì‹œì„±/ìž ê¸ˆ** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_page_locks_acquired | Accumulator | 페ì´ì§€ ìž ê¸ˆì„ íšë“한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_object_locks_acquired | Accumulator | 오브ì 트 ìž ê¸ˆì„ íšë“한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_page_locks_converted | Accumulator | 페ì´ì§€ ìž ê¸ˆ íƒ€ìž…ì„ ë³€í™˜í•œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_object_locks_converted | Accumulator | 오브ì 트 ìž ê¸ˆ íƒ€ìž…ì„ ë³€í™˜í•œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_page_locks_re-requested | Accumulator | 페ì´ì§€ ìž ê¸ˆì„ ìž¬ìš”ì²í•œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_object_locks_re-requested | Accumulator | 오브ì 트 ìž ê¸ˆì„ ìž¬ìš”ì²í•œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_page_locks_waits | Accumulator | ìž ê¸ˆì„ ëŒ€ê¸°í•˜ëŠ” 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_object_locks_waits | Accumulator | ìž ê¸ˆì„ ëŒ€ê¸°í•˜ëŠ” 오브ì 트 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_object_locks_time_waited_usec | Accumulator | ëª¨ë“ ì˜¤ë¸Œì 트를 ìž ê¸ˆí•˜ëŠ” ë° ì†Œìš”ëœ ì‹œê°„ (microseconds) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_obj_lock_acquire_time | Complex | ìž ê¸ˆ 모드별로 ê°ì²´ë¥¼ ìž ê·¸ëŠ” ë° ì†Œìš”ë˜ëŠ” 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **트랜ìžì…˜** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_commits | Accumulator | 커밋한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_rollbacks | Accumulator | 롤백한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_savepoints | Accumulator | 세ì´ë¸Œí¬ì¸íЏ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_start_topops | Accumulator | 시작한 top operationì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_end_topops | Accumulator | 종료한 top operationì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_interrupts | Accumulator | ì¸í„°ëŸ½íЏ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_postpone_cache_hits | Accumulator | 트랜ìžì…˜ 지연 (postpone)ì—°ì‚°ë“¤ì„ ì‹¤í–‰í• ë•Œ ìºì‹œì—서 ì°¾ì€ (hit) 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_postpone_cache_miss | Accumulator | | 트랜ìžì…˜ 지연 (postpone)ì—°ì‚°ë“¤ì„ ì‹¤í–‰í• ë•Œ ìºì‹œì—서 찾지 못한 (miss)| | | | | 횟수. ìºì‹œ 미스 (cache miss)는 트랙ìžì…˜ ì»¤ë°‹ì˜ ì„±ëŠ¥ì„ ì €í•˜ì‹œí‚¬ 수 | | | | | ìžˆê³ , ì „ì²´ 로그 ì—°ì‚°ë“¤ì— ì˜í–¥ì„ ë¼ì¹ 수 있다. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_topop_postpone_cache_hits | Accumulator | | top operation 지연 (postpone)ì—°ì‚°ë“¤ì„ ì‹¤í–‰í• ë•Œ ìºì‹œì—서 ì°¾ì€ (hit) | | | | | 횟수. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_tran_topop_postpone_cache_miss | Accumulator | | top operation 지연 (postpone)ì—°ì‚°ë“¤ì„ ì‹¤í–‰í• ë•Œ ìºì‹œì—서 찾지 못한 | | | | | (miss) 횟수. ìºì‹œ 미스 (cache miss)는 top operation ì»¤ë°‹ì˜ ì„±ëŠ¥ì„ | | | | | ì €í•˜ì‹œí‚¬ 수 ìžˆê³ , ì „ì²´ 로그 ì—°ì‚°ë“¤ì— ì˜í–¥ì„ ë¼ì¹ 수 있다. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **ì¸ë±ìФ** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_inserts | Accumulator | ì‚½ìž…ëœ í•ëª©ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_deletes | Accumulator | ì‚ì œëœ í•ëª©ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_updates | Accumulator | ê°±ì‹ ëœ í•ëª©ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_covered | Accumulator | ì§ˆì˜ ì‹œ ì¸ë±ìŠ¤ê°€ ë°ì´í„°ë¥¼ ëª¨ë‘ í¬í•¨í•œ ê²½ìš°ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_noncovered | Accumulator | | ì§ˆì˜ ì‹œ ì¸ë±ìŠ¤ê°€ ë°ì´í„°ë¥¼ ì¼ë¶€ë¶„ë§Œ í¬í•¨í•˜ê±°ë‚˜, | | | | | ì „í˜€ í¬í•¨í•˜ì§€ ì•Šì€ ê²½ìš°ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_resumes | Accumulator | ë§Žì€ ê²°ê³¼ì— ì˜í•œ ì§€ì •ëœ ì¸ë±ìФ 스캔 횟수를 초과한 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_multirange_optimization | Accumulator | | WHERE ... IN ... LIMIT ì¡°ê±´ 질ì˜ë¬¸ì— 대해 | | | | | 다중 범위 최ì í™”(multi-range optimization)를 수행한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_splits | Accumulator | B-tree ë…¸ë“œì˜ ë¶„í• ì—°ì‚° 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_merges | Accumulator | B-tree ë…¸ë“œì˜ í•©ë³‘ ì—°ì‚° 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_get_stats | Accumulator | B-tree ë…¸ë“œì˜ í†µê³„ 호출 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_leaf | Counter/timer | B-tree 단ë§ë“¤ì—서 ëª¨ë“ ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_find_unique | Counter/timer | B-treeì˜ 'find unique' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..btrange_search | Counter/timer | B-treeì˜ 'range search' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_insert_obj | Counter/timer | B-treeì˜ 'insert object' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_delete_obj | Counter/timer | B-treeì˜ 'physical delete object' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_mvcc_delete | Counter/timer | B-treeì˜ 'mvcc delete' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_mark_delete | Counter/timer | B-treeì˜ 'mark delete' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_undo_insert | Counter/timer | B-treeì˜ 'undo physical insert' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_undo_delete | Counter/timer | B-treeì˜ 'undo physical delete' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_undo_mvcc_delete | Counter/timer | B-treeì˜ 'undo mvcc delete' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_vacuum | Counter/timer | B-treeì˜ 'vacuum deleted object' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_vacuum_insid | Counter/timer | B-treeì˜ 'vacuum insert id' ì—°ì‚° 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_fix_ovf_oids | Counter/timer | B-treeì˜ 'overflow page' ê³ ì • 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_unique_rlocks | Counter/timer | ê³ ìœ ì¸ë±ìФì—서 ì½ê¸° ìž ê¸ˆì´ ì°¨ë‹¨ëœ ì‹œê°„ê³¼ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_unique_wlocks | Counter/timer | ê³ ìœ ì¸ë±ìФì—서 쓰기 ìž ê¸ˆì´ ì°¨ë‹¨ëœ ì‹œê°„ê³¼ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_traverse | Counter/timer | B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_find_unique_traverse | Counter/timer | B-treeì˜ 'find unique' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_range_search_traverse | Counter/timer | B-treeì˜ 'range search' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_insert_traverse | Counter/timer | B-treeì˜ 'insert' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_delete_traverse | Counter/timer | B-treeì˜ 'physical delete' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_mvcc_delete_traverse | Counter/timer | B-treeì˜ 'mvcc delete' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_mark_delete_traverse | Counter/timer | B-treeì˜ 'mark delete' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_undo_insert_traverse | Counter/timer | B-treeì˜ 'undo physical insert' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_undo_delete_traverse | Counter/timer | B-treeì˜ 'undo physical delete' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_undo_mvcc_delete_traverse | Counter/timer | B-treeì˜ 'undo mvcc delete' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_vacuum_traverse | Counter/timer | B-treeì˜ 'vacuum deleted object' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bt_vacuum_insid_traverse | Counter/timer | B-treeì˜ 'vacuum insert id' ì—°ì‚°ì„ ìœ„í•œ B-tree 순회 시간과 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **온ë¼ì¸ ì¸ë±ìФ 로드** +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..btree_online_load | Counter/timer | B-tree 온ë¼ì¸ ì¸ë±ìŠ¤ë¥¼ 로딩하는 êµ¬ë¬¸ì˜ ìˆ˜ì™€ 시간 | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..btree_online_insert_task | Counter/timer | ì¸ë±ìФ 로ë”ê°€ 수행한 배치 삽입 ìž‘ì—…ì˜ ìˆ˜ì™€ 시간 | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..btree_online_prepare_task | Counter/timer | ì¸ë±ìФ ë¡œë” ìž‘ì—…ì„ ì¤€ë¹„(ì •ë ¬)한 수와 시간 | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..btree_online_insert_leaf | Counter/timer | | ì¸ë±ìФ 로ë”ê°€ 처리한 리프 페ì´ì§€ì˜ 수와 시간 | | | | | (리프 페ì´ì§€ë¥¼ 처리하는 ë™ì•ˆ 여러 키가 삽입ë 수 있ìŒ) | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_online_inserts | Accumulator | ì¸ë±ìФ 로ë”ê°€ 키를 삽입한 수 | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_online_inserts_same_page_hold | Accumulator | | ë™ì¼í•œ 리프 페ì´ì§€ì— ì¸ë±ìФ 로ë”ê°€ ì—°ì†ì 으로 삽입한 수 | | | | | (값비싼 ì¸ë±ìФ 순회를 피하기 위한 ë¡œë” ìµœì í™”) | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_online_inserts_retry | Accumulator | | ì—°ì†ì ì¸ í‚¤ê°€ ë™ì¼í•œ ë¦¬í”„ì— ì†í•˜ì§€ 않거나 ê³µê°„ì´ ë¶€ì¡±í•˜ì—¬ ìž¬ì‹œìž‘ëœ | | | | | 삽입 수 | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_btree_online_inserts_retry_nice | Accumulator | 다른 ìš”ì²ì´ 리프 페ì´ì§€ì— 액세스 í• ìˆ˜ 있ë„ë¡ ìž¬ì‹œìž‘ëœ ì‚½ìž… 수 | +----------------------------------------------------+----------------+-----------------------------------------------------------------------+ **쿼리** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_selects | Accumulator | SELECT ì¿¼ë¦¬ì˜ ìˆ˜í–‰ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_inserts | Accumulator | INSERT ì¿¼ë¦¬ì˜ ìˆ˜í–‰ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_deletes | Accumulator | DELETE ì¿¼ë¦¬ì˜ ìˆ˜í–‰ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_updates | Accumulator | UPDATE ì¿¼ë¦¬ì˜ ìˆ˜í–‰ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_sscans | Accumulator | 순차 스캔(full scan) 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_iscans | Accumulator | ì¸ë±ìФ 스캔 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_lscans | Accumulator | LIST 스캔 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_setscans | Accumulator | SET 스캔 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_methscans | Accumulator | METHOD 스캔 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_nljoins | Accumulator | 중첩 루프 ì¡°ì¸ (nested loop joins) 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_mjoins | Accumulator | 병합 ì¡°ì¸ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_objfetches | Accumulator | ê°ì²´ë¥¼ ê°€ì ¸ì˜¤ê¸°(fetch) 한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_query_holdable_cursors | Snapshot | 서버ì—서 ìœ ì§€ 커서(holdable cursor)ì˜ ê°œìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **ì •ë ¬** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_sort_io_pages | Accumulator | | ì •ë ¬í•˜ëŠ” ë™ì•ˆ 디스í¬ì—서 ê°€ì ¸ì˜¨(fetch) 페ì´ì§€ 개수 | | | | | (ì´ ê°’ì´ í´ìˆ˜ë¡ ëœ íš¨ìœ¨ì ìž„) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_sort_data_pages | Accumulator | | ì •ë ¬í•˜ëŠ” ë™ì•ˆ 페ì´ì§€ 버í¼ì—서 ë°œê²¬ëœ íŽ˜ì´ì§€ 개수 | | | | | (ì´ ê°’ì´ í´ìˆ˜ë¡ ëœ íš¨ìœ¨ì ìž„) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **네트워í¬** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_network_requests | Accumulator | ë„¤íŠ¸ì›Œí¬ ìš”ì² íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **íž™** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_stats_sync_bestspace | Accumulator | | "Best page" 목ë¡ì˜ ê°±ì‹ íšŸìˆ˜. | | | | | "Best page"는 여러 INSERT ë° DELETE 환경ì—서 ì—¬ìœ ê³µê°„ì´ 30% ì´ìƒì¸ | | | | | 페ì´ì§€ë¥¼ ì˜ë¯¸í•œë‹¤. | | | | | "Best page" 목ë¡ì—는 ì´ íŽ˜ì´ì§€ì˜ ì¼ë¶€ ì •ë³´ë§Œ ì €ìž¥ëœë‹¤. | | | | | "Best page" 목ë¡ì—는 백만 페ì´ì§€ì˜ ì •ë³´ê°€ 한 ë²ˆì— ì €ìž¥ëœë‹¤. | | | | | ì´ ëª©ë¡ì€ ë ˆì½”ë“œë¥¼ INSERT í• ë•Œ 검색ë˜ë©° 해당 페ì´ì§€ì˜ ì—¬ìœ ê³µê°„ì´ | | | | | ì—†ì„ ë•Œ "Best page" 목ë¡ì€ ê°±ì‹ ëœë‹¤. | | | | | ì´ ëª©ë¡ì´ 여러번 ê°±ì‹ ë˜ì–´ë„ ë” ì´ìƒ ì €ìž¥í• ê³µê°„ì´ ì—†ëŠ” 경우 ë ˆì½”ë“œëŠ”| | | | | 새로운 페ì´ì§€ì— ì €ìž¥ëœë‹¤. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_inserts | Accumulator | HOME íƒ€ìž…ì˜ ë ˆì½”ë“œ 삽입 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_big_inserts | Accumulator | BIG íƒ€ìž…ì˜ ë ˆì½”ë“œ 삽입 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_assign_inserts | Accumulator | ASSIGN íƒ€ìž…ì˜ ë ˆì½”ë“œ 삽입 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_deletes | Accumulator | non-MVCC 모드ì—서 HOME 타입 ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_mvcc_deletes | Accumulator | MVCC 모드ì—서 HOME 타입 ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_to_rel_deletes | Accumulator | | MVCC 모드ì—서 HOME 타입으로부터 RELOCATION 타입으로 ë³€ê²½ëœ ë ˆì½”ë“œì˜ | | | | | ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_to_big_deletes | Accumulator | MVCC 모드ì—서 HOME 타입으로부터 BIG 타입으로 ë³€ê²½ëœ ë ˆì½”ë“œì˜ ì‚ì œ 횟수| +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_deletes | Accumulator | | non-MVCC 모드ì—서 RELOCATION 타입 ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_mvcc_deletes | Accumulator | MVCC 모드ì—서 RELOCATION 타입 ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_to_home_deletes | Accumulator | | MVCC 모드ì—서 RELOCATION 타입으로부터 HOME 타입으로 ë³€ê²½ëœ ë ˆì½”ë“œì˜ | | | | | ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_to_big_deletes | Accumulator | | MVCC 모드ì—서 RELOCATION 타입으로부터 BIG 타입으로 ë³€ê²½ëœ ë ˆì½”ë“œì˜ | | | | | ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_to_rel_deletes | Accumulator | | MVCC 모드ì—서 RELOCATION 타입으로부터 RELOCATION 타입으로 ë³€ê²½ëœ | | | | | ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_big_deletes | Accumulator | non-MVCC 모드ì—서 BIG 타입 ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_big_mvcc_deletes | Accumulator | MVCC 모드ì—서 BIG 타입 ë ˆì½”ë“œì˜ ì‚ì œ 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_updates | Accumulator | | non-MVCC 모드ì—서 HOME 타입 ë ˆì½”ë“œì˜ ê°±ì‹ íšŸìˆ˜(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_to_rel_updates | Accumulator | | non-MVCC 모드ì—서 HOME 타입으로부터 RELOCATION 타입으로 ê°±ì‹ ëœ | | | | | ë ˆì½”ë“œì˜ íšŸìˆ˜(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_to_big_updates | Accumulator | | non-MVCC 모드ì—서 HOME 타입으로부터 BIG 타입으로 ê°±ì‹ ëœ ë ˆì½”ë“œì˜ | | | | | 횟수(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_updates | Accumulator | | non-MVCC 모드ì—서 RELOCATION ë ˆì½”ë“œì˜ ê°±ì‹ íšŸìˆ˜(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_to_home_updates | Accumulator | | non-MVCC 모드(*)ì—서 RELOCATION 타입으로부터 HOME 타입으로 ê°±ì‹ ëœ | | | | | ë ˆì½”ë“œì˜ íšŸìˆ˜(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_to_rel_updates | Accumulator | | non-MVCC 모드ì—서 RELOCATION 타입으로부터 RELOCATION 타입으로 ê°±ì‹ ëœ| | | | | ë ˆì½”ë“œì˜ íšŸìˆ˜(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_to_big_updates | Accumulator | | non-MVCC 모드ì—서 BIG 타입으로부터 RELOCATION 타입으로 ê°±ì‹ ëœ | | | | | 횟수(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_big_updates | Accumulator | non-MVCC 모드ì—서 BIG 타입으로 ê°±ì‹ ëœ ë ˆì½”ë“œì˜ íšŸìˆ˜(*) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_home_vacuums | Accumulator | HOME 타입 ë ˆì½”ë“œì˜ íšŒìˆ˜ëœ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_big_vacuums | Accumulator | BIG 타입 ë ˆì½”ë“œì˜ íšŒìˆ˜ëœ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_rel_vacuums | Accumulator | RELOCATION 타입 ë ˆì½”ë“œì˜ íšŒìˆ˜ëœ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_insid_vacuums | Accumulator | 새로 ì‚½ìž…ëœ ë ˆì½”ë“œì˜ íšŒìˆ˜ëœ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_remove_vacuums | Accumulator | ì‚ì œëœ ë ˆì½”ë“œì˜ íšŒìˆ˜ëœ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_insert_prepare | Counter/timer | heap insert ì—°ì‚°ì— ëŒ€í•œ 준비 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_insert_execute | Counter/timer | heap insert ì—°ì‚°ì— ëŒ€í•œ 실행 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_insert_log | Counter/timer | heap insert ì—°ì‚°ì— ëŒ€í•œ 로깅 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_delete_prepare | Counter/timer | heap delete ì—°ì‚°ì— ëŒ€í•œ 준비 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_delete_execute | Counter/timer | heap delete ì—°ì‚°ì— ëŒ€í•œ 실행 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_delete_log | Counter/timer | heap delete ì—°ì‚°ì— ëŒ€í•œ 로깅 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_update_prepare | Counter/timer | heap update ì—°ì‚°ì— ëŒ€í•œ 준비 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_update_execute | Counter/timer | heap update ì—°ì‚°ì— ëŒ€í•œ 실행 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_update_log | Counter/timer | heap update ì—°ì‚°ì— ëŒ€í•œ 로깅 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_vacuum_prepare | Counter/timer | heap vacuum ì—°ì‚°ì— ëŒ€í•œ 준비 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_vacuum_execute | Counter/timer | heap vacuum ì—°ì‚°ì— ëŒ€í•œ 실행 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_vacuum_log | Counter/timer | heap vacuum ì—°ì‚°ì— ëŒ€í•œ 로깅 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **ì§ˆì˜ ê³„íš ìºì‹œ** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_add | Accumulator | 쿼리 ìºì‹œ 엔트리가 새로 ì¶”ê°€ëœ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_lookup | Accumulator | íŠ¹ì • 키를 사용하여 쿼리 ìºì‹œ 룩업(Lookup)ì„ ì‹œë„한 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_hit | Accumulator | ì§ˆì˜ ë¬¸ìžì—´ 해시 í…Œì´ë¸”ì—서 엔트리를 ì°¾ì€(hit) 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_miss | Accumulator | ì§ˆì˜ ë¬¸ìžì—´ 해시 í…Œì´ë¸”ì—서 엔트리를 찾지 못한(miss) 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_full | Accumulator | ìºì‹œ ì—”íŠ¸ë¦¬ì˜ ê°œìˆ˜ê°€ 최대 개수를 넘어 í¬ìƒìž(victim)íƒìƒ‰ì„ 시ë„한 횟수| +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_delete | Accumulator | ìºì‹œ 엔트리가 ì‚ì œëœ(victimized) 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_invalid_xasl_id | Accumulator | | xasl_id 해시 í…Œì´ë¸”ì—서 엔트리를 찾지 못한(miss) 횟수. | | | | | 서버ì—서 íŠ¹ì • 엔트리가 ì œê±°(victimized)ë˜ì—ˆëŠ”ë°, 해당 엔트리를 | | | | | í´ë¼ì´ì–¸íЏì—서 ìš”ì²í–ˆì„ 때 ë°œìƒí•˜ëŠ” ì—러 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_plan_cache_entries | Snapshot | 쿼리 ìºì‹œ ì—”íŠ¸ë¦¬ì˜ í˜„ìž¬ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **HA** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_ha_replication_delay | Accumulator | ë³µì œ 지연 시간(ì´ˆ) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **Vacuuming** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_vacuum_log_pages_vacuumed | Accumulator | vacuum ì›Œì»¤ì— ì˜í•´ ì²˜ë¦¬ëœ ë¡œê·¸ ë°ì´í„° 페ì´ì§€ 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_vacuum_log_pages_to_vacuum | Accumulator | | vacuum ì›Œì»¤ì— ì˜í•´ 처리ë 로그 ë°ì´í„° 페ì´ì§€ 개수 | | | | | (ì´ ê°’ì´ Num_vacuum_log_pages_vacuumed 보다 훨씬 í° ê²½ìš° | | | | | ì´ëŠ” vacuum ì‹œìŠ¤í…œì´ ëŠë¦¬ë‹¤ëŠ” ê²ƒì„ ì˜ë¯¸í•œë‹¤.) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_vacuum_prefetch_requests_log_pages | Accumulator | 로그 페ì´ì§€ë¥¼ 버í¼ë¡œ 프리패치하는 ìš”ì² ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_vacuum_prefetch_hits_log_pages | Accumulator | 로그 페ì´ì§€ë¥¼ 버í¼ë¡œ 프리패치하는 히트 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..vacuum_master | Counter/timer | vacuum 마스터 작업 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..vacuum_job | Counter/timer | vacuum 작업 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..vacuum_worker_process_log | Counter/timer | vacumm ì›Œì»¤ì˜ ë¡œê·¸ 작업 수행 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..vacuum_worker_execute | Counter/timer | vacuum ì›Œì»¤ì˜ íšŒìˆ˜ 작업 수행 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Vacuum_data_page_buffer_hit_ratio | Computed | ë°ì´í„° 페ì´ì§€ 버í¼ì˜ 회수 히트율 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Vacuum_page_efficiency_ratio | Computed | | ë”í‹° 플래그가있는 vacuumì˜ page unfix 수와 ì „ì²´ vacuumì˜ page unfix | | | | | ìˆ˜ì˜ ë¹„ìœ¨. ì´ìƒì 으로는 vacuum프로세스는 사용ë˜ì§€ 않는 ëª¨ë“ ë ˆì½”ë“œë¥¼| | | | | 회수하므로 쓰기 작업만 수행한다. | | | | | 최ì í™”ëœ íšŒìˆ˜ 작업ì´ë¼ë„ 100% íš¨ìœ¨ì€ ê°€ëŠ¥í•˜ì§€ 않다. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Vacuum_page_fetch_ratio | Computed | vacuum 모듈ì—서 page unfix와 ì´ íŽ˜ì´ì§€ì˜ 비율 (백분율) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_avoid_dealloc | Snapshot | vacuumì— ì˜í•´ 반환 ë 수 없는 ë°ì´í„° 페ì´ì§€ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **íž™ Bestspace** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **통계 ì´ë¦„** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_stats_sync_bestspace | Counter/timer | bestspace ë™ê¸°í™” 수행 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_stats_bestspace_entries | Accumulator | "best page" 목ë¡ì— ì €ìž¥ëœ "best page" 개수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_heap_stats_bestspace_maxed | Accumulator | "best page" 목ë¡ì— ì €ìž¥í• ìˆ˜ 있는 "best page" 최대값 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bestspace_add | Counter/timer | bestspace cacheì— ì—”íŠ¸ë¦¬ë¥¼ 추가한 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bestspace_del | Counter/timer | bestspace cacheì—서 엔트리를 ì‚ì œí•œ 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..bestspace_find | Counter/timer | bestspace cache 엔트리를 ì°¾ì€ íšŸìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_find_page_bestspace | Counter/timer | bestspace cacheì—서 íž™ 페ì´ì§€ë¥¼ ì°¾ì€ íšŸìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..heap_find_best_page | Counter/timer | | íž™ì— ì‚½ìž…í•˜ê¸° 위해 페ì´ì§€ë¥¼ 찾거나 (찾지 ëª»í–ˆì„ ê²½ìš°)ìƒì„±í•œ | | | | | 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **페ì´ì§€ ë²„í¼ fix** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_fix_lock_acquire_time_msec | Computed | 페ì´ì§€ë¥¼ 로드하기 위해 다른 트랜ìžì…˜ì„ 기다리는 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_fix_hold_acquire_time_msec | Computed | 페ì´ì§€ 래치를 íšë“하는 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_fix_acquire_time_msec | Computed | 페ì´ì§€ë¥¼ ê³ ì •í•˜ëŠ” ì´ ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_allocate_time_ratio | Computed | | 디스í¬ì—서 페ì´ì§€ë¥¼ 로딩하는 ë° í•„ìš”í•œ 시간과 페ì´ì§€ë¥¼ ê³ ì •í•˜ëŠ” | | | | | ì´ ì‹œê°„ì˜ ë¹„ìœ¨ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_total_promote_success | Computed | ê³µìœ ì—서 ìƒí˜¸ë°°ì œë¡œì˜ 성공한 페ì´ì§€ 래치 프로모션 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_total_promote_fail | Computed | 실패한 페ì´ì§€ 래치 프로모션 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_total_promote_time_msec | Computed | 페ì´ì§€ 래치 프로모션한 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_hash_anchor_waits | Accumulator | 페ì´ì§€ ë²„í¼ í•´ì‹œ ë²„í‚·ì˜ ëŒ€ê¸° 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_data_page_hash_anchor_wait | Accumulator | 페ì´ì§€ ë²„í¼ í•´ì‹œ ë²„í‚·ì˜ ì´ ëŒ€ê¸° 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_fix_ext | Complex | | 다ìŒìœ¼ë¡œ 분류 ëœ ë°ì´í„° 페ì´ì§€ ê³ ì • 수 | | | | | - 모듈(system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - 페ì´ì§€ 페치/íƒìƒ‰ 모드 | | | | | - 페ì´ì§€ 래치 모드 | | | | | - 페ì´ì§€ 래치 ì¡°ê±´ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_data_page_lock_acquire_time | Complex | | ë°ì´í„° 페ì´ì§€ë¥¼ 로드 í• ë•Œê¹Œì§€ 다른 ì“°ë ˆë“œë¥¼ 기다리는 시간 | | | | | - 모듈 (system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - 페ì´ì§€ 페치/íƒìƒ‰ 모드 | | | | | - 페ì´ì§€ 래치 모드 | | | | | - 페ì´ì§€ 래치 ì¡°ê±´ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_data_page_hold_acquire_time | Complex | | ë°ì´í„° 페ì´ì§€ 래치 대기 시간: | | | | | - 모듈(system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - 페ì´ì§€ 페치/íƒìƒ‰ 모드 | | | | | - 페ì´ì§€ 래치 모드 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_data_page_fix_acquire_time | Complex | | ë°ì´í„° 페ì´ì§€ ê³ ì • 시간: | | | | | - 모듈(system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - 페ì´ì§€ 페치/íƒìƒ‰ 모드 | | | | | - 페ì´ì§€ 래치 모드 | | | | | - 페ì´ì§€ 래치 ì¡°ê±´ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_promote_ext | Complex | | 다ìŒìœ¼ë¡œ 분류 ëœ ë°ì´í„° 페ì´ì§€ 프로모션 수: | | | | | - 모듈(system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - 프로모션 래치 ì¡°ê±´ | | | | | - í™€ë” ëž˜ì¹˜ 모드 | | | | | - 성공/실패 프로모션 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_promote_time_ext | Complex | | 다ìŒìœ¼ë¡œ 분류 ëœ ë°ì´í„° 페ì´ì§€ 대기 시간: | | | | | - 모듈(system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - 프로모션 래치 ì¡°ê±´ | | | | | - í™€ë” ëž˜ì¹˜ 모드 | | | | | - 성공/실패 프로모션 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **페ì´ì§€ ë²„í¼ unfix** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_to_private_top | Accumulator | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ìƒë‹¨ì— 추가한 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_to_private_mid | Accumulator | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì¤‘ê°„ì— ì¶”ê°€í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_to_shared_mid | Accumulator | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ê³µìœ LRU ì¤‘ê°„ì— ì¶”ê°€í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru1_private_to_shared_mid | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—1ì—서 ê³µìœ LRU 중간으로 | | | | ì´ë™í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_private_to_shared_mid | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—2ì—서 ê³µìœ LRU 중간으로 | | | | ì´ë™í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru3_private_to_shared_mid | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—3ì—서 ê³µìœ LRU 중간으로 | | | | ì´ë™í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_private_keep | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—2ì— ë³´ê´€í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_shared_keep | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ê³µìœ LRU ì˜ì—2ì— ë³´ê´€í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_private_to_top | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—2ì—서 ìƒë‹¨ìœ¼ë¡œ 올린 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_shared_to_top | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ê³µìœ LRU ì˜ì—2ì—서 ìƒë‹¨ìœ¼ë¡œ 올린 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru3_private_to_top | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—3ì—서 ìƒë‹¨ìœ¼ë¡œ 올린 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru3_shared_to_top | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ê³µìœ LRU ì˜ì—3ì—서 ìƒë‹¨ìœ¼ë¡œ 올린 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru1_private_keep | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ì˜ì—1ì— ë³´ê´€í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_shared_keep | Accumulator | ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ê³µìœ LRU ì˜ì—2ì— ë³´ê´€í•œ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_to_private_mid_vacuum | Accumulator | | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš© LRU ëª©ë¡ ì¤‘ê°„ì— | | | | | 추가한 수 (vacuum ì“°ë ˆë“œ) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru1_any_keep_vacuum | Accumulator | | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš©/ê³µìœ LRU ì˜ì— 1ì— | | | | | 보관한 수 (vacuum ì“°ë ˆë“œ) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru2_any_keep_vacuum | Accumulator | | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš©/ê³µìœ LRU ì˜ì— 2ì— | | | | | 보관한 수 (vacuum ì“°ë ˆë“œ) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_lru3_any_keep_vacuum | Accumulator | | 새로 ë¡œë“œëœ ë°ì´í„° 페ì´ì§€ë¥¼ ê³ ì •í•˜ì§€ ì•Šê³ ì „ìš©/ê³µìœ LRU ì˜ì— 3ì— | | | | | 보관한 수 (vacuum ì“°ë ˆë“œ) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_aout_found | Accumulator | 새로 로드 ëœ ë°ì´í„° 페ì´ì§€ê°€ AOUT ì—서 ë°œê²¬ëœ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_aout_not_found | Accumulator | 새로 로드 ëœ ë°ì´í„° 페ì´ì§€ê°€ AOUT ì—서 발견ë˜ì§€ ì•Šì€ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_aout_found_vacuum | Accumulator | 새로 로드 ëœ ë°ì´í„° 페ì´ì§€ê°€ AOUT ì—서 ë°œê²¬ëœ ìˆ˜(vacuum ì“°ë ˆë“œ) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_unfix_void_aout_not_found_vacuum | Accumulator | 새로 로드 ëœ ë°ì´í„° 페ì´ì§€ê°€ AOUT ì—서 발견ë˜ì§€ ì•Šì€ ìˆ˜(vacuum ì“°ë ˆë“œ)| +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_unfix_ext | Complex | | 다ìŒìœ¼ë¡œ 분류 ëœ ë°ì´í„° 페ì´ì§€ 비 ê³ ì • 수 | | | | | - 모듈(system, worker, vacuum) | | | | | - 페ì´ì§€ 타입 | | | | | - ë”í‹°ì´ê±°ë‚˜ 아닌 경우 | | | | | - 홀ë”ì— ì˜í•œ ë”í‹°ì´ê±°ë‚˜ 아닌 경우 | | | | | - í™€ë” ëž˜ì¹˜ 모드 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **페ì´ì§€ ë²„í¼ I/O** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Data_page_buffer_hit_ratio | Computed | | ë°ì´í„° 페ì´ì§€ 버í¼ì˜ 히트율 | | | | | (Num_data_page_fetches - Num_data_page_ioreads)*100 | | | | | / Num_data_page_fetches | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_adaptive_flush_pages | Accumulator | ì ì‘형 플러시 컨트롤러ì—서 ìš”ì²í•œ ë°ì´í„° 페ì´ì§€ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_adaptive_flush_log_pages | Accumulator | ì ì‘형 플러시 컨트롤러ì—서 ìš”ì²í•œ 로그 ë°ì´í„° 페ì´ì§€ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_adaptive_flush_max_pages | Accumulator | ì ì‘형 플러시 ì»¨íŠ¸ë¡¤ëŸ¬ì— ì˜í•´ í• ë‹¹ëœ í† í° íŽ˜ì´ì§€ ì´ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..compensate_flush | Counter/timer | | ì ì‘형 플러시 ì»¨íŠ¸ë¡¤ëŸ¬ì— ì˜í•œ 플러시 ë³´ì •ì˜ íšŸìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..assign_direct_bcb | Counter/timer | ëŒ€ê¸°ìž (waiter)들ì—게 ì§ì ‘ì 으로 bcb를 í• ë‹¹í•œ 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..wake_flush_waiter | Counter/timer | BCB를 기다리는 ì“°ë ˆë“œë¥¼ 깨우기 위한 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..flush_collect | Counter/timer | BCB 세트를 수집하는 플러시 ì“°ë ˆë“œì˜ ìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..flush_flush | Counter/timer | BCB 세트를 플러싱하는 플러시 ì“°ë ˆë“œì˜ ìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..flush_sleep | Counter/timer | 플러시 ì“°ë ˆë“œ ì¼ì‹œ ì •ì§€ 수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..flush_collect_per_page | Counter/timer | 한 ê°œì˜ BCB 를 수집하는 플러시 ì“°ë ˆë“œì˜ ìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..flush_flush_per_page | Counter/timer | 한 ê°œì˜ BCB 를 플러싱하는 플러시 ì“°ë ˆë“œì˜ ìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_writes | Accumulator | 디스í¬ë¡œ ë‚´ë ¤ì“°ê¸°ëœ ë°ì´í„° 페ì´ì§€ì˜ ì´ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_dirty_to_post_flush | Accumulator | í¬ìŠ¤íŠ¸ 플러시 ì“°ë ˆë“œë¡œ ë³´ë‚´ì§„ 플러시 ëœ íŽ˜ì´ì§€ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_skipped_flush | Accumulator | 플러시 ì“°ë ˆë“œê°€ ìƒëžµí•œ BCBì˜ ì´ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_skipped_flush_need_wal | Accumulator | | 로그 ë°ì´í„° 페ì´ì§€ë¥¼ ë¨¼ì € 플러시해야하기 ë•Œë¬¸ì— | | | | | 플러시 ì“°ë ˆë“œê°€ ìƒëžµí•œ BCB 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | | Num_data_page_skipped\ | Accumulator | | ì´ë¯¸ 플러시 ë˜ì–´ì„œ ì“°ë ˆë“œê°€ ìƒëžµí•œ BCB 수 | | | \_flush_already_flushed | | | | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_skipped_flush_fixed_or_hot | Accumulator | | BCBê°€ ê³ ì •ë˜ì—ˆê±°ë‚˜ 수집 ëœ í›„ ê³ ì •ë˜ì—ˆê¸° ë•Œë¬¸ì— | | | | | 플러시 ì“°ë ˆë“œê°€ ìƒëžµí•œ BCBì˜ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **페ì´ì§€ ë²„í¼ victimization** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb | Counter/timer | | 새로운 ë°ì´í„° 페ì´ì§€ë¥¼ ì €ìž¥í•˜ê¸°ìœ„í•œ BCB í• ë‹¹ì˜ ìˆ˜ì™€ 시간. | | | | | ë°ì´í„°ë² ì´ìŠ¤ê°€ 시작ë˜ë©´ 페ì´ì§€ 버í¼ëŠ” 사용가능한 BCBê°€ 있다. | | | | | 그러나 페ì´ì§€ 버í¼ê°€ ëª¨ë‘ ì‚¬ìš©ë˜ë©´ ëª¨ë“ BCBê°€ 사용 중ì´ë¯€ë¡œ | | | | | 페ì´ì§€ ë²„í¼ ì¤‘ 하나는 í¬ìƒë˜ì–´ì•¼ 한다. 여기서 ì¶”ì ë˜ëŠ” ì‹œê°„ì€ | | | | | BCB í¬ìƒ ë° ë””ìŠ¤í¬ ë¡œë”©ì„ í¬í•¨í•œë‹¤. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb_search_victim | Counter/timer | í¬ìƒìž(Victim)ì— ëŒ€í•œ ëª¨ë“ LRU ì„ í†µí•œ 검색 횟수 ë° ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb_cond_wait_high_prio | Counter/timer | ìš°ì„ ìˆœìœ„ê°€ ë†’ì€ ëŒ€ê¸°ì—´ì—서 ì§ì ‘ì ì¸ í¬ìƒìž(Victim) ëŒ€ê¸°ì˜ ìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb_cond_wait_low_prio | Counter/timer | ìš°ì„ ìˆœìœ„ê°€ ë‚®ì€ ëŒ€ê¸°ì—´ì—서 ì§ì ‘ì ì¸ í¬ìƒìž(Victim) ëŒ€ê¸°ì˜ ìˆ˜ì™€ 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_alloc_bcb_prioritize_vacuum | Accumulator | ìš°ì„ ìˆœìœ„ê°€ ë†’ì€ ëŒ€ê¸°ì—´ì—서 ì§ì ‘ì ì¸ í¬ìƒìž(Victim) íšŒìˆ˜ì˜ ëŒ€ê¸° 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_alloc_bcb_wait_threads_high_priority | Snapshot | ìš°ì„ ìˆœìœ„ê°€ ë†’ì€ ëŒ€ê¸°ì—´ì—서 ì§ì ‘ì ì¸ í¬ìƒ(Victim) 대기ìžì˜ 현재 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_alloc_bcb_wait_threads_low_priority | Snapshot | ìš°ì„ ìˆœìœ„ê°€ ë‚®ì€ ëŒ€ê¸°ì—´ì—서 ì§ì ‘ì ì¸ í¬ìƒ(Victim) 대기ìžì˜ 현재 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_flushed_bcbs_wait_for_direct_victim | Snapshot | | í¬ìƒìžë¥¼ 처리하여 즉시 í• ë‹¹í•˜ëŠ” post-flush ì“°ë ˆë“œë¥¼ 기다리는 BCBì˜ | | | | | 현재 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_use_invalid_bcb | Accumulator | ìœ íš¨í•˜ì§€ ì•Šì€ ëª©ë¡ì—서 í• ë‹¹ ëœ BCBì˜ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb_get_victim_search\ | Counter/timer | ìžì²´ ì „ìš© 리스트ì—서 í¬ìƒìž(Victim)ì„ ê°€ì ¸ì˜¤ëŠ” 횟수 ë° ì‹œê°„ | | \_own_private_list | | | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb_get_victim_search\ | Counter/timer | 다른 ì „ìš© 리스트ì—서 í¬ìƒìž(Victim)ì„ ê°€ì ¸ì˜¤ëŠ” 횟수 ë° ì‹œê°„ | | \_others_private_list | | | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..alloc_bcb_get_victim_search\ | Counter/timer | ê³µìœ ë¦¬ìŠ¤íŠ¸ì—서 í¬ìƒìž(Victim)ì„ ê°€ì ¸ì˜¤ëŠ” 횟수 ë° ì‹œê°„ | | \shared_list | | | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_data_page_avoid_victim | Accumulator | | 디스í¬ë¡œ ë‚´ë ¤ì¨ì§€ëŠ” 중ì´ë¼ í¬ìƒì—서 ì œì™¸ë˜ëŠ” BCBì˜ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_vacuum_void | Accumulator | vacuum 워커가 빈(void) ì˜ì—ì—서 í• ë‹¹í•œ ì§ì ‘ í¬ìƒìžì˜ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_vacuum_lru | Accumulator | vacuum 워커가 LRU ì˜ì— 3ì—서 í• ë‹¹í•œ ì§ì ‘ í¬ìƒìž 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_flush | Accumulator | 플러시 ì“°ë ˆë“œê°€ ì§€ì •í•œ ì§ì ‘ì ì¸ í¬ìƒìž 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_panic | Accumulator | | 패닉 LRU ê²€ìƒ‰ì— ì˜í•´ í• ë‹¹ ëœ ì§ì ‘ì ì¸ í¬ìƒìžì˜ 수 | | | | | í¬ìƒìžë¥¼ 찾기 위한 대기ìžê°€ 많으면 LRU 목ë¡ì„ 검색하는 ë™ì•ˆ 다른 | | | | | í¬ìƒìžë¥¼ 찾는 ì“°ë ˆë“œê°€ ì§ì ‘ í• ë‹¹í•˜ë ¤ê³ ì‹œë„한다. | | | | | 페ì´ì§€ ë²„í¼ ìœ ì§€ ì“°ë ˆë“œ í• ë‹¹ë„ ì—¬ê¸°ì— í¬í•¨ëœë‹¤. | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_adjust_lru | Accumulator | BCBê°€ LRU ì˜ì— 3으로 ì´ë™í• 때 í• ë‹¹ëœ ì§ì ‘ì ì¸ í¬ìƒìž 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_adjust_lru\ | Accumulator | | vacuum ì“°ë ˆë“œê°€ ì•¡ì„¸ìŠ¤í• ê²ƒìœ¼ë¡œ 예ìƒë˜ì–´ LRU ì˜ì— 3으로 ì´ë™í• 때 | | \_to_vacuum | | | ì§ì ‘ì ì¸ í¬ìƒìžë¡œ í• ë‹¹ë˜ì§€ **않ì€** BCBì˜ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_assign_direct_search\ | Accumulator | | 플러시를 위해 BCBì…‹(Set)ì„ ìˆ˜ì§‘í•˜ëŠ” ë™ì•ˆ 플러시 ì“°ë ˆë“œì— ì˜í•´ í• ë‹¹ëœ| | \_for_flush | | | ì§ì ‘ì ì¸ í¬ìƒìž 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_shared_lru_success | Accumulator | ê³µìœ LRU ì—서 성공한 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_own_private_lru_success | Accumulator | ìžì²´ ì „ìš© LRU ì—서 성공한 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_other_private_lru_success | Accumulator | 다른 ì „ìš© LRU ì—서 성공한 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_shared_lru_fail | Accumulator | ê³µìœ LRU ì—서 실패한 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_own_private_lru_fail | Accumulator | ìžì²´ ì „ìš© LRUì—서 실패한 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_other_private_lru_fail | Accumulator | 다른 ì „ìš© LRUì—서 실패한 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_all_lru_fail | Accumulator | | ì•„ëž˜ì˜ ìˆœì„œì—서 í¬ìƒìžë¥¼ ì°¾ì„ ë•Œ 좋지 ì•Šì€ ê²½ìš°ì˜ ìˆ˜: | | | | | 1. ìžì²´ ì „ìš© LRU (쿼터가 초과ë 경우) | | | | | 2. 다른 ì „ìš© LRU (ìžì²´ ì „ìš© 쿼터가 초과ë 경우) | | | | | 3. ê³µìœ LRU | | | | | (ìžì„¸í•œ ì„¤ëª…ì€ ë‹¤ìŒì„ ì°¸ê³ í•œë‹¤. *pgbuf_get_victim* 함수) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_get_from_lru | Accumulator | ëª¨ë“ LRU ì—서 í¬ìƒìž 검색 ì´ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_get_from_lru_was_empty | Accumulator | | 후보 수가 0ì´ê¸° ë•Œë¬¸ì— ëª¨ë“ LRUì—서 í¬ìƒìž ê²€ìƒ‰ì´ ì¦‰ì‹œ ì¤‘ì§€ëœ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_get_from_lru_fail | Accumulator | | 후보 수가 0ì´ ì•„ë‹ˆë”ë¼ë„ ëª¨ë“ LRU ì—서 í¬ìƒìž ê²€ìƒ‰ì´ ì‹¤íŒ¨ëœ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_victim_get_from_lru_bad_hint | Accumulator | | í¬ìƒìžê°€ 잘못ë˜ì–´ ëª¨ë“ LRU ì—서 í¬ìƒìž ê²€ìƒ‰ì´ ì‹¤íŒ¨ëœ ìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_prv_get_total_calls | Accumulator | 후보 수가 0ì´ ì•„ë‹Œ ì „ìš© LRU íì—서 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_prv_get_empty | Accumulator | 후보수가 0ì´ ì•„ë‹Œ ì „ìš© LRUs íê°€ 비어있는 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_prv_get_big | Accumulator | | 후보 수가 매우 í° ì „ìš© LRU íì˜ í¬ìƒìž 검색 수 | | | | | ( 매우 í° ê²ƒì˜ ì˜ë¯¸ëŠ” í• ë‹¹ëŸ‰ì„ ì´ˆê³¼í•˜ëŠ” ê²½ìš°ì„ ë‚˜íƒ€ëƒ„) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_shr_get_total_calls | Accumulator | 후보수가 0ì´ ì•„ë‹Œ ê³µìœ LRU íì—서 í¬ìƒìž 검색 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_shr_get_empty | Accumulator | 후보수가 0ì´ ì•„ë‹Œ ê³µìœ LRU íê°€ 비어있는 횟수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_big_private_lists | Snapshot | 후보ìžê°€ 매우 í° ì „ìš© LRU ì˜ í˜„ìž¬ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_private_lists | Snapshot | 후보ìžê°€ 0ì´ ì•„ë‹Œ ì „ìš© LRU ì˜ í˜„ìž¬ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_lfcq_shared_lists | Snapshot | 후보ìžê°€ 0ì´ ì•„ë‹Œ ê³µìœ LRU ì˜ í˜„ìž¬ 수 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **ì´ì¤‘ 쓰기 ë²„í¼ (Double write buffer)** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í• ëª©** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_flush_block | Counter/timer | 플러시 (flush)ë˜ëŠ” ë¸”ë¡ (block)ì˜ ê°¯ìˆ˜ì™€ ì „ì²´ 쓰기 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_file_sync_helper | Counter/timer | DWB helperì— ì˜í•´ ë™ê¸°í™”ëœ íŒŒì¼ì˜ 갯수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_flush_block_cond_wait | Counter/timer | DWB ì“°ë ˆë“œë“¤ì´ ê¸°ë‹¤ë¦¬ëŠ” 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_flush_block_sort | Counter/timer | 플러시 (flush)하기 위하여 ì •ë ¬ëœ íŽ˜ì´ì§€ì˜ 갯수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_decache_pages_after_write | Counter/timer | 플러시 (flush) ì´í›„ DWB ìºì‹œì—서 ì œê±°ë˜ëŠ” 페ì´ì§€ë“¤ì˜ 갯수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_wait_flush_block | Counter/timer | | 페ì´ì§€ë¥¼ 추가하기 위하여 블ë¡ì´ 플러시 (flush)ë˜ê¸°ë¥¼ 기다리는 | | | | | 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_wait_file_sync_helper | Counter/timer | DWB helperê°€ 파ì¼ì„ ë™ê¸°í™”하는 ê²ƒì„ ê¸°ë‹¤ë¦¬ëŠ” 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | ..DWB_flush_force | Counter/timer | ê°•ì œë¡œ DWB를 ì™„ì „ížˆ 플러시 (flush)한 횟수와 시간 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_dwb_flushed_block_volumes | Complex | | ê°ê°ì˜ ë¸”ë¡ í”ŒëŸ¬ì‹œ (block flush)ì— ì˜í•´ ë™ê¸°í™”ëœ íŒŒì¼ë“¤ ê°¯ìˆ˜ì˜ | | | | | ížˆìŠ¤í† ê·¸ëž¨ (마지막 ê°’ì€ 10 í˜¹ì€ ê·¸ ì´ìƒì˜ 파ì¼ë“¤) | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **MVCC 스냅샷** +------------------------------------------+----------------+-----------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_get_snapshot_acquire_time: | Accumulator | ìŠ¤ëƒ…ìƒ·ì„ íšë“하기 위해 ëª¨ë“ íŠ¸ëžœìžì…˜ì´ ìˆ˜í–‰ëœ ì´ ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Count_get_snapshot_retry: | Accumulator | MVCC ìŠ¤ëƒ…ìƒ·ì„ íšë“하기 위한 ìž¬ì‹œë„ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_tran_complete_time: | Accumulator | 커밋 / 롤백시 스냅샷 ë° MVCCID를 무효화하는 ë° ìˆ˜í–‰ëœ ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Time_get_oldest_mvcc_acquire_time: | Accumulator | "가장 ì˜¤ëž˜ëœ ì „ì— MVCC ID" 를 íšë“하기 위해 ìˆ˜í–‰ëœ ì‹œê°„ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Count_get_oldest_mvcc_retry: | Accumulator | "가장 ì˜¤ëž˜ëœ ì „ì— MVCC ID" 를 íšë“하기 위한 ìž¬ì‹œë„ íšŸìˆ˜ | +------------------------------------------+----------------+-----------------------------------------------------------------------+ | Num_mvcc_snapshot_ext | Complex | | 다ìŒê³¼ ê°™ì´ ë¶„ë¥˜ëœ ë°ì´í„° 페ì´ì§€ ìˆ˜ì • 수 | | | | | - 스냅샷 타입 | | | | | - 삽입/ì‚ì œ MVCCIDì˜ ìƒíƒœ | | | | | - 가시성/비가시성 | +------------------------------------------+----------------+-----------------------------------------------------------------------+ **워커 ìŠ¤ë ˆë“œ** 워커 ìŠ¤ë ˆë“œ í’€ì—서 수집한 통계 ì •ë³´: +--------------------------+----------------+---------------------------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..start_thread | Counter/timer | 새 ìŠ¤ë ˆë“œë¥¼ 시작한 횟수와 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..create_context | Counter/timer | ìŠ¤ë ˆë“œ 컨í…스트를 ìƒì„±í•œ 횟수와 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..execute_task | Counter/timer | 실행한 ìž‘ì—…ì˜ ìˆ˜ì™€ 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..retire_task | Counter/timer | í기한 작업 ê°ì²´ì˜ 수와 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..found_task_in_queue | Counter/timer | 대기열ì—서 발견한 ìž‘ì—…ì˜ ìˆ˜ì™€ ì´ì „ ìž‘ì—…ì„ ì™„ë£Œí•œ 후 ëŒ€ê¸°ì—´ì— ìš”ì²í•œ 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..wakeup_with_task | Counter/timer | 대기 ì¤‘ì¸ ìŠ¤ë ˆë“œì— í• ë‹¹í•œ ìž‘ì—…ì˜ ìˆ˜ì™€ ìŠ¤ë ˆë“œë¥¼ 깨우기 위해 사용한 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..recycle_context | Counter/timer | 작업 실행 ê°„ 재활용한 ìŠ¤ë ˆë“œ 컨í…ìŠ¤íŠ¸ì˜ ìˆ˜ì™€ 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..retire_context | Counter/timer | í기한 ìŠ¤ë ˆë“œ 컨í…ìŠ¤íŠ¸ì˜ ìˆ˜ì™€ 시간 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ ë‘ê°œì˜ ì›Œì»¤ í’€ì—서 수집한 통계 ì •ë³´: * **Thread_stats_counters_timers**: í´ë¼ì´ì–¸íЏ ìš”ì²ì„ 처리하는 ì›Œì»¤ì— ëŒ€í•œ 통계 ì •ë³´ * **Thread_loaddb_stats_counters_timers**: loaddb ëª…ë ¹ 사용시 ë°ì´í„°ë² ì´ìŠ¤ì— ë°ì´í„°ë¥¼ 로딩하는 ì›Œì»¤ì— ëŒ€í•œ 통계 ì •ë³´ *ì´ í†µê³„ ì •ë³´ë¥¼ ë³´ë ¤ë©´ 최소한 í•˜ë‚˜ì˜ ë¡œë“œ ì„¸ì…˜ì´ í™œì„±í™”ë˜ì–´ 있어야 한다*. **ë°ëª¬ ìŠ¤ë ˆë“œ**: 백그ë¼ìš´ë“œ ë°ëª¬ ìŠ¤ë ˆë“œê°€ 수집한 통계 ì •ë³´: +--------------------------+----------------+---------------------------------------------------------------------------------------+ | **í•목** | **통계 타입** | **설명** | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..daemon_loop_count | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œê°€ 실행한 반복 횟수 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..daemon_execute_time | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œê°€ 실행 시 사용한 ì´ ì‹œê°„ | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..daemon_pause_time | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œê°€ 실행 ê°„ 소비한 ì´ ì‹œê°„ | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..looper_sleep_count | Accumulator | ìŠ¤ë ˆë“œ 반복ìžê°€ ì •ì§€ ìƒíƒœê°€ ëœ íšŸìˆ˜ | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..looper_sleep_time | Accumulator | ìŠ¤ë ˆë“œ 반복ìžê°€ ì •ì§€ ìƒíƒœì—서 소비한 ì´ ì‹œê°„ | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..looper_reset_count | Accumulator | ì¦ë¶„ 반복ìžê°€ 깨어나며 ìž¬ì„¤ì •ë˜ëŠ” 횟수 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_wakeup_count | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œì— ê¹¨ìš°ê¸° ìš”ì²í•œ 횟수 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_lock_wakeup\ | Accumulator | ìž ê¸ˆ ìš”ì²í•œ ë°ëª¬ ìŠ¤ë ˆë“œ 깨우기 ìš”ì² íšŸìˆ˜ | | \_count | | | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_sleep_count | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œê°€ ì •ì§€ ìƒíƒœê°€ ëœ íšŸìˆ˜ | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_timeout_count | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œê°€ 시간 초과로 종료한 대기 횟수 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_no_sleep_count | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œê°€ 대기하지 ì•Šê³ ë°˜ë³µí•œ 횟수 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_awake_count | Accumulator | 다른 ìŠ¤ë ˆë“œì˜ ìš”ì²ìœ¼ë¡œ ë°ëª¬ ìŠ¤ë ˆë“œë¥¼ 깨운 횟수 | +--------------------------+----------------+---------------------------------------------------------------------------------------+ | ..waiter_wakeup_delay\ | Accumulator | ë°ëª¬ ìŠ¤ë ˆë“œë¥¼ ê¹¨ìš°ëŠ”ë° ì‚¬ìš©í•œ ì´ ì‹œê°„ | | \_time | | | +--------------------------+----------------+---------------------------------------------------------------------------------------+ ë‹¤ìŒ ë°ëª¬ ìŠ¤ë ˆë“œì— ëŒ€í•´ ìˆ˜ì§‘ëœ í†µê³„ ì •ë³´: +-------------------------------------------+---------------------------------------------------------------------------------------+ | **ë°ëª¬ ì´ë¦„** | **설명** | +-------------------------------------------+---------------------------------------------------------------------------------------+ | Page_flush_daemon_thread | 디스í¬ì— ë°ì´í„° 페ì´ì§€ë¥¼ 내보내는 백그ë¼ìš´ë“œ ìŠ¤ë ˆë“œ | +-------------------------------------------+---------------------------------------------------------------------------------------+ | Page_post_flush_daemon_thread | ë°ì´í„° 페ì´ì§€ë¥¼ 내보내기 위해 사용한 메모리 ê³µê°„ì„ íšŒìˆ˜í•˜ëŠ” 백그ë¼ìš´ë“œ ìŠ¤ë ˆë“œ | +-------------------------------------------+---------------------------------------------------------------------------------------+ | Page_flush_control_daemon_thread | ë°ì´í„° 내보내기 ë¹„ìœ¨ì„ ì¡°ì •í•˜ëŠ” 백그ë¼ìš´ë“œ ìŠ¤ë ˆë“œ | +-------------------------------------------+---------------------------------------------------------------------------------------+ | Page_maintenance_daemon_thread | ê°œì¸ LRU ë¦¬ìŠ¤íŠ¸ì˜ í• ë‹¹ëŸ‰ì„ ìž¬ê³„ì‚°í•˜ëŠ” 백그ë¼ìš´ë“œ ìŠ¤ë ˆë“œ | +-------------------------------------------+---------------------------------------------------------------------------------------+ | Deadlock_detect_daemon_thread | êµì°© ìƒíƒœë¥¼ ì°¾ê³ ì‹œìŠ¤í…œ ì •ì§€ë¥¼ 막기 위해 í¬ìƒìž(victim)를 ì„ íƒí•˜ëŠ” 백그ë¼ìš´ë“œ ìŠ¤ë ˆë“œ | +-------------------------------------------+---------------------------------------------------------------------------------------+ | Log_flush_daemon_thread | 디스í¬ì— 로그 ë°ì´í„°ë¥¼ 내보내는 백그ë¼ìš´ë“œ ìŠ¤ë ˆë“œ | +-------------------------------------------+---------------------------------------------------------------------------------------+ .. Note:: (*) : 통계치는 ë‚´ë¶€ì—서 수행ë˜ëŠ” 비 MVCC ì—°ì‚° ë˜ëŠ” MVCC ì—°ì‚°ì— ëŒ€í•œ ì¸¡ì • ìžë£Œì´ë‹¤ (ë‚´ë¶€ì 으로 ê²°ì •ë¨) .. option:: -o, --output-file=FILE **-o** ì˜µì…˜ì„ ì´ìš©í•˜ì—¬ ëŒ€ìƒ ë°ì´í„°ë² ì´ìФ ì„œë²„ì˜ ì‹¤í–‰ 통계 ì •ë³´ë¥¼ ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥í•œë‹¤. :: cubrid statdump -o statdump.log testdb .. option:: -c, --cumulative **-c** ì˜µì…˜ì„ ì´ìš©í•˜ì—¬ ëŒ€ìƒ ë°ì´í„°ë² ì´ìФ ì„œë²„ì˜ ëˆ„ì ëœ ì‹¤í–‰ 통계 ì •ë³´ë¥¼ ì¶œë ¥í• ìˆ˜ 있다. Num_data_page_fix_ext, Num_data_page_unfix_ext, Time_data_page_hold_acquire_time, Time_data_page_fix_acquire_time ì •ë³´ëŠ” ì´ ì˜µì…˜ì„ ì¼œì•¼ë§Œ ì¶œë ¥ë˜ëŠ”ë°, 해당 ì •ë³´ë“¤ì€ CUBRID 엔진 개발ìžë¥¼ 위한 ì •ë³´ì´ë¯€ë¡œ ì„¤ëª…ì„ ìƒëžµí•œë‹¤. **-i** 옵션과 결합하면, ì§€ì •ëœ ì‹œê°„ 간격(interval)마다 실행 통계 ì •ë³´ë¥¼ 확ì¸í• 수 있다. :: cubrid statdump -i 5 -c testdb .. option:: -s, --substr=STRING **-s** 옵션 ë’¤ì— ë¬¸ìžì—´ì„ ì§€ì •í•˜ë©´, í•목 ì´ë¦„ ë‚´ì— í•´ë‹¹ 문ìžì—´ì„ í¬í•¨í•˜ëŠ” 통계 ì •ë³´ë§Œ ì¶œë ¥í• ìˆ˜ 있다. ë‹¤ìŒ ì˜ˆëŠ” í•목 ì´ë¦„ ë‚´ì— "data"를 í¬í•¨í•˜ëŠ” 통계 ì •ë³´ë§Œ ì¶œë ¥í•œë‹¤. :: cubrid statdump -s data testdb *** SERVER EXECUTION STATISTICS *** Num_data_page_fetches = 0 Num_data_page_dirties = 0 Num_data_page_ioreads = 0 Num_data_page_iowrites = 0 Num_data_page_flushed = 0 Num_data_page_private_quota = 327 Num_data_page_private_count = 898 Num_data_page_fixed = 1 Num_data_page_dirty = 3 Num_data_page_lru1 = 857 Num_data_page_lru2 = 873 Num_data_page_lru3 = 898 Num_data_page_victim_candidate = 898 Num_sort_data_pages = 0 Vacuum_data_page_buffer_hit_ratio = 0.00 Num_data_page_hash_anchor_waits = 0 Time_data_page_hash_anchor_wait = 0 Num_data_page_writes = 0 Num_data_page_dirty_to_post_flush = 0 Num_data_page_skipped_flush = 0 Num_data_page_skipped_flush_need_wal = 0 Num_data_page_skipped_flush_already_flushed = 0 Num_data_page_skipped_flush_fixed_or_hot = 0 Num_data_page_avoid_dealloc = 0 Num_data_page_avoid_victim = 0 Num_data_page_fix_ext: Num_data_page_promote_ext: Num_data_page_promote_time_ext: Num_data_page_unfix_ext: Time_data_page_lock_acquire_time: Time_data_page_hold_acquire_time: Time_data_page_fix_acquire_time: .. note:: ê° ìƒíƒœ ì •ë³´ëŠ” 64비트 **INTEGER** 로 구성ë˜ì–´ 있으며, 누ì ëœ ê°’ì´ í•œë„를 넘으면 해당 실행 통계 ì •ë³´ê°€ ìœ ì‹¤ë 수 있다. .. note:: 아래는 활성화/비활성화 í• ìˆ˜ 있는 성능 통계 세트 목ë¡ì´ë‹¤. ê° ì„¸íŠ¸ì˜ ê°’ì€ 2ì˜ ì œê³±ìœ¼ë¡œ 표현ëœë‹¤. ì´ ì„¸íŠ¸ë“¤ì€ **extended_statistics_activation** 시스템 매개 변수 ê°’ì— ì˜í•´ 활성화/비활성화ë˜ë©°, ì´ ë³€ìˆ˜ ê°’ì€ 2진수 형ì‹ìœ¼ë¡œ ì„¤ì •í•œë‹¤ ========= ===================================== =========== ==================================================================== ê°’ ì´ë¦„ 활성 설명 기본값 ========= ===================================== =========== ==================================================================== **1** **Detailed b-tree pages** Yes | B- 트리 페ì´ì§€ë¥¼ 3 가지 ì¹´í…Œê³ ë¦¬ë¡œ 분류한다.: 루트, 비단ë§,ë‹¨ë§ | ê´€ë ¨ 통계수치: | - Num_data_page_fix_ext | - Time_data_page_lock_acquire_time | - Time_data_page_hold_acquire_time | - Time_data_page_fix_acquire_time | - Num_data_page_promote_ext | - Num_data_page_promote_time_ext | - Num_data_page_unfix_ext **2** **MVCC Snapshot** Yes | MVCC ìŠ¤ëƒ…ìƒ·ì— ëŒ€í•œ 통계 수집 : | - Num_mvcc_snapshot_ext **4** **Time locks** Yes | 타ì´ë° ìž ê¸ˆ ëŒ€ê¸°ì— ëŒ€í•œ 통계 수집 : | - Num_object_locks_time_waited_usec **8** **Hash anchor waits** Yes | 해시 앵커 ëŒ€ê¸°ì— ëŒ€í•œ 통계 수집 : | - Num_data_page_hash_anchor_waits | - Time_data_page_hash_anchor_wait **16** **Extended victimization** No | 확장 페ì´ì§€ ë²„í¼ I/O ë° victim 대한 | 통계 수집 : | - Num_data_page_writes | - flush_collect_per_page | - flush_flush_per_page | - Num_data_page_skipped_flush_already_flushed | - Num_data_page_skipped_flush_need_wal | - Num_data_page_skipped_flush_fixed_or_hot | - Num_data_page_dirty_to_post_flush | - Num_alloc_bcb_prioritize_vacuum | - Num_victim_assign_direct_vacuum_void | - Num_victim_assign_direct_vacuum_lru | - Num_victim_assign_direct_flush | - Num_victim_assign_direct_panic | - Num_victim_assign_direct_adjust_lru | - Num_victim_assign_direct_adjust_lru_to_vacuum | - Num_victim_assign_direct_search_for_flush | - Num_victim_shared_lru_success | - Num_victim_own_private_lru_success | - Num_victim_other_private_lru_success | - Num_victim_shared_lru_fail | - Num_victim_own_private_lru_fail | - Num_victim_other_private_lru_fail | - Num_victim_get_from_lru | - Num_victim_get_from_lru_was_empty | - Num_victim_get_from_lru_fail | - Num_victim_get_from_lru_bad_hint | - Num_lfcq_prv_get_total_calls | - Num_lfcq_prv_get_empty | - Num_lfcq_prv_get_big | - Num_lfcq_shr_get_total_calls | - Num_lfcq_shr_get_empty **32** **Thread workers** No | ìŠ¤ë ˆë“œ 워커 í’€ì— ëŒ€í•œ 통계 수집 : | - Thread_stats_counters_timers | - Thread_loaddb_stats_counters_timers **64** **Thread daemons** No | ë°ëª¬ ìŠ¤ë ˆë“œì— ëŒ€í•œ 통계 수집 : | - Thread_pgbuf_daemon_stats_counters_timers **128** **Extended DWB** No | ì´ì¤‘ 쓰기 버í¼ì— 대한 통계 수집 : | - Num_dwb_flushed_block_volumes **MAX** **All statistics** No | ëª¨ë“ í†µê³„ 수집 ========= ===================================== =========== ==================================================================== .. _lockdb: lockdb ------ **cubrid lockdb** 는 ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ 현재 트랜ìžì…˜ì—서 사용ë˜ê³ 있는 ìž ê¸ˆ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ìœ í‹¸ë¦¬í‹°ì´ë‹¤. :: cubrid lockdb [<option>] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **lockdb**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ 현재 트랜ìžì…˜ì—서 사용ë˜ê³ 있는 ìž ê¸ˆ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ëª…ë ¹ì´ë‹¤. * *database_name*: 현재 트랜ìžì…˜ì˜ ìž ê¸ˆ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. ë‹¤ìŒ ì˜ˆëŠ” 옵션 ì—†ì´ testdb ë°ì´í„°ë² ì´ìŠ¤ì˜ ìž ê¸ˆ ì •ë³´ë¥¼ í™”ë©´ì— ì¶œë ¥í•œë‹¤. :: cubrid lockdb testdb 다ìŒì€ **cubrid lockdb** ì— ëŒ€í•œ [option]ì´ë‹¤. .. program:: lockdb .. option:: -o, --output-file=FILE ë°ì´í„°ë² ì´ìŠ¤ì˜ ìž ê¸ˆ ì •ë³´ë¥¼ output.txt로 ì¶œë ¥í•œë‹¤. :: cubrid lockdb -o output.txt testdb ì¶œë ¥ ë‚´ìš© ^^^^^^^^^ **cubrid lockdb** ì˜ ì¶œë ¥ ë‚´ìš©ì€ ë…¼ë¦¬ì 으로 3ê°œì˜ ì„¹ì…˜ìœ¼ë¡œ ë‚˜ë‰˜ì–´ì ¸ 있다. * ì„œë²„ì— ëŒ€í•œ ìž ê¸ˆ ì„¤ì • * 현재 ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ì†í•œ í´ë¼ì´ì–¸íŠ¸ë“¤ * ê°ì²´ ìž ê¸ˆ í…Œì´ë¸”ì˜ ë‚´ìš© **ì„œë²„ì— ëŒ€í•œ ìž ê¸ˆ ì„¤ì •** **cubrid lockdb** ì¶œë ¥ ë‚´ìš©ì˜ ì²« 번째 ì„¹ì…˜ì€ ë°ì´í„°ë² ì´ìФ ì„œë²„ì— ëŒ€í•œ ìž ê¸ˆ ì„¤ì •ì´ë‹¤. :: *** Lock Table Dump *** Lock Escalation at = 100000, Run Deadlock interval = 0 위ì—서 ìž ê¸ˆ ì—ìŠ¤ì»¬ë ˆì´ì…˜ ë ˆë²¨ì€ 100000ë ˆì½”ë“œë¡œ, êµì°© ìƒíƒœ íƒì§€ ê°„ê²©ì€ 0초로 ì„¤ì •ë˜ì–´ 있다. ê´€ë ¨ 시스템 파ë¼ë¯¸í„°ì¸ **lock_escalation** ê³¼ **deadlock_detection_interval** ì— ëŒ€í•œ ì„¤ëª…ì€ :ref:`lock-parameters` 를 ì°¸ê³ í•œë‹¤. **현재 ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ì†í•œ í´ë¼ì´ì–¸íŠ¸ë“¤** **cubrid lockdb** ì¶œë ¥ ë‚´ìš©ì˜ ë‘ ë²ˆì§¸ ì„¹ì…˜ì€ ë°ì´í„°ë² ì´ìŠ¤ì— ì—°ê²°ëœ ëª¨ë“ í´ë¼ì´ì–¸íŠ¸ì˜ ì •ë³´ë¥¼ í¬í•¨í•œë‹¤. ì´ ì •ë³´ì—는 ê°ê°ì˜ í´ë¼ì´ì–¸íŠ¸ì— ëŒ€í•œ 트랜ìžì…˜ ì¸ë±ìФ, 프로그램 ì´ë¦„, ì‚¬ìš©ìž ID, 호스트 ì´ë¦„, 프로세스 ID, 격리 수준, ê·¸ë¦¬ê³ ìž ê¸ˆ 타임아웃 ì„¤ì •ì´ í¬í•¨ëœë‹¤. :: Transaction (index 1, csql, dba@cubriddb|12854) Isolation COMMITTED READ Timeout_period : Infinite wait 위ì—서 트랜ìžì…˜ ì¸ë±ìŠ¤ëŠ” 1ì´ê³ , 프로그램 ì´ë¦„ì€ csql, ì‚¬ìš©ìž idì€ dba, 호스트 ì´ë¦„ì€ cubriddb, í´ë¼ì´ì–¸íЏ 프로세스 id는 12854, 격리 ìˆ˜ì¤€ì€ COMMITTED READ, ê·¸ë¦¬ê³ ìž ê¸ˆ íƒ€ìž„ì•„ì›ƒì€ ë¬´ì œí•œì´ë‹¤. 트랜ìžì…˜ ì¸ë±ìŠ¤ê°€ 0ì¸ í´ë¼ì´ì–¸íŠ¸ëŠ” ë‚´ë¶€ì ì¸ ì‹œìŠ¤í…œ 트랜ìžì…˜ì´ë‹¤. ì´ê²ƒì€ ë°ì´í„°ë² ì´ìŠ¤ì˜ ì²´í¬í¬ì¸íЏ 수행과 ê°™ì´ íŠ¹ì •í•œ ì‹œê°„ì— ìž ê¸ˆì„ íšë“í• ìˆ˜ 있지만 ëŒ€ë¶€ë¶„ì˜ ê²½ìš° ì´ íŠ¸ëžœìžì…˜ì€ ì–´ë–¤ ìž ê¸ˆë„ íšë“하지 ì•Šì„ ê²ƒì´ë‹¤. **cubrid lockdb** ìœ í‹¸ë¦¬í‹°ëŠ” ìž ê¸ˆ ì •ë³´ë¥¼ ê°€ì ¸ì˜¤ê¸° 위해 ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ì†í•˜ê¸° ë•Œë¬¸ì— **cubrid lockdb** ìžì²´ê°€ í•˜ë‚˜ì˜ í´ë¼ì´ì–¸íЏì´ê³ ë”°ë¼ì„œ í´ë¼ì´ì–¸íŠ¸ì˜ í•˜ë‚˜ë¡œ ì¶œë ¥ëœë‹¤. **ê°ì²´ ìž ê¸ˆ í…Œì´ë¸”** **cubrid lockdb** ì¶œë ¥ ë‚´ìš©ì˜ ì„¸ 번째 ì„¹ì…˜ì€ ê°ì²´ ìž ê¸ˆ í…Œì´ë¸”ì˜ ë‚´ìš©ì„ í¬í•¨í•œë‹¤. ì´ê²ƒì€ ì–´ë–¤ ê°ì²´ì— 대해서 ì–´ë–¤ í´ë¼ì´ì–¸íŠ¸ê°€ ì–´ë–¤ 모드로 ìž ê¸ˆì„ ê°€ì§€ê³ ìžˆëŠ”ì§€, ì–´ë–¤ ê°ì²´ì— 대해서 ì–´ë–¤ í´ë¼ì´ì–¸íŠ¸ê°€ ì–´ë–¤ 모드로 ê¸°ë‹¤ë¦¬ê³ ìžˆëŠ”ì§€ë¥¼ 보여준다. ê°ì²´ ìž ê¸ˆ í…Œì´ë¸” ê²°ê³¼ë¬¼ì˜ ì²« 부분ì—는 얼마나 ë§Žì€ ê°ì²´ê°€ ìž ê¸ˆë˜ì—ˆëŠ”ì§€ê°€ ì¶œë ¥ëœë‹¤. :: Object lock Table: Current number of ojbects which are locked = 2001 **cubrid lockdb**\는 ìž ê¸ˆì„ íšë“한 ê° ê°ì²´ì˜ OID, ê°ì²´ 타입 ë° í…Œì´ë¸”ëª…ì„ ì¶œë ¥í•œë‹¤. ë˜í•œ ê°ì²´ì— 대한 ìž ê¸ˆì„ ë³´ìœ í•œ 트랜ìžì…˜ 수(*Num holders*), ìž ê¸ˆì„ ë³´ìœ í•˜ì§€ë§Œ ìž ê¸ˆì„ ìƒìœ„ ìž ê¸ˆìœ¼ë¡œ 변환(예: **SCH_S_LOCK**\ì—서 **SCH_M_LOCK**\ìœ¼ë¡œì˜ ë³€í™˜)í• ìˆ˜ 없어 ì°¨ë‹¨ëœ íŠ¸ëžœìžì…˜ 수(*Num blocked-holders*) ë° ê°ì²´ì˜ ìž ê¸ˆì„ ê¸°ë‹¤ë¦¬ëŠ” 다른 트랜ìžì…˜ì˜ 수(*Num waiters*)를 ì¶œë ¥í•œë‹¤. ìž ê¸ˆì„ ë³´ìœ í•œ í´ë¼ì´ì–¸íЏ 트랜ìžì…˜, ì°¨ë‹¨ëœ í´ë¼ì´ì–¸íЏ 트랜ìžì…˜ ë° ëŒ€ê¸° ì¤‘ì¸ í´ë¼ì´ì–¸íЏ 트랜ìžì…˜ì˜ 목ë¡ë„ ì¶œë ¥í•œë‹¤. ê°ì²´ íƒ€ìž…ì´ í´ëž˜ìŠ¤ê°€ 아닌 í–‰ì—서는 MVCC ì •ë³´ë„ í‘œì‹œëœë‹¤. ë‹¤ìŒ ì˜ˆì œëŠ” OID(0|62|5)ì¸ í´ëž˜ìФ íƒ€ìž…ì˜ ê°ì²´ë¥¼ 나타내며,트랜ìžì…˜ 1ì€ **IX_LOCK**\ì„ ë³´ìœ í•˜ê³ íŠ¸ëžœìžì…˜ 2는 **SCH_S_LOCK**\ì„ ë³´ìœ í•œ ìƒíƒœì—서 **SCH_M_LOCK**\으로 ë³€í™˜í• ìˆ˜ 없어 ì°¨ë‹¨ëœ ìƒíƒœë¥¼ 보여준다. ë˜í•œ 트랜ìžì…˜ 3ì€**SCH_S_LOCK**\ì„ ê¸°ë‹¤ë¦¬ì§€ë§Œ 트랜ìžì…˜ 2ê°€ **SCH_M_LOCK**\ì„ ê¸°ë‹¤ë¦¬ê¸° ë•Œë¬¸ì— ì°¨ë‹¨ëœ ìƒíƒœë¥¼ 보여준다. :: OID = 0| 62| 5 Object type: Class = athlete. Num holders = 1, Num blocked-holders= 1, Num waiters = 1 LOCK HOLDERS : Tran_index = 1, Granted_mode = IX_LOCK, Count = 1, Nsubgranules = 1 BLOCKED LOCK HOLDERS : Tran_index = 2, Granted_mode = SCH_S_LOCK, Count = 1, Nsubgranules = 0 Blocked_mode = SCH_M_LOCK Start_waiting_at = Wed Feb 3 14:44:31 2016 Wait_for_secs = -1 LOCK WAITERS : Tran_index = 3, Blocked_mode = SCH_S_LOCK Start_waiting_at = Wed Feb 3 14:45:14 2016 Wait_for_secs = -1 ë‹¤ìŒ ì˜ˆëŠ” **X_LOCK** ì„ ë³´ìœ í•œ 트랜ìžì…˜ 1ì— ì˜í•´ì„œ ì‚½ìž…ëœ OIDê°€ ( 2 | 50 | 1)ì¸ í´ëž˜ìŠ¤ì˜ ì¸ìŠ¤í„´ìŠ¤ë¥¼ 보여준다. 트랜ìžì…˜1ì´ ì‚½ìž…í•œ ì¸ìŠ¤í„´ìŠ¤ë¥¼ ìˆ˜ì •í•˜ê¸° 위해 트랜ìžì…˜2ê°€ **X_LOCK** ì„ ê¸°ë‹¤ë¦¬ëŠ” ê²ƒì„ ë³´ì—¬ì¤€ë‹¤. :: OID = 2| 50| 1 Object type: instance of class ( 0| 62| 5) = athlete. MVCC info: insert ID = 6, delete ID = missing. Num holders = 1, Num blocked-holders= 1, Num waiters = 1 LOCK HOLDERS : Tran_index = 1, Granted_mode = X_LOCK, Count = 1 LOCK WAITERS : Tran_index = 2, Blocked_mode = X_LOCK Start_waiting_at = Wed Feb 3 14:45:14 2016 Wait_for_secs = -1 *Granted_mode* 는 습ë“한 ìž ê¸ˆì˜ ëª¨ë“œë¥¼ 나타내며, *Blocked_mode* 는 ì°¨ë‹¨ëœ ìž ê¸ˆì˜ ëª¨ë“œë¥¼ 나타낸다. *Starting_waiting_at* ì€ ìž ê¸ˆì´ ìš”ì²ëœ ì‹œê°„ì„ ë‚˜íƒ€ë‚´ë©°, *Wait_for_secs* 는 ìž ê¸ˆì˜ ëŒ€ê¸° ì‹œê°„ì„ ë‚˜íƒ€ë‚¸ë‹¤. *Wait_for_secs* ê°’ì€ ì‹œìŠ¤í…œ 파ë¼ë¯¸í„°ì¸ **lock_timeout** ì— ì˜í•´ ê²°ì •ëœë‹¤. ê°ì²´ íƒ€ìž…ì´ í´ëž˜ìФ(í…Œì´ë¸”)ì¸ ê²½ìš° í…Œì´ë¸”ì˜ íŠ¹ì • 트랜ìžì…˜ì—서 íšë“한 ë ˆì½”ë“œ ìž ê¸ˆê³¼ 키 ìž ê¸ˆì˜ í•©ê³„ë¥¼ 나타내는 *Nsubgranules* ê°€ 표시ëœë‹¤. :: OID = 0| 62| 5 Object type: Class = athlete Num holders = 2, Num blocked-holders= 0, Num waiters= 0 LOCK HOLDERS: Tran_index = 3, Granted_mode = IS_LOCK, Count = 2, Nsubgranules = 0 Tran_index = 1, Granted_mode = IX_LOCK, Count = 3, Nsubgranules = 1 Tran_index = 2, Granted_mode = IS_LOCK, Count = 2, Nsubgranules = 1 .. _tranlist: tranlist -------- **cubrid tranlist** 는 ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ íŠ¸ëžœìžì…˜ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ìœ í‹¸ë¦¬í‹°ì´ë‹¤. :: cubrid tranlist [options] database_name ì˜µì…˜ì„ ìƒëžµí•˜ë©´ ê° íŠ¸ëžœìžì…˜ì— 대한 ì „ì²´ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. "cubrid tranlist demodb"는 "cubrid killtran -q demodb"와 비슷한 결과를 ì¶œë ¥í•˜ë‚˜, 후ìžì— 비해 "User name"ê³¼ "Host name"ì„ ë” ì¶œë ¥í•œë‹¤. "cubrid tranlist -s demodb"는 "cubrid killtran -d demodb"와 ë™ì¼í•œ 결과를 ì¶œë ¥í•œë‹¤. 다ìŒì€ tranlist ì¶œë ¥ ê²°ê³¼ì˜ ì˜ˆì´ë‹¤. :: $ cubrid tranlist demodb Tran index User name Host name Process id Program name Query time Tran time Wait for lock holder SQL_ID SQL Text -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1(ACTIVE) public test-server 1681 broker1_cub_cas_1 0.00 0.00 -1 *** empty *** 2(ACTIVE) public test-server 1682 broker1_cub_cas_2 0.00 0.00 -1 *** empty *** 3(ACTIVE) public test-server 1683 broker1_cub_cas_3 0.00 0.00 -1 *** empty *** 4(ACTIVE) public test-server 1684 broker1_cub_cas_4 1.80 1.80 3, 2, 1 e5899a1b76253 update ta set a = 5 where a > 0 5(ACTIVE) public test-server 1685 broker1_cub_cas_5 0.00 0.00 -1 *** empty *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SQL_ID: e5899a1b76253 Tran index : 4 update ta set a = 5 where a > 0 ìœ„ì˜ ì˜ˆëŠ” 3ê°œì˜ íŠ¸ëžœìžì…˜ì´ ê°ê° INSERTë¬¸ì„ ì‹¤í–‰ ì¤‘ì¼ ë•Œ ë˜ ë‹¤ë¥¸ 트랜ìžì…˜ì—서 UPDATEë¬¸ì˜ ì‹¤í–‰ì„ ì‹œë„한다. 위ì—서 Tran indexê°€ 4ì¸ updateë¬¸ì€ 3,2,1(Wait for lock holder)ë²ˆì˜ íŠ¸ëžœìžì…˜ì´ 종료ë˜ê¸°ë¥¼ ëŒ€ê¸°í•˜ê³ ìžˆë‹¤. í™”ë©´ì— ì¶œë ¥ë˜ëŠ” 질ì˜ë¬¸(SQL Text)ì€ ì§ˆì˜ ê³„íš ìºì‹œì— ì €ìž¥ë˜ì–´ 있는 ê²ƒì„ ë³´ì—¬ì¤€ë‹¤. ì§ˆì˜ ìˆ˜í–‰ì´ ì™„ë£Œë˜ë©´ **empty** 로 표시ëœë‹¤. ê° ì¹¼ëŸ¼ì˜ ì˜ë¯¸ëŠ” 다ìŒê³¼ 같다. * Tran index: 트랜ìžì…˜ ì¸ë±ìФ * User name: ë°ì´í„°ë² ì´ìФ ì‚¬ìš©ìž ì´ë¦„ * Host name: 해당 트랜ìžì…˜ì´ 수행ë˜ëŠ” CASì˜ í˜¸ìŠ¤íŠ¸ ì´ë¦„ * Process id: í´ë¼ì´ì–¸íЏ 프로세스 ID * Program name: í´ë¼ì´ì–¸íЏ 프로그램 ì´ë¦„ * Query time: ìˆ˜í–‰ì¤‘ì¸ ì§ˆì˜ì˜ ì´ ìˆ˜í–‰ 시간(단위: ì´ˆ) * Tran time: 현재 트랜ìžì…˜ì˜ ì´ ìˆ˜í–‰ 시간(단위: ì´ˆ) * Wait for lock holder: 현재 트랜ìžì…˜ì´ ë½ ëŒ€ê¸°ì¤‘ì´ë©´ 해당 ë½ì„ ì†Œìœ í•˜ê³ ìžˆëŠ” 트랜ìžì…˜ì˜ 리스트 * SQL_ID: SQL Textì— ëŒ€í•œ ID. cubrid killtran ëª…ë ¹ì˜ **\-\-kill-sql-id** 옵션ì—서 사용ë 수 있다. * SQL Text: ìˆ˜í–‰ì¤‘ì¸ ì§ˆì˜ë¬¸(최대 30ìž) "Tran index"ì— ë³´ì—¬ì§€ëŠ” transaction ìƒíƒœ 메시지는 다ìŒê³¼ 같다. * ACTIVE : 활성 * RECOVERY : ë³µêµ¬ì¤‘ì¸ íŠ¸ëžœìžì…˜ * COMMITTED : 커밋완료ë˜ì–´ 종료ë 트랜ìžì…˜ * COMMITTING : ì»¤ë°‹ì¤‘ì¸ íŠ¸ëžœìžì…˜ * ABORTED : 롤백ë˜ì–´ 종료ë 트랜ìžì…˜ * KILLED : ì„œë²„ì— ì˜í•´ ê°•ì œ 종료 ì¤‘ì¸ íŠ¸ëžœìžì…˜ 다ìŒì€ **cubrid tranlist** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: tranlist :: -s, --summary 질ì˜ì •ë³´ ë° ë½ ì •ë³´ ìƒëžµ --sort-key=COLUMN_NUMBER ì •ë ¬í• ì»¬ëŸ¼ë²ˆí˜¸ --reverse 내림차순 ì •ë ¬ìˆ˜í–‰ .. option:: -s, --summary 요약 ì •ë³´ë§Œ ì¶œë ¥í•œë‹¤(ì§ˆì˜ ìˆ˜í–‰ ì •ë³´ ë˜ëŠ” ìž ê¸ˆ ê´€ë ¨ ì •ë³´ë¥¼ ìƒëžµ). :: $ cubrid tranlist -s demodb Tran index User name Host name Process id Program name ------------------------------------------------------------------------------- 1(ACTIVE) public test-server 1681 broker1_cub_cas_1 2(ACTIVE) public test-server 1682 broker1_cub_cas_2 3(ACTIVE) public test-server 1683 broker1_cub_cas_3 4(ACTIVE) public test-server 1684 broker1_cub_cas_4 5(ACTIVE) public test-server 1685 broker1_cub_cas_5 ------------------------------------------------------------------------------- .. option:: --sort-key=NUMBER 해당 NUMBER ìœ„ì¹˜ì˜ ì¹¼ëŸ¼ì— ëŒ€í•´ 오름차순으로 ì •ë ¬ëœ ê°’ì„ ì¶œë ¥í•œë‹¤. ì¹¼ëŸ¼ì˜ íƒ€ìž…ì´ ìˆ«ìžì¸ 경우는 숫ìžë¡œ ì •ë ¬ë˜ê³ , ê·¸ë ‡ì§€ ì•Šì€ ê²½ìš° 문ìžì—´ë¡œ ì •ë ¬ëœë‹¤. ìƒëžµë˜ë©´ "Tran index"ì— ëŒ€í•œ ì •ë ¬ê°’ì„ ë³´ì—¬ì¤€ë‹¤. 다ìŒì€ 네번째 ì¹¼ëŸ¼ì¸ "Process id"를 ì§€ì •í•˜ì—¬ ì •ë ¬í•œ ì •ë³´ë¥¼ ì¶œë ¥í•˜ëŠ” 예ì´ë‹¤. :: $ cubrid tranlist --sort-key=4 demodb Tran index User name Host name Process id Program name Query time Tran time Wait for lock holder SQL_ID SQL Text -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1(ACTIVE) public test-server 1681 broker1_cub_cas_1 0.00 0.00 -1 *** empty *** 2(ACTIVE) public test-server 1682 broker1_cub_cas_2 0.00 0.00 -1 *** empty *** 3(ACTIVE) public test-server 1683 broker1_cub_cas_3 0.00 0.00 -1 *** empty *** 4(ACTIVE) public test-server 1684 broker1_cub_cas_4 1.80 1.80 3, 1, 2 e5899a1b76253 update ta set a = 5 where a > 0 5(ACTIVE) public test-server 1685 broker1_cub_cas_5 0.00 0.00 -1 *** empty *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SQL_ID: e5899a1b76253 Tran index : 4 update ta set a = 5 where a > 0 .. option:: --reverse ì—순으로 ì •ë ¬ëœ ê°’ì„ ì¶œë ¥í•œë‹¤. 다ìŒì€ "Tran index"ì˜ ì—순으로 ì •ë ¬í•œ ì •ë³´ë¥¼ ì¶œë ¥í•˜ëŠ” 예ì´ë‹¤. :: Tran index User name Host name Process id Program name Query time Tran time Wait for lock holder SQL_ID SQL Text ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 5(ACTIVE) public test-server 1685 broker1_cub_cas_5 0.00 0.00 -1 *** empty *** 4(ACTIVE) public test-server 1684 broker1_cub_cas_4 1.80 1.80 3, 2, 1 e5899a1b76253 update ta set a = 5 where a > 0 3(ACTIVE) public test-server 1683 broker1_cub_cas_3 0.00 0.00 -1 *** empty *** 2(ACTIVE) public test-server 1682 broker1_cub_cas_2 0.00 0.00 -1 *** empty *** 1(ACTIVE) public test-server 1681 broker1_cub_cas_1 0.00 0.00 -1 *** empty *** ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ SQL_ID: e5899a1b76253 Tran index : 4 update ta set a = 5 where a > 0 .. _killtran: killtran -------- **cubrid killtran** ì€ ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ íŠ¸ëžœìžì…˜ì„ 확ì¸í•˜ê±°ë‚˜ íŠ¹ì • 트랜ìžì…˜ì„ ê°•ì œ 종료하는 ìœ í‹¸ë¦¬í‹°ë¡œì„œ, **DBA** 사용ìžë§Œ 트랜ìžì…˜ì„ ì œê±°í• ìˆ˜ 있다. :: cubrid killtran [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **killtran**: ì§€ì •ëœ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•´ 트랜ìžì…˜ì„ 관리하는 ëª…ë ¹ì–´ì´ë‹¤. * *database_name*: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì˜ ì´ë¦„ì´ë‹¤. [options]ì— ë”°ë¼ íŠ¹ì • 트랜ìžì…˜ì„ ì§€ì •í•˜ì—¬ ì œê±°í•˜ê±°ë‚˜, 현재 í™œì„±í™”ëœ íŠ¸ëžœìžì…˜ì„ 화면 ì¶œë ¥í• ìˆ˜ 있다. ì˜µì…˜ì´ ì§€ì •ë˜ì§€ 않으면, **-d** ì˜µì…˜ì´ ê¸°ë³¸ìœ¼ë¡œ ì ìš©ë˜ì–´ ëª¨ë“ íŠ¸ëžœìžì…˜ì„ 화면 ì¶œë ¥í•˜ë©°, cubrid tranlist ëª…ë ¹ì— **-s** ì˜µì…˜ì„ ì¤€ 것과 ë™ì¼í•˜ë‹¤. :: $ cubrid killtran demodb Tran index User name Host name Process id Program name ------------------------------------------------------------------------------- 1(ACTIVE) dba myhost 664 cub_cas 2(ACTIVE) dba myhost 6700 csql 3(ACTIVE) dba myhost 2188 cub_cas 4(ACTIVE) dba myhost 696 csql 5(ACTIVE) public myhost 6944 csql ------------------------------------------------------------------------------- 다ìŒì€ **cubrid killtran** ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: killtran :: -i, --kill-transaction-index=INDEX로 ì§€ì •ë˜ëŠ” 해당 트랜ìžì…˜ 종료 --kill-user-name=ID ID로 ì§€ì •ë˜ëŠ” 사용ìžì˜ ëª¨ë“ íŠ¸ëžœìžì…˜ 종료 --kill-host-name=HOST HOST로 ì§€ì •ë˜ëŠ” í´ë¼ì´ì–¸íŠ¸ì˜ ëª¨ë“ íŠ¸ëžœìžì…˜ 종료 --kill-program-name=NAME NAME으로 ì§€ì •ë˜ëŠ” ëª¨ë“ íŠ¸ëžœìžì…˜ 종료 --kill-sql-id=SQL_ID SQL_IDì— í•´ë‹¹í•˜ëŠ” 질ì˜ë¥¼ ì‹¤í–‰ì¤‘ì¸ ëª¨ë“ íŠ¸ëžœìžì…˜ 종료 -p, --dba-password=PASS DBA 패스워드 -q, --query-exec-info 현재 í™œì„±í™”ëœ íŠ¸ëžœìžì…˜ì— 대한 ì§ˆì˜ ìˆ˜í–‰ì •ë³´ë¥¼ 보여줌 -d, --display-information 현재 í™œì„±í™”ëœ íŠ¸ëžœìžì…˜ì— 대한 ì •ë³´ 보여줌 -f, --force ì‚¬ìš©ìž í™•ì¸ ì—†ì´ ì§€ì •ëœ íŠ¸ëžœìžì…˜ 종료 .. option:: -i, --kill-transaction-index=ID1,ID2,ID3 ì§€ì •í•œ ì¸ë±ìŠ¤ì— í•´ë‹¹í•˜ëŠ” 트랜ìžì…˜ì„ ì œê±°í•œë‹¤. 쉼표(,)로 구분하여 ì œê±°í•˜ê³ ìž í•˜ëŠ” 트랜ìžì…˜ ID 여러 개를 ì§€ì •í• ìˆ˜ 있다. ì œê±°í• íŠ¸ëžœìžì…˜ ë¦¬ìŠ¤íŠ¸ì— ìœ íš¨í•˜ì§€ ì•Šì€ íŠ¸ëžœìžì…˜ IDê°€ ì§€ì •ë˜ë©´ 무시ëœë‹¤.:: $ cubrid killtran -i 1,2 demodb Ready to kill the following transactions: Tran index User name Host name Process id Program name ------------------------------------------------------------------------------- 1(ACTIVE) DBA myhost 15771 csql 2(ACTIVE) DBA myhost 2171 csql ------------------------------------------------------------------------------- Do you wish to proceed ? (Y/N)y Killing transaction associated with transaction index 1 Killing transaction associated with transaction index 2 .. option:: --kill-user-name=ID ì§€ì •í•œ OS ì‚¬ìš©ìž IDì— í•´ë‹¹í•˜ëŠ” 트랜ìžì…˜ì„ ì œê±°í•œë‹¤. :: cubrid killtran --kill-user-name=os_user_id demodb .. option:: --kill-host-name=HOST ì§€ì •í•œ í´ë¼ì´ì–¸íЏ í˜¸ìŠ¤íŠ¸ì˜ íŠ¸ëžœìžì…˜ì„ ì œê±°í•œë‹¤. :: cubrid killtran --kill-host-name=myhost demodb .. option:: --kill-program-name=NAME ì§€ì •í•œ ì´ë¦„ì˜ í”„ë¡œê·¸ëž¨ì— í•´ë‹¹í•˜ëŠ” 트랜ìžì…˜ì„ ì œê±°í•œë‹¤. :: cubrid killtran --kill-program-name=cub_cas demodb .. option:: --kill-sql-id=SQL_ID ì§€ì •í•œ SQL IDì— í•´ë‹¹í•˜ëŠ” 트랜ìžì…˜ì„ ì œê±°í•œë‹¤. :: cubrid killtran --kill-sql-id=5377225ebc75a demodb .. option:: -p, --dba-password=PASSWORD **-i** ë˜ëŠ” **\-\-kill** ì˜µì…˜ë“¤ì´ ì‚¬ìš©ë 경우ì—ë§Œ 해당 ì˜µì…˜ì„ ì‚¬ìš©í• ìˆ˜ 있다. ì´ ì˜µì…˜ ë’¤ì— ì˜¤ëŠ” ê°’ì€ **DBA** ì˜ ì•”í˜¸ì´ë©° ìƒëžµí•˜ë©´ 프롬프트ì—서 ìž…ë ¥í•´ì•¼ 한다. .. option:: -q, --query-exec-info cubrid tranlist ëª…ë ¹ì—서 "User name" 칼럼과 "Host name" ì¹¼ëŸ¼ì´ ì¶œë ¥ë˜ì§€ 않는다는 ì ë§Œ 다르다. :ref:`tranlist` 를 ì°¸ê³ í•œë‹¤. .. option:: -d, --display-information 기본 ì§€ì •ë˜ëŠ” 옵션으로 트랜ìžì…˜ì˜ 요약 ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. cubrid tranlist ëª…ë ¹ì˜ -s ì˜µì…˜ì„ ì§€ì •í•˜ì—¬ 실행한 것과 ë™ì¼í•œ 결과를 ì¶œë ¥í•œë‹¤. :option:`tranlist -s` 를 ì°¸ê³ í•œë‹¤. .. option:: -f, --force ì¤‘ì§€í• íŠ¸ëžœìžì…˜ì„ 확ì¸í•˜ëŠ” 프롬프트를 ìƒëžµí•œë‹¤. :: cubrid killtran -f -i 1 demodb .. _checkdb: checkdb ------- **cubrid checkdb** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 확ì¸í•˜ê¸° 위해 사용ëœë‹¤. **cubrid checkdb** ìœ í‹¸ë¦¬í‹°ë¥¼ 사용하면 ì¸ë±ìŠ¤ì™€ 다른 ë°ì´í„° 구조를 확ì¸í•˜ê¸° 위해 ë°ì´í„°ì™€ 로그 ë³¼ë¥¨ì˜ ë‚´ë¶€ì ì¸ ë¬¼ë¦¬ì ì¼ì¹˜ë¥¼ 확ì¸í• 수 있다. ë§Œì¼ **cubrid checkdb** ìœ í‹¸ë¦¬í‹°ì˜ ì‹¤í–‰ 결과가 불ì¼ì¹˜ë¡œ 나온다면 **\-\-repair** 옵션으로 ìžë™ ìˆ˜ì •ì„ ì‹œë„í•´ 보아야 한다. :: cubrid checkdb [options] database_name [schema_name.table_name [{, schema_name.table_name}]] * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹° * **checkdb**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ëŒ€í•˜ì—¬ ë°ì´í„°ì˜ ì¼ê´€ì„±(consistency)ì„ í™•ì¸í•˜ëŠ” ëª…ë ¹ * *database_name*: ì¼ê´€ì„±ì„ 확ì¸í•˜ê±°ë‚˜ ë³µêµ¬í•˜ë ¤ëŠ” ë°ì´í„°ë² ì´ìФ ì´ë¦„ * *schema_name*: í…Œì´ë¸”ì˜ ìŠ¤í‚¤ë§ˆ ì´ë¦„ * *table_name*: ì¼ê´€ì„±ì„ 확ì¸í•˜ê±°ë‚˜ ë³µêµ¬í•˜ë ¤ëŠ” í…Œì´ë¸” ì´ë¦„ì„ ë‚˜ì—´í•œë‹¤. 다ìŒì€ **cubrid checkdb**\ì— ëŒ€í•œ [options]ì´ë‹¤. .. program:: checkdb :: -S, --SA-mode ë…립 모드 실행 -C, --CS-mode í´ë¼ì´ì–¸íЏ 서버 모드 실행 -r, --repair 비 ì¼ê´€ì„± 발견 시 복구 --check-prev-link ì¸ë±ìФ ë§í¬ì˜ 오류를 검사 --repair-prev-link ì¸ë±ìФ ë§í¬ê°€ ìž˜ëª»ëœ ê²½ìš° 복구 수행 -i, --input-class-file=FILE í´ëž˜ìФ ì´ë¦„ì´ ë‚˜ì—´ëœ ìž…ë ¥ íŒŒì¼ ëª…ì‹œ --check-file-tracker íŒŒì¼ íŠ¸ëž™ì»¤ì˜ ëª¨ë“ íŒŒì¼ì˜ 페ì´ì§€ë¥¼ 검사 --check-heap ëª¨ë“ íž™ íŒŒì¼ ê²€ì‚¬ --check-catalog 카타로그 ì •ë³´ì— ì¼ê´€ì„± 검사 --check-btree ëª¨ë“ ì¸ë±ìФ ìœ íš¨ 검사 --check-class-name í´ëž˜ìФ ì •ë³´ì˜ ì¼ì¹˜ 여부 검사 --check-btree-entries ëª¨ë“ ì¸ë±ìФ ì—”íŠ¸ë¦¬ì˜ ì¼ê´€ì„± 검사 -I, --index-name=INDEX_NAME ê²€ì‚¬í• ì¸ë±ìФ ì§€ì • .. option:: -S, --SA-mode 서버 프로세스를 구ë™í•˜ì§€ ì•Šê³ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ê·¼í•˜ëŠ” ë…립 모드(standalone)로 작업하기 위해 ì§€ì •ë˜ë©°, ì¸ìˆ˜ëŠ” 없다. **-S** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면, ì‹œìŠ¤í…œì€ í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid checkdb -S demodb .. option:: -C, --CS-mode 서버 프로세스와 í´ë¼ì´ì–¸íЏ 프로세스를 ê°ê° 구ë™í•˜ì—¬ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ê·¼í•˜ëŠ” í´ë¼ì´ì–¸íЏ/서버 모드로 작업하기 위한 옵션ì´ë©°, ì¸ìˆ˜ëŠ” 없다. **-C** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않ë”ë¼ë„ ì‹œìŠ¤í…œì€ ê¸°ë³¸ì 으로 í´ë¼ì´ì–¸íЏ/서버 모드로 ì¸ì‹í•œë‹¤. :: cubrid checkdb -C demodb .. option:: -r, --repair ë°ì´í„°ë² ì´ìŠ¤ì˜ ì¼ê´€ì„±ì— ë¬¸ì œê°€ 발견ë˜ì—ˆì„ 때 복구를 수행한다. :: cubrid checkdb -r demodb .. option:: --check-prev-link ì¸ë±ìŠ¤ì˜ ì•žì„ ê°€ë¦¬í‚¤ëŠ” ë§í¬(previous link)ì— ì˜¤ë¥˜ê°€ 있는지를 검사한다. :: $ cubrid checkdb --check-prev-link demodb .. option:: --repair-prev-link ì¸ë±ìŠ¤ì˜ ì•žì„ ê°€ë¦¬í‚¤ëŠ” ë§í¬(previous link)ì— ì˜¤ë¥˜ê°€ 있으면 복구한다. :: $ cubrid checkdb --repair-prev-link demodb .. option:: -i, --input-class-file=FILE **-i** *FILE* ì˜µì…˜ì„ ì§€ì •í•˜ê±°ë‚˜, ë°ì´í„°ë² ì´ìФ ì´ë¦„ ë’¤ì— í…Œì´ë¸”ì˜ ì´ë¦„ì„ ë‚˜ì—´í•˜ì—¬ ì¼ê´€ì„± í™•ì¸ ë˜ëŠ” 복구 대ìƒì„ í•œì •í• ìˆ˜ 있다. ë‘ ê°€ì§€ ë°©ë²•ì„ ê°™ì´ ì‚¬ìš©í• ìˆ˜ë„ ìžˆìœ¼ë©°, 대ìƒì„ ì§€ì •í•˜ì§€ 않으면 ì „ì²´ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 대ìƒìœ¼ë¡œ ì¼ê´€ì„±ì„ 확ì¸í•˜ê±°ë‚˜ 복구를 수행한다. íŠ¹ì • 대ìƒì´ ì§€ì •ë˜ì§€ 않으면 ì „ì²´ ë°ì´í„°ë² ì´ìŠ¤ê°€ ì¼ê´€ì„± í™•ì¸ ë˜ëŠ” ë³µêµ¬ì˜ ëŒ€ìƒì´ ëœë‹¤. :: cubrid checkdb demodb public.table_1 public.table_2 cubrid checkdb -r demodb public.table_1 public.table_2 cubrid checkdb -r -i table_list.txt demodb public.table_1 public.table_2 **-i** 옵션으로 ì§€ì •í•˜ëŠ” í…Œì´ë¸” ëª©ë¡ íŒŒì¼ì€ 공백, íƒ, 줄바꿈, 쉼표로 í…Œì´ë¸” ì´ë¦„ì„ êµ¬ë¶„í•œë‹¤. 다ìŒì€ í…Œì´ë¸” ëª©ë¡ íŒŒì¼ì˜ 예로, t1부터 t10까지를 ëª¨ë‘ ì¼ê´€ì„± í™•ì¸ ë˜ëŠ” 복구를 위한 í…Œì´ë¸”로 ì¸ì‹í•œë‹¤. :: t1 t2 t3,t4 t5 t6, t7 t8 t9 t10 .. option:: --check-file-tracker íŒŒì¼ íŠ¸ëž™ì»¤(tracker)ì˜ ëª¨ë“ íŒŒì¼ì˜ 페ì´ì§€ì— 검사를 수행한다. .. option:: --check-heap ëª¨ë“ íž™ 파ì¼ì— 대해 검사를 수행한다. .. option:: --check-catalog 카탈로그 ì •ë³´ì— ëŒ€í•œ ì¼ê´€ì„± 검사를 수행한다. .. option:: --check-btree ëª¨ë“ B-트리 ì¸ë±ìŠ¤ì— ëŒ€í•œ ìœ íš¨ 검사를 수행한다. .. option:: --check-class-name í´ëž˜ìФ ì´ë¦„ 해시 í…Œì´ë¸”ê³¼ íž™ 파ì¼ë¡œ 부터 ê°€ì ¸ì˜¨ í´ëž˜ìФ ì •ë³´(class oid)ì˜ ì¼ì¹˜ 여부 검사를 수행한다. .. option:: --check-btree-entries ëª¨ë“ B-트리 ì˜ì—(entry)ì˜ ì¼ê´€ì„± 검사를 수행한다. .. option:: -I, --index-name=INDEX_NAME 검사 ëŒ€ìƒ í…Œì´ë¸”ì— ëŒ€í•´ 해당 옵션으로 명시한 ì¸ë±ìŠ¤ê°€ ìœ íš¨í•œì§€ 검사한다. ì´ ì˜µì…˜ì„ ì‚¬ìš©í•˜ë©´ íž™ 파ì¼ì— 대한 ìœ íš¨ 검사는 하지 않는다. ì´ ì˜µì…˜ì„ ì‚¬ìš©í• ë•ŒëŠ” í•˜ë‚˜ì˜ í…Œì´ë¸”ê³¼ í•˜ë‚˜ì˜ ì¸ë±ìŠ¤ë§Œì„ í—ˆìš©í•˜ë©°, í…Œì´ë¸” ì´ë¦„ì„ ìž…ë ¥í•˜ì§€ 않거나 ë‘ ê°œ ì´ìƒì˜ í…Œì´ë¸” ì´ë¦„ì„ ìž…ë ¥í•˜ë©´ ì—러를 반환한다. .. _diagdb: diagdb ------ **cubrid diagdb** ìœ í‹¸ë¦¬í‹°ë¥¼ ì´ìš©í•´ 다양한 ë°ì´í„°ë² ì´ìФ ë‚´ë¶€ ì •ë³´ë¥¼ 확ì¸í• 수 있다. **cubrid diagdb** ìœ í‹¸ë¦¬í‹°ê°€ ì œê³µí•˜ëŠ” ì •ë³´ë“¤ì€ í˜„ìž¬ ë°ì´í„°ë² ì´ìŠ¤ì˜ ìƒíƒœë¥¼ 진단하거나 ë¬¸ì œë¥¼ íŒŒì•…í•˜ëŠ”ë° ë„ì›€ì´ ëœë‹¤. :: cubrid diagdb [option] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **diagdb**: CUBRIDì— ì €ìž¥ë˜ëŠ” ë°”ì´ë„ˆë¦¬ í˜•íƒœì˜ íŒŒì¼ ì •ë³´ë¥¼ í…스트 형태로 ì¶œë ¥í•˜ì—¬ í˜„ìž¬ì˜ ë°ì´í„°ë² ì´ìФ ì €ìž¥ ìƒíƒœë¥¼ 확ì¸í•˜ê³ ìž í• ë•Œ 사용하는 ëª…ë ¹ì–´ì´ë‹¤. ë°ì´í„°ë² ì´ìŠ¤ê°€ êµ¬ë™ ì •ì§€ ìƒíƒœì¸ 경우ì—ë§Œ ì •ìƒì 으로 수행ëœë‹¤. ì „ì²´ë¥¼ 확ì¸í•˜ê±°ë‚˜ ì˜µì…˜ì„ ì‚¬ìš©í•˜ì—¬ íŒŒì¼ í…Œì´ë¸”, íŒŒì¼ ìš©ëŸ‰, íž™ 용량, í´ëž˜ìФ ì´ë¦„, ë””ìŠ¤í¬ ë¹„íŠ¸ë§µì„ ì„ íƒí•´ 확ì¸í• 수 있다. * *database_name*: ë‚´ë¶€ ì •ë³´ë¥¼ 확ì¸í•˜ë ¤ëŠ” ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. 다ìŒì€ **cubrid diagdb** ì—서 사용하는 [option]ì´ë‹¤. .. program:: diagdb :: -d, --dump-type=TYPE ì¶œë ¥ 범위 ì§€ì • -o, --output-file=FILE ì¶œë ¥ 메시지를 ìž¬ì§€ì •í• íŒŒì¼ --emergency 비ìƒì‹œ 재시작 .. option:: -d, --dump-type=TYPE ë°ì´í„°ë² ì´ìŠ¤ì˜ ì „ì²´ 파ì¼ì— 대한 ê¸°ë¡ ìƒíƒœë¥¼ ì¶œë ¥í• ë•Œ ì¶œë ¥ 범위를 ì§€ì •í•œë‹¤. ìƒëžµí•˜ë©´ ê¸°ë³¸ê°’ì¸ -1ì´ ì§€ì •ëœë‹¤. :: cubrid diagdb -d 1 demodb **-d** ì˜µì…˜ì— ì ìš©ë˜ëŠ” íƒ€ìž…ì€ ëª¨ë‘ 9가지로, ê·¸ 종류는 다ìŒê³¼ 같다. +--------+------------------------------------+ | 타입 | 설명 | +========+====================================+ | -1 | ì „ì²´ ë°ì´í„°ë² ì´ìФ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 1 | íŒŒì¼ í…Œì´ë¸” ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 2 | íŒŒì¼ ìš©ëŸ‰ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 3 | íž™ 용량 ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 4 | ì¸ë±ìФ 용량 ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 5 | í´ëž˜ìФ ì´ë¦„ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 6 | ë””ìŠ¤í¬ ë¹„íŠ¸ë§µ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 7 | 카탈로그 ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 8 | 로그 ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ | 9 | íž™(heap) ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. | +--------+------------------------------------+ .. option:: -o, --output-file=FILE **-o** ì˜µì…˜ì€ ë°ì´í„°ë² ì´ìŠ¤ì˜ ì„œë²„/í´ë¼ì´ì–¸íЏ 프로세스ì—서 사용ë˜ëŠ” 파ë¼ë¯¸í„° ì •ë³´ë¥¼ ì§€ì •ëœ íŒŒì¼ë¡œ ì €ìž¥í•˜ëŠ” ë° ì‚¬ìš©ëœë‹¤. ì´ íŒŒì¼ì€ 현재 ë””ë ‰í„°ë¦¬ì— ìƒì„±ëœë‹¤. **-o** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 콘솔 í™”ë©´ì— ë©”ì‹œì§€ê°€ 표시ëœë‹¤. :: cubrid diagdb -d8 -o logdump_output demodb .. option:: --emergency 복구를 ìƒëžµ(suppression)í•˜ë ¤ë©´ **\-\-emergency** ì˜µì…˜ì„ ì‚¬ìš©í•œë‹¤. **ì´ ì˜µì…˜ì€ ë””ë²„ê¹…ì—ë§Œ 사용해야 한다. 복구 ì´ìŠˆê°€ 있는 경우 ì´ ì˜µì…˜ì„ ì‚¬ìš©í•˜ê¸° ì „ì— ë°ì´í„°ë² ì´ìŠ¤ë¥¼ ë°±ì—…í• ê²ƒì„ ê¶Œìž¥í•œë‹¤.** .. _paramdump: paramdump --------- **cubrid paramdump** ìœ í‹¸ë¦¬í‹°ëŠ” 서버/í´ë¼ì´ì–¸íЏ 프로세스ì—서 사용하는 파ë¼ë¯¸í„° ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. :: cubrid paramdump [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **paramdump**: 서버/í´ë¼ì´ì–¸íЏ 프로세스ì—서 사용하는 파ë¼ë¯¸í„° ì •ë³´ë¥¼ ì¶œë ¥í•˜ëŠ” ëª…ë ¹ì´ë‹¤. * *database_name*: 파ë¼ë¯¸í„° ì •ë³´ë¥¼ ì¶œë ¥í• ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. 다ìŒì€ **cubrid paramdump** ì—서 사용하는 [options]ì´ë‹¤. .. program:: paramdump :: -o, --output-file=FILE ì¶œë ¥ 메시지를 ìž¬ì§€ì •í• íŒŒì¼ -b, --both 서버/í´ë¼ì´ì–¸íЏ í”„ë¡œì„¸ìŠ¤ì— ì‚¬ìš©í•˜ëŠ” 파ë¼ë¯¸í„° ì •ë³´ ì¶œë ¥ -S, --SA-mode ë…립 모드 실행 -C, --CS-mode í´ë¼ì´ì–¸íЏ 서버 모드 실행 .. option:: -o, --output-file=FILE ë°ì´í„°ë² ì´ìŠ¤ì˜ ì„œë²„/í´ë¼ì´ì–¸íЏ 프로세스ì—서 사용하는 파ë¼ë¯¸í„° ì •ë³´ë¥¼ ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥í•˜ëŠ” 옵션ì´ë©°, 파ì¼ì€ 현재 ë””ë ‰í„°ë¦¬ì— ìƒì„±ëœë‹¤. **-o** ì˜µì…˜ì´ ì§€ì •ë˜ì§€ 않으면 메시지는 콘솔 í™”ë©´ì— ì¶œë ¥í•œë‹¤. :: cubrid paramdump -o db_output demodb .. option:: -b, --both ë°ì´í„°ë² ì´ìŠ¤ì˜ ì„œë²„/í´ë¼ì´ì–¸íЏ 프로세스ì—서 사용하는 파ë¼ë¯¸í„° ì •ë³´ë¥¼ 콘솔 í™”ë©´ì— ì¶œë ¥í•˜ëŠ” 옵션ì´ë©°, **-b** ì˜µì…˜ì„ ì‚¬ìš©í•˜ì§€ 않으면 서버 í”„ë¡œì„¸ìŠ¤ì˜ íŒŒë¼ë¯¸í„° ì •ë³´ë§Œ ì¶œë ¥í•œë‹¤. :: cubrid paramdump -b demodb .. option:: -S, --SA-mode ë…립 모드ì—서 서버 í”„ë¡œì„¸ìŠ¤ì˜ íŒŒë¼ë¯¸í„° ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. :: cubrid paramdump -S demodb .. option:: -C, --CS-mode í´ë¼ì´ì–¸íЏ-서버 모드ì—서 서버 í”„ë¡œì„¸ìŠ¤ì˜ íŒŒë¼ë¯¸í„° ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. :: cubrid paramdump -C demodb .. _tde-utility: tde --- **cubrid tde** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì˜ TDE 암호화를 관리하기 위하여 사용ë˜ë©°, **DBA** 사용ìžë§Œ ìˆ˜í–‰í• ìˆ˜ 있다. **cubrid tde** ìœ í‹¸ë¦¬í‹°ë¥¼ 사용하면 ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키를 ë³€ê²½í• ìˆ˜ ìžˆê³ , 키 파ì¼ì— 새로운 키를 ì•ˆì •ì 으로 ì¶”ê°€í•˜ê³ ì œê±°í• ìˆ˜ 있다. ë˜í•œ, 지금까지 키 파ì¼ì— ì¶”ê°€ëœ í‚¤ë“¤ê³¼ ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키가 무엇ì¸ì§€ ì¡°íšŒí• ìˆ˜ 있다. ìžì„¸í•œ ë‚´ìš©ì€ :ref:`tde` ì„ ì°¸ê³ í•œë‹¤. :: cubrid tde <operation> [option] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹° * **tde**: ëŒ€ìƒ ë°ì´í„°ë² ì´ìŠ¤ì— ì ìš©ëœ TDE ì•”í˜¸í™”ì— ëŒ€í•œ 관리 ë„구 * *operation*: ë„구를 통한 ìˆ˜í–‰í• ìž‘ì—…ì„ ì§€ì •í•œë‹¤. 키 조회, 키 추가, 키 ì œê±°, 키 변경 네 가지 종류가 있으며 í•˜ë‚˜ì˜ ìž‘ì—…ì´ ì£¼ì–´ì ¸ì•¼ 한다. * *database_name*: TDE 관리 ìž‘ì—…ì„ ìˆ˜í–‰í•˜ë ¤ëŠ” ë°ì´í„°ë² ì´ìФ ì´ë¦„ 다ìŒì€ **cubrid tde** ì— ëŒ€í•œ 오í¼ë ˆì´ì…˜ (operation)ì— ëŒ€í•œ 설명ì´ë‹¤. ë‹¤ìŒ ì¤‘ í•˜ë‚˜ì˜ ìž‘ì—…ì´ ì£¼ì–´ì ¸ì•¼ 한다. .. program:: tde :: -s, --show-keys ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키, 키 íŒŒì¼ (_keys)ë‚´ì˜ í‚¤ë“¤ì— ëŒ€í•œ ì •ë³´ë¥¼ ì¶œë ¥ -n, --generate-new-key 키 íŒŒì¼ (_keys)ì— ìƒˆë¡œìš´ 키를 추가; 최대 갯수: 128 -d, --delete-key=KEY_INDEX 키 íŒŒì¼ (_keys)ì˜ í•œ 키를 ì œê±° -c, --change-key=KEY_INDEX ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키를 키 íŒŒì¼ (_keys)ì— ì¡´ìž¬í•˜ëŠ” 다른 키로 변경 .. option:: -s, --show-keys ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키와 키 íŒŒì¼ (_keys)ë‚´ì˜ í‚¤ë“¤ì— ëŒ€í•œ ì •ë³´ë¥¼ ì¶œë ¥í•œë‹¤. :: $ cubrid tde -s testdb Key File: /home/usr/CUBRID/databases/testdb/testdb_keys The current key set on testdb: Key Index: 2 Created on Fri Nov 27 11:14:54 2020 Set on Fri Nov 27 11:15:30 2020 Keys Information: Key Index: 0 created on Fri Nov 27 11:11:27 2020 Key Index: 1 created on Fri Nov 27 11:14:47 2020 Key Index: 2 created on Fri Nov 27 11:14:54 2020 Key Index: 3 created on Fri Nov 27 11:14:55 2020 The number of keys: 4 **The current key** ì •ë³´ëŠ” 현재 ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ í‚¤ì˜ ì •ë³´ì´ë‹¤. 키 파ì¼ë‚´ì—ì„œì˜ ì¸ë±ìŠ¤ì™€ í‚¤ì˜ ìƒì„±ì‹œê°„, 등ë¡ëœ ì‹œê°„ì„ ì¶œë ¥í•´ì¤€ë‹¤. 키 ì¸ë±ìŠ¤ì™€ ìƒì„±ì‹œê°„으로 등ë¡ëœ 키를 ì‹ë³„í• ìˆ˜ ìžˆê³ , 등ë¡ëœ ì‹œê°„ì„ í†µí•´ 키 변경 계íšì„ ìˆ˜ë¦½í• ìˆ˜ 있다. **Keys Information** ì€ í‚¤ íŒŒì¼ ë‚´ì—서 ìƒì„±ë˜ì–´ 관리ë˜ê³ 있는 í‚¤ë“¤ì„ ë³´ì—¬ì¤€ë‹¤. 키 ì¸ë±ìŠ¤ì™€ ìƒì„±ì‹œê°„ì„ í™•ì¸í• 수 있다. .. option:: -n, --generate-new-key 키 íŒŒì¼ (_keys)ì— ìƒˆë¡œìš´ 키를 추가한다 (최대 128ê°œ). ì„±ê³µí• ê²½ìš° ì¶”ê°€ëœ í‚¤ì˜ ì¸ë±ìŠ¤ë¥¼ ì¶œë ¥í•´ì£¼ë©°, ì´ ì¸ë±ìŠ¤ëŠ” ì´í›„ 키를 변경하거나 ì œê±°í• ë•Œì— í‚¤ë¥¼ ì‹ë³„하기 위하여 사용ëœë‹¤. ì¶”ê°€ëœ í‚¤ë“¤ì˜ ì •ë³´ëŠ” **\-\-show-keys** 를 통해 확ì¸í• 수 있다. :: $ cubrid tde -n testdb Key File: /home/usr/CUBRID/databases/testdb/testdb_keys SUCCESS: A new key has been generated - key index: 1 created on Tue Dec 1 11:30:47 2020 .. option:: -d, --delete-key=KEY_INDEX 키 íŒŒì¼ (_keys)ì—서 ì¸ë±ìŠ¤ë¡œ ì§€ì •ëœ í‚¤ 하나를 ì œê±°í•œë‹¤. 현재 ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키는 ì œê±°í• ìˆ˜ 없다. :: $ cubrid tde -d 1 testdb Key File: /home/usr/CUBRID/databases/testdb/testdb_keys SUCCESS: The key (index: 1) has been deleted .. option:: -c, --change-key=KEY_INDEX ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키를 키 íŒŒì¼ (_keys)ì— ì¡´ìž¬í•˜ëŠ” 다른 키로 변경한다. 변경 ì‹œì— ì´ì „ì— ë“±ë¡ëœ 키와 새로 등ë¡í•˜ë ¤ëŠ” 키가 ëª¨ë‘ ì¡´ìž¬í•´ì•¼ 한다. :: $ cubrid tde -c 2 testdb Key File: /home/usr/CUBRID/databases/testdb/testdb_keys Trying to change the key from the key (index: 0) to the key (index: 2).. SUCCESS: The key has been changed from the key (index: 0) to the key (index: 2) ë°ì´í„°ë² ì´ìŠ¤ì— ë“±ë¡ëœ 키를 변경하기 위해서는 ë¨¼ì € **\-\-generate-new-key** 를 통해 등ë¡í• 키를 ìƒì„±í•´ì•¼ 한다. 사용ìžëŠ” 키 ë³€ê²½ì„ ìœ„í•´ 새로운 키를 ìƒì„±í• 수 ìžˆê³ , 미리 여러 키를 ìƒì„±í•´ ë‘ê³ ë³´ì•ˆ 계íšì— ë”°ë¼ í‚¤ë¥¼ ë³€ê²½í• ìˆ˜ 있다. 다ìŒì€ **cubrid tde** ì—서 사용하는 [options]ì´ë‹¤. .. option:: -p, --dba-password=PASSWORD ì´ ì˜µì…˜ ë’¤ì— ì˜¤ëŠ” ê°’ì€ **DBA** ì˜ ì•”í˜¸ì´ë©° ìƒëžµí•˜ë©´ 프롬프트ì—서 ìž…ë ¥í•´ì•¼ 한다. .. _vacuumdb: vacuumdb -------- **cubrid vacuumdb** ìœ í‹¸ë¦¬í‹°ëŠ” ì‚ì œëœ ë ˆì½”ë“œì™€ 불필요한 mvcc ê´€ë ¨ ì •ë³´ë¥¼ ì •ë¦¬í•˜ê¸° 위해 vacuumì„ ìˆ˜í–‰í•˜ê±°ë‚˜, vacuum ê´€ë ¨ ìƒíƒœ ì •ë³´ë¥¼ 얻기 위해 사용ëœë‹¤. :: cubrid vacuumdb [options] database_name * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * **vacuumdb**: ë°ì´í„°ë² ì´ìŠ¤ì˜ ë ˆì½”ë“œì—서 ì‚ì œëœ ë ˆì½”ë“œì™€ 불필요한 mvcc ê´€ë ¨ ì •ë³´ ì •ë¦¬ ë° ê´€ë ¨ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ìœ í‹¸ë¦¬í‹°ì´ë‹¤. * *database_name*: vacuumì„ ìˆ˜í–‰í• ë°ì´í„°ë² ì´ìФ ì´ë¦„ì´ë‹¤. 다ìŒì€ **cubrid vacuumdb**\ì—서 ì‚¬ìš©í• ìˆ˜ 있는 옵션들ì´ë‹¤. .. program:: vacuumdb :: -o, --output-file=FILE ì¶œë ¥ 메시지를 ìž¬ì§€ì •í• íŒŒì¼ --dump 현재 vacuum ìƒíƒœ ë¤í”„ -S, --SA-mode ë…립 모드 실행 -C, --CS-mode í´ë¼ì´ì–¸íЏ 서버 모드 실행 .. option:: -o, --output-file=FILE ì´ ì˜µì…˜ì€ vacuumì— ëŒ€í•œ ìƒíƒœ ì •ë³´ë¥¼ ì €ìž¥í• íŒŒì¼ëª…ì„ ì§€ì •í•œë‹¤. 파ì¼ì€ 현재 ë””ë ‰í† ë¦¬ì— ìƒì„±ëœë‹¤. **-o** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 콘솔 í™”ë©´ì— ë©”ì‹œì§€ê°€ 표시ëœë‹¤. :: cubrid vacuumdb -o db_output demodb .. option:: --dump ì´ ì˜µì…˜ì€ vacuumì— ëŒ€í•œ ìƒíƒœ ì •ë³´ë¥¼ 표시하는 ë° ì‚¬ìš©ëœë‹¤. 현재는 vacuumì—서 참조하는 첫 번째 로그 페ì´ì§€ ID와 로그 볼륨 ì´ë¦„ì„ í‘œì‹œí•œë‹¤. 사용ìžëŠ” 첫 번째 로그 페ì´ì§€ IDì˜ ë³€ê²½ì„ í†µí•´ vacuum ìž‘ì—…ì˜ ì§„í–‰ ìƒí™©ì„ 확ì¸í• 수 있으며, vacuum ìž‘ì—…ì„ ìœ„í•´ ìœ ì§€í•´ì•¼ 하는 최소 로그 ë³¼ë¥¨ì„ í™•ì¸í• 수 있다. ë…립형 모드와 í´ë¼ì´ì–¸íЏ/서버 모드 모ë‘ì—서 ì‚¬ìš©í• ìˆ˜ 있다. **\-C** 옵션과 함께 ì§€ì •ë˜ë©´ ì¸ë±ìФ vacuum시 ì¸ë±ìФ ë‹¨ë§ ë…¸ë“œ (leaf node) ì˜ ìž„ê³„ê°’ ì´ìƒì˜ :ref:`오버플로우 페ì´ì§€ <deduplicate_overflow_page>` ì½ê¸°ê°€ ë°œìƒí•œ ì¸ë±ìŠ¤ì— ëŒ€í•œ ì •ë³´ë¥¼ 함께 표시 한다. ì´ì™€ ê´€ë ¨ëœ ì‹œìŠ¤í…œ 파ë¼ë¯¸í„°ëŠ” **vacuum_ovfp_check_duration**\ê³¼ **vacuum_ovfp_check_threshold**\ê°€ 있다. :: cubrid vacuumdb --dump demodb :: $ cubrid vacuumdb -C --dump demodb *** Vacuum Dump *** First log page ID referenced = 85653 (in demodb_lgar013) *** Exceeding read threshold (1000 pages) for OID overflow pages (OVFP), Since 09/04/23 08:53:50 *** Class name Index name Count Num of OVFP recent read Max num of OVFP read ================================================================================================================ dba.tm v_idx 272451 1089 (09/04/23 10:49:52) 1478 (09/04/23 10:28:46) dba.tbl idx 322728 1023 (09/04/23 09:53:47) 1475 (09/04/23 09:29:29) $ - Exceeding read threshold (**1000** pages) : vacuum_ovfp_check_threshold ì„¤ì •ê°’ì„ ë³´ì—¬ì¤€ë‹¤. - Since **09/04/23 08:53:50** : OVFP 모니터ë§ì´ ì‹œìž‘ëœ ì‹œê° ì •ë³´ë¥¼ 보여준다. - Class name: í´ëž˜ìФ ì´ë¦„(í…Œì´ë¸” ì´ë¦„), ì†Œìœ ìž ì´ë¦„ì„ í¬í•¨í•©ë‹ˆë‹¤. - Index name: ì¸ë±ìФ ì´ë¦„ - Count: ì¸ë±ìФ ë² í (vacuum) 처리시 임계값(vacuum_ovfp_check_threshold)ì„ ì´ˆê³¼í•´ì„œ ì¸ë±ìФ 오버플로우 페ì´ì§€ë¥¼ ì½ì€ 횟수 - Num of OVFP recent read: ì¸ë±ìФ ë² í 처리시 임계값(vacuum_ovfp_check_threshold) ì´ìƒì˜ ì¸ë±ìФ 오버플로우 페ì´ì§€ë¥¼ ì½ì€ 가장 ìµœê·¼ì˜ ê¸°ë¡ - Max num of OVFP read: ì¸ë±ìФ ë² í 작업시 임계값(vacuum_ovfp_check_threshold) ì´ìƒì˜ ì¸ë±ìФ 오버플로우 페ì´ì§€ë¥¼ 최대로 ì½ì€ 시ì ì˜ ê¸°ë¡ .. option:: -S, --SA-mode ì´ ì˜µì…˜ì€ ë…립 실행형 ëª¨ë“œì¸ ë°ì´í„°ë² ì´ìФì—서 vacuumdb ë™ìž‘ì„ ìˆ˜í–‰í•˜ë„ë¡ í•œë‹¤. :: cubrid vacuumdb -S demodb .. option:: -C, --CS-mode ì´ ì˜µì…˜ì€ í´ë¼ì´ì–¸íЏ/서버 모드ì—서 vacuumdb ë™ìž‘ì„ ìˆ˜í–‰í•˜ë„ë¡ í•œë‹¤. ì´ ëª¨ë“œì—서는 vacuumì€ ìˆ˜í–‰í• ìˆ˜ ì—†ê³ --dump 옵션과 함께 사용 해야한다. :: cubrid vacuumdb -C demodb .. _flashback: flashback --------- **cubrid flashback** ìœ í‹¸ë¦¬í‹°ëŠ” ì»¤ë°‹ëœ íŠ¸ëžœìžì…˜ì„ ë˜ëŒë¦´ 수 있는 SQL êµ¬ë¬¸ì„ ì œê³µí•˜ë©°, **DBA** 사용ìžë§Œ ìˆ˜í–‰í• ìˆ˜ 있다. **cubrid flashback** ì„ ìˆ˜í–‰í•˜ê¸° 위해서는 시스템 파ë¼ë¯¸í„° **supplemental_log** 를 반드시 0보다 í° ê°’ìœ¼ë¡œ ì„¤ì •í•´ì•¼ 하며, **supplemental_log** ê°€ ì„¤ì •ëœ í›„ì— ì‹¤í–‰ë˜ëŠ” DMLì— ëŒ€í•´ì„œë§Œ ì§€ì›í•œë‹¤. ì´ ìœ í‹¸ë¦¬í‹°ëŠ” í´ë¼ì´ì–¸íЏ/서버 모드ì—서만 ë™ìž‘í•˜ê³ ë™ì‹œì— ë‘ê°œ ì´ìƒ ìˆ˜í–‰í• ìˆ˜ 없다:.:: cubrid flashback [options] database_name owner_name.class_name1 [owner_name.class_name2, ...] * **cubrid**: CUBRID 서비스 ë° ë°ì´í„°ë² ì´ìФ 관리를 위한 통합 ìœ í‹¸ë¦¬í‹° * **flashback**: ì»¤ë°‹ëœ íŠ¹ì • 트랜ìžì…˜ì„ ë˜ëŒë¦´ 수 있ë„ë¡ SQL êµ¬ë¬¸ì„ ì œê³µí•˜ëŠ” ë„구 * *database_name*: ë˜ëŒë¦¬ê³ ìž í•˜ëŠ” 트랜ìžì…˜ì´ ìˆ˜í–‰ëœ ë°ì´í„°ë² ì´ìФ ì´ë¦„ * *owner_name.class_name*: ë˜ëŒë¦¬ê³ ìž í•˜ëŠ” í…Œì´ë¸”명 리스트. í…Œì´ë¸”ëª…ì„ ëª…ì‹œí• ë•ŒëŠ” 해당 í…Œì´ë¸”ì˜ ì†Œìœ ìžëª…ë„ í•¨ê»˜ 명시해야 한다. ë‹¤ìŒ ì˜ˆì œì—서는 사용ìžê°€ "cubrid flashback demodb dba.tbl"를 ìˆ˜í–‰í–ˆì„ ë•Œ ì¶œë ¥ë˜ëŠ” 결과를 보여준다. :: $ csql -u dba demodb csql> CREATE TABLE tbl (a INT); csql> INSERT INTO tbl VALUES (10); $ cubrid flashback demodb dba.tbl Flashback Summary Number of Transaction: 1 Start date - End date: 03-05-2022:10:52:56 - 03-05-2022:11:02:56 Transaction id User name Start time End time Num_insert Num_update Num_delete Table 135 DBA 03-05-2022:11:02:40 03-05-2022:11:02:41 1 0 0 dba.tbl Enter transaction id (press -1 to quit): 135 delete from [dba.tbl] where [a] = 10 limit 1; ìœ„ì˜ ì˜ˆì—서 **cubrid flashback** ì„ ì‹¤í–‰í•˜ë©´ ì§€ì •ëœ ê¸°ê°„ ë‚´ì— ìˆ˜í–‰ëœ íŠ¸ëžœìžì…˜ì— 대한 ì •ë³´ë¥¼ 표시한다. 사용ìžê°€ ê¸°ê°„ì„ ì§€ì •í•˜ì§€ 않으면 현재 시ê°ìœ¼ë¡œë¶€í„° 10ë¶„ ì „ì— ìˆ˜í–‰ëœ íŠ¸ëžœìžì…˜ë“¤ë¶€í„° 표시ëœë‹¤. 사용ìžê°€ 트랜ìžì…˜ ì‹ë³„ìž(Transaction ID)를 ì„ íƒí•˜ë©´, ì„ íƒí•œ 트랜ìžì…˜ ë‚´ì—서 ì‹¤í–‰ëœ DMLì— ëŒ€í•˜ì—¬ ë˜ëŒë¦´ 수 있ë„ë¡ SQL êµ¬ë¬¸ì„ ì œê³µí•œë‹¤. 사용ìžëŠ” 300ì´ˆ ì´ë‚´ì— 트랜ìžì…˜ ì‹ë³„ìžë¥¼ ìž…ë ¥í•´ì•¼í•˜ë©°, 해당 ì œí•œ ì‹œê°„ì€ ì‹œìŠ¤í…œ 파ë¼ë¯¸í„° **flashback_timeout** ì„ í†µí•´ ì¡°ì ˆí• ìˆ˜ 있다. **Flashback Summary** ì— í‘œì‹œëœ ê° ì¹¼ëŸ¼ì˜ ì˜ë¯¸ëŠ” 다ìŒê³¼ 같다. * Transaction id : 트랜ìžì…˜ ì‹ë³„ìž * User name : 트랜ìžì…˜ì„ 수행한 ì‚¬ìš©ìž * Start time : 트랜ìžì…˜ì„ 시작한 시간 (ì¶”ì •ì‹œê°„) * End time : 트랜ìžì…˜ì´ ì™„ë£Œëœ ì‹œê°„ * Num_insert : 트랜ìžì…˜ ë‚´ì—서 ìˆ˜í–‰ëœ ì‚½ìž…(insert) ì—°ì‚° 횟수 * Num_update : 트랜ìžì…˜ ë‚´ì—서 ìˆ˜í–‰ëœ ìˆ˜ì •(update) ì—°ì‚° 횟수 * Num_delete : 트랜ìžì…˜ ë‚´ì—서 ìˆ˜í–‰ëœ ì‚ì œ(delete) ì—°ì‚° 횟수 * Table : 트랜ìžì…˜ ë‚´ì—서 DMLì´ ìˆ˜í–‰ëœ í…Œì´ë¸”명 리스트 .. note:: **cubrid flashback** ì„ í†µí•´ ë˜ëŒë¦¬ë ¤ëŠ” í…Œì´ë¸”ì´ :ref:`trigger-event-target` ì¼ ê²½ìš°, 사용ìžê°€ ì˜ë„하지 ì•Šì€ ê²°ê³¼ë¥¼ ì–»ì„ ìˆ˜ 있다. **cubrid flashback** ì„ í†µí•´ í…Œì´ë¸”ì— ëŒ€í•œ 변경 사í•ì„ ë˜ëŒë¦¬ê¸° ì „ì— íŠ¸ë¦¬ê±°ë¥¼ 비활성화하는 ê²ƒì´ ì¢‹ë‹¤. ìžì„¸í•œ ë‚´ìš©ì€ :ref:`alter-trigger` ì„ ì°¸ì¡°í•œë‹¤. 다ìŒì€ **cubrid flashback** ì—서 사용하는 [options]ì´ë‹¤. .. program:: flashback :: -o, --output-file=FILE ì¶œë ¥ 메시지를 FILE로 ë¦¬ë””ë ‰ì…˜í•©ë‹ˆë‹¤. -u, --user=ID í”Œëž˜ì‹œë°±í• SQL ë¬¸ì„ ì‹¤í–‰í•œ 사용ìžë¥¼ ì§€ì •í•©ë‹ˆë‹¤ -p, --dba-password DBA 사용ìžì˜ 비밀번호 -s, --start-date=DATE í”Œëž˜ì‹œë°±ì˜ ì‹œìž‘ ë‚ ì§œë¥¼ ì§€ì •í•©ë‹ˆë‹¤. -e, --end-date=DATE í”Œëž˜ì‹œë°±ì˜ ì¢…ë£Œ ë‚ ì§œë¥¼ ì§€ì •í•©ë‹ˆë‹¤. --detail ê° SQL ë¬¸ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´ë¥¼ ì¶œë ¥í•©ë‹ˆë‹¤. --oldest 시작 시간부터 종료 시간까지 ìˆ˜í–‰ëœ SQLë¬¸ì— ëŒ€í•˜ì—¬ 시간 순으로 í”Œëž˜ì‹œë°±ì„ ìˆ˜í–‰í•©ë‹ˆë‹¤. .. option:: -o, --output-file=FILE íŠ¹ì • 트랜ìžì…˜ì„ ë˜ëŒë¦¬ê¸° 위한 SQL êµ¬ë¬¸ë“¤ì„ ì§€ì •ëœ íŒŒì¼ì— ì €ìž¥í•˜ëŠ” 옵션ì´ë‹¤. **-o** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 콘솔 í™”ë©´ì— ë©”ì‹œì§€ê°€ 표시ëœë‹¤. :: cubrid flashback -o db_output demodb dba.tbl .. option:: -u, --user=ID 트랜ìžì…˜ì„ 수행한 사용ìžë¥¼ ì§€ì •í•˜ë©°, 해당 사용ìžê°€ 수행한 트랜ìžì…˜ì— 대해서만 **Flashback Summary** ì— í‘œì‹œëœë‹¤. **-u** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면 ëª¨ë“ ì‚¬ìš©ìžì— ì˜í•´ ìˆ˜í–‰ëœ íŠ¸ëžœìžì…˜ë“¤ì´ 표시ëœë‹¤. :: $ csql -u public demodb csql> CREATE TABLE tbl (a int); csql> INSERT INTO tbl VALUES (10); csql> CALL login ('dba', '') ON CLASS db_user; csql> INSERT INTO public.tbl VALUES (20); $ cubrid flashback -u public demodb dba.tbl Flashback Summary Number of Transaction: 1 Start date - End date: 03-05-2022:10:52:56 - 03-05-2022:11:02:56 Transaction id User name Start time End time Num_insert Num_update Num_delete Table 135 PUBLIC 03-05-2022:11:02:40 03-05-2022:11:02:41 1 0 0 public.tbl Enter transaction id (press -1 to quit): 135 delete from [public.tbl] where [a] = 10 limit 1; .. option:: -p, --dba-password=PASSWORD ì´ ì˜µì…˜ ë’¤ì— ì˜¤ëŠ” ê°’ì€ **DBA** ì˜ ì•”í˜¸ì´ë©° ìƒëžµí•˜ë©´ 프롬프트ì—서 ìž…ë ¥í•´ì•¼ 한다. .. option:: -s, --start-date=DATE dd-mm-yyyy:hh:mi:ss (e.g. 28-04-2022:14:10:00) 형ì‹ìœ¼ë¡œ 시작 ë‚ ì§œë¥¼ ì§€ì •í•œë‹¤. ì»¤ë°‹ëœ íŠ¸ëžœìžì…˜ 중ì—서 ì§€ì •ëœ ë‚ ì§œ ì´í›„ì— ì‹œìž‘í–ˆê±°ë‚˜ ì§„í–‰ì¤‘ì¸ íŠ¸ëžœìžì…˜ë“¤ì„ 찾기 위해 사용ëœë‹¤. :: cubrid flashback -s 28-04-2022:14:10:00 demodb dba.tbl .. option:: -e, --end-date=DATE dd-mm-yyyy:hh:mi:ss (e.g. 28-04-2022:14:10:00) 형ì‹ìœ¼ë¡œ 종료 ë‚ ì§œë¥¼ ì§€ì •í•œë‹¤. ì§€ì •ëœ ë‚ ì§œ ì´ì „ì— ì»¤ë°‹ëœ íŠ¸ëžœìžì…˜ë“¤ì„ 찾기 위해 사용ëœë‹¤. 시작 ë‚ ì§œë¥¼ ì§€ì •í•˜ì§€ 않으면 시작 ë‚ ì§œëŠ” 종료 ë‚ ì§œë¡œë¶€í„° 10ë¶„ ì „ 시간으로 ì„¤ì •ëœë‹¤. ë˜í•œ 종료 ë‚ ì§œê°€ ì§€ì •ë˜ì§€ 않으면 종료 ë‚ ì§œëŠ” 시작 ë‚ ì§œ 10ë¶„ 후 시간으로 ì„¤ì •ëœë‹¤. 만약 시작 ë‚ ì§œ ë° ì¢…ë£Œ ë‚ ì§œê°€ ì§€ì •ë˜ì§€ 않으면, 10ë¶„ ì „ë¶€í„° 현재 시ê°ê¹Œì§€ ìˆ˜í–‰ëœ íŠ¸ëžœìžì…˜ë“¤ì´ 표시ëœë‹¤. :: cubrid flashback -e 28-04-2022:14:10:00 demodb dba.tbl .. option:: --detail 트랜ìžì…˜ì„ ë˜ëŒë¦¬ê¸° 위한 ê° SQL êµ¬ë¬¸ë“¤ì— ëŒ€í•´ ìžì„¸í•œ ì •ë³´ë¥¼ 보여준다. 트랜ìžì…˜ ì‹ë³„ìž, 트랜ìžì…˜ì„ 수행한 사용ìž, ì›ë³¸ SQLì„ í•¨ê»˜ ì œê³µí•œë‹¤. ì›ë³¸ SQLì€ ì‚¬ìš©ìžê°€ 실행한 ì •í™•í•œ êµ¬ë¬¸ì´ ì•„ë‹ˆê³ , 단순히 í–‰ 단위로 실행ë˜ëŠ” 삽입/ìˆ˜ì •/ì‚ì œ 문으로 사용ìžê°€ ìˆ˜í–‰í–ˆë˜ êµ¬ë¬¸ì„ ë‚˜íƒ€ë‚¸ 것ì´ë‹¤. 예를 들어, INSERT ... SELECT ë¬¸ì€ ì—¬ëŸ¬ ê°œì˜ ì‚½ìž… 문으로 표현ëœë‹¤. **\-\-detail** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면, 트랜ìžì…˜ì„ ë˜ëŒë¦¬ê¸° 위해 ì‚¬ìš©í• SQL 구문만 표시ëœë‹¤. :: cubrid flashback --detail demodb dba.tbl Flashback Summary Number of Transaction: 1 Start date - End date: 03-05-2022:10:52:56 - 03-05-2022:11:02:56 Transaction id User name Start time End time Num_insert Num_update Num_delete Table 135 DBA 03-05-2022:11:02:40 03-05-2022:11:02:41 1 0 0 dba.tbl Enter transaction id (press -1 to quit): 135 [TRANSACTION ID] 135 [USER] DBA [ORIGINAL] insert into [dba.tbl] values (10); [FLASHBACK] delete from [dba.tbl] where [a] = 10 limit 1; .. option:: --oldest ì§€ì •ëœ íŠ¸ëžœìžì…˜ ë‚´ì—서 ìˆ˜í–‰ëœ SQL êµ¬ë¬¸ë“¤ì„ ì‹œê°„ 순서로 표시한다. **\-\-oldest** ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않으면, 트랜ìžì…˜ ë‚´ì—서 ìˆ˜í–‰ëœ SQL êµ¬ë¬¸ë“¤ì„ ì‹œê°„ ì—순으로 표시한다. :: cubrid flashback --oldest demodb dba.tbl HA ëª…ë ¹ì–´ --------- **cubrid changemode** ìœ í‹¸ë¦¬í‹°ëŠ” ì„œë²„ì˜ HA 모드 ì¶œë ¥ ë˜ëŠ” 변경하는 ìœ í‹¸ë¦¬í‹°ì´ë‹¤. **cubrid applyinfo** ìœ í‹¸ë¦¬í‹°ëŠ” HA 환경ì—서 트랜ìžì…˜ 로그 ë°˜ì˜ ì •ë³´ë¥¼ 확ì¸í•˜ëŠ” ìœ í‹¸ë¦¬í‹°ì´ë‹¤. ìžì„¸í•œ ì‚¬ìš©ë²•ì€ :ref:`cubrid-service-util` ì„ ì°¸ê³ í•œë‹¤. .. _locale-command: 로캘 ëª…ë ¹ì–´ ----------- **cubrid genlocale** ìœ í‹¸ë¦¬í‹°ëŠ” ì‚¬ìš©í•˜ê³ ìž í•˜ëŠ” 로캘(locale) ì •ë³´ë¥¼ 컴파ì¼í•˜ëŠ” ìœ í‹¸ë¦¬í‹°ì´ë‹¤. ì´ ìœ í‹¸ë¦¬í‹°ëŠ” **make_locale.sh** (Windows는 **.bat**) 스í¬ë¦½íЏ ë‚´ì—서 실행ëœë‹¤. **cubrid dumplocale** ìœ í‹¸ë¦¬í‹°ëŠ” 컴파ì¼ëœ ë°”ì´ë„ˆë¦¬ 로캘(CUBRID ë¡œì¼€ì¼ ë¼ì´ë¸ŒëŸ¬ë¦¬) 파ì¼ì„ 사용ìžê°€ ì½ì„ 수 있는 형ì‹ìœ¼ë¡œ ì½˜ì†”ì— ì¶œë ¥í•œë‹¤. ì¶œë ¥ ì •ë³´ëŠ” 리다ì´ë ‰ì…˜(redirection)ì„ ì‚¬ìš©í•´ì„œ ì €ìž¥í•´ ë‘는 ê²ƒì´ ì¢‹ë‹¤. **cubrid synccolldb** ìœ í‹¸ë¦¬í‹°ëŠ” ë°ì´í„°ë² ì´ìŠ¤ì™€ 로캘 ë¼ì´ë¸ŒëŸ¬ë¦¬ 사ì´ì˜ ì½œë ˆì´ì…˜ 불ì¼ì¹˜ 여부를 ì²´í¬í•˜ê³ , 불ì¼ì¹˜í•˜ëŠ” 경우 ë™ê¸°í™”한다. ìžì„¸í•œ ì‚¬ìš©ë²•ì€ :ref:`locale-setting` ì„ ì°¸ê³ í•œë‹¤. 타임존 ëª…ë ¹ì–´ ------------- **cubrid gen_tz** ìœ í‹¸ë¦¬í‹°ëŠ” 다ìŒê³¼ ê°™ì´ ë‘ ê°€ì§€ 모드가 있다.: - **new** 모드는 tzdata í´ë”ì— ì €ìž¥ëœ IANA 타임존 ë°ì´í„°ë¥¼ C 소스 코드 파ì¼ë¡œ 컴파ì¼í• 때 사용한다. ì´í›„ ì´ íŒŒì¼ì€ **make_tz.sh** (Linux) / **make_tz.bat** (Windows) 스í¬ë¦½íŠ¸ë¥¼ 통해 Linuxìš© .so ê³µìœ ë¼ì´ë¸ŒëŸ¬ë¦¬ë‚˜ Windowsìš© .dll ë¼ì´ë¸ŒëŸ¬ë¦¬ë¡œ 변환ëœë‹¤. - **extend** 모드는 new 모드와 비슷하지만 타임존 ë°ì´í„°ë¥¼ 다른 ë²„ì „ìœ¼ë¡œ ê°±ì‹ í•˜ê³ ê¸°ì¡´ ë°ì´í„°ì™€ì˜ í˜¸í™˜ì„±ì„ ìœ ì§€í•˜ë ¤ê³ í• ë•Œ 사용하며, í•ìƒ ë°ì´í„°ë² ì´ìŠ¤ëª… ì¸ìžì™€ 함께 사용한다. 단순히 ë‘ ê°€ì§€ ë²„ì „ì˜ íƒ€ìž„ì¡´ ë°ì´í„°ë¥¼ 병합하여 ì´ì „ ë°ì´í„°ì™€ì˜ í˜¸í™˜ì„±ì„ ìœ ì§€í• ìˆ˜ 없는 경우ì—는 ë°ì´í„°ë² ì´ìФ í…Œì´ë¸”ì˜ ë°ì´í„°ë¥¼ ê°±ì‹ í•˜ê¸° 위해 ì´ ëª¨ë“œë¥¼ 사용한다. Linuxì—서는 **make_tz.sh -g extend** 를 ì‚¬ìš©í•˜ê³ Windowsì—서는 **make_tz.bat /extend** 를 사용한다. **cubrid dump_tz** ìœ í‹¸ë¦¬í‹°ëŠ” 컴파ì¼ëœ CUBRID 타임존 ë¼ì´ë¸ŒëŸ¬ë¦¬ 파ì¼ì„ 콘솔ì—서 사용ìžê°€ ì½ì„ 수 있는 형ì‹ìœ¼ë¡œ ì¶œë ¥í•œë‹¤. ì¶œë ¥ ì •ë³´ëŠ” 리다ì´ë ‰ì…˜(redirection)ì„ ì‚¬ìš©í•´ì„œ ì €ìž¥í•´ ë‘는 ê²ƒì´ ì¢‹ë‹¤.