본문 바로가기
Developer/DB

[DB] [How to 알티베이스_4] 데이터 딕셔너리

by 순수한소년 2015. 1. 15.
728x90
반응형

본 포스트의 출처http://altibase.tistory.com/130

 

 

-------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------------------------------
"How to 알티베이스 4"에서는 알티베이스 데이타 딕셔너리에 대해서 알아보겠습니다.
----------------------------------------------------------------------------------------------------------------------------


알티베이스 데이타 딕셔너리(DATA Dictionary)란 무엇인가?


 - 알티베이스의 데이타 딕셔너리란 데이타베이스가 생성될 때 만들어 지는 데이타베이
   스를 관리하기 위해 유용한 정보들이 존재한 곳입니다.

   이러한 딕셔너리는 데이타베이스 객체 정보를 저장하는 메타테이블과 시스템 프로
   세스 정보를 저장하는 프로세스 테이블로 나뉘어질 수 있습니다.
 
메타테이블

 - 메타테이블은 시스템이 테이터베이스 객체를 관리하기 위해 생성하는 시스템 정의
   테이블로 사용자가 생성하는 일반 테이블과 동일한 구조를 가집니다.

   이러한 메타테이블이 사용하는 데이타 타입 및 레코드 저장 형태는 일반 테이블과
   동일 합니다. 하지만 메타테이블은 이름이 "SYS_"로 시작하며 종류는 다음과 같습
   니다.

   알티베이스는 구동 시 데이타베이스 객체 정보를 로딩하고, "DDL(Data Definition
   Language) - 데이터" 정의어문 수행 시 데이타베이스 객체 정보를 조회, 저장 및 변경
   하기 위해 이 메타테이블을 사용합니다.

Meta Table Name Description
SYS_COLUMNS_ 칼럼 메타 테이블
SYS_CONSTRAINTS_ 제약 조건 메타 테이블
SYS_CONSTRAINT_COLUMNS_ 제약 조건 관련 칼럼 메타 테이블
SYS_DATABASE_ 데이터베이스 메타 테이블
SYS_GRANT_OBJECT_ 객체 권한 메타 테이블
SYS_GRANT_SYSTEM_ 시스템 권한 메타 테이블
SYS_INDEX_COLUMNS_ 인덱스 키 칼럼 메타 테이블
SYS_INDICES_ 인덱스 메타 테이블
SYS_PRIVILEGES_ 권한 메타 테이블
SYS_PROCEDURES_ 저장 프로시저 및 함수 메타 테이블
SYS_PROC_PARAS_ 저장 프로시저 및 함수의 파라미터 메타 테이블
SYS_PROC_PARSE_ 저장 프로시저 및 함수 구문 메타 테이블
SYS_PROC_RELATED_ 저장 프로시저 및 함수 접근 테이블 메타 테이블
SYS_REPLICATIONS_ 이중화 메타 테이블
SYS_REPL_HOSTS_ 이중화 호스트 메타 테이블
SYS_REPL_ITEMS_ 이중화 테이블 메타 테이블
SYS_TABLES_ 테이블 메타 테이블
SYS_TBS_USERS_ 테이블스페이스 사용자 메타 테이블
SYS_TRIGGERS_ 트리거 메타 테이블
SYS_TRIGGER_DML_TABLES_ 트리거 접근 테이블 메타 테이블
SYS_TRIGGER_STRINGS_ 트리거 구문 메타 테이블
SYS_TRIGGER_UPDATE_COLUMNS_ 트리거 변경 칼럼 메타 테이블
SYS_USERS_ 사용자 메타 테이블
SYS_VIEWS_ 뷰 메타 테이블
SYS_VIEW_PARSE_ 뷰 구문 메타 테이블
SYS_VIEW_RELATED_ 뷰 접근 테이블 메타 테이블


   이처럼 중요한 메타테이블의 소유자는 시스템 사용자로 일반 사용자는 메타테이블의
   접근이 제한적입니다.

   그럼 실제로 메타테이블을 조회해 보겠습니다.
  

* SQL 화면 출력이 짤리는 것을 방지하기 위해서  ISQL 명령어중 출력옵션 제어 명
      령어인 "SET LINESIZE <숫자: default(100)>"을 사용하겠습니다.
   
      ISQL은 차차 알아보도록 할께요.

     


     
성능 뷰 테이블

 - 성능 뷰(performance view)는 알티베이스 시스템 내부의 정보, 즉 시스템 메모리
   프로세스 상태, 세션, 버퍼 등의 메모리 구조를 일반 테이블 형태로 나타내어 사용자
   가 모니터링이 가능하도록 해 주는 구조를 말합니다.

    "DML(Data Management Language) - 데이터 조작어" 중 select(테이블에서 조건에
     맞는 튜플을 검색함)로 테이블을 검색하는 것처럼, 알티베이스 운용 시 사용되는
     메모리 객체(ex. 세션정보, 로그정보)에 관한 내용을 검색함으로써 운용하는데 있어
     편의성을 제공하고 있습니다.

     성능 뷰 테이블은 V$로 시작하며 종류는 다음과 같습니다.

Fixed Table Name Description
V$ALLCOLUMN 성능 뷰를 구성하는 칼럼 정보
V$ARCHIVE 아카이브 관련 정보와  백업 정보
V$BUFFPAGEINFO 버퍼 메니저의 버퍼 프레임 통계 정보
V$BUFFPOOL_STAT 버퍼 풀 hit ratio를 비롯, 버퍼 풀 관련 통계 정보
V$DATABASE 메모리 데이터베이스 공간의 내부 정보
V$DATAFILES 테이블스페이스에서 사용하는 데이타 파일의 정보
V$DISKGC 디스크  공간 회수 (disk garbage collection) 정보
V$DISKTBL_INFO 디스크 테이블 정보
V$MEMTBL_INFO 메모리 테이블 정보
V$FLUSHINFO 버퍼 플러쉬 정보
V$INDEX 테이블의 인덱스 정보
V$INSTANCE 현재 알티베이스의 다단계 startup 정보
V$LATCH 버퍼 풀의 버퍼 제어 블록(BCB) latch 정보와
read or write try된 페이지에 대하여
read/ write latch에 대한 통계 정보
V$LFG 그룹커밋 관련 통계값
V$LOCK 현재 시점에서  데이터베이스의 모든 테이블 lock 노드 정보
V$LOCK_WAIT 트랜잭션의 락 대기 상태 정보
V$LOG 로그 앵커 정보
V$LOCK_STATEMENT Lock statement정보
V$MEMGC 메모리 공간 회수 (memory garbage collect) 정보
V$MEMSTAT 알티베이스 프로세스가 사용하는 메모리 통계 정보
V$MUTEX 알티베이스 프로세스에서 사용되고 있는 동시성 제어 관련 mutex 통계 정보
V$PLANTEXT SQL의 실행 계획 텍스트 정보
V$PROCTEXT 저장 프로시저의 텍스트 정보를 나타냅니다
V$PROPERTY 알티베이스 내부에 설정된 프로퍼티(Property) 정보
V$REPEXE 리플리케이션 관리자 정보
V$REPGAP 리플리케이션 송신자의 작업 로그 파일이 현재 생성된 최근 로그 파일간의 차이 정보
V$REPRECEIVER 리플리케이션 수신자 정보
V$REPRECEIVER_TRANSTBL 리플리케이션 송신자의 트랜잭션 테이블 정보
V$REPSYNC SYNC 중인 테이블의 정보
V$REPSENDER 리플리케이션 송신자 정보
V$REPSENDER_TRANSTBL 리플리케이션 수신자의 트랜잭션 테이블 정보
V$SEQ 시퀀스 관련 정보
V$SERVICE_THREAD Multiplexing 관련 서비스 쓰레드(Thread) 정보
V$SESSION 알티베이스 내부에 생성된 클라이언트에 대한 세션 정보
V$SESSIONMGR 알티베이스의 세션 통계 정보
V$STATEMENT 현재 알티베이스에 생성된 모든 세션의 구문 정보
V$SQLTEXT 시스템에서 수행되는 SQL의 텍스트 정보
V$TABLE 모든 성능 뷰의 레코드 및 칼럼 정보
V$TABLESPACES 테이블스페이스 정보
V$TRACELOG 트레이스 로깅 정보
V$TRANSACTION 트랜잭션 객체 정보
V$TRANSACTION_MGR 알티베이스 트랜잭션 관리자 정보
V$UNDO_BUFF_STAT Undo table space의 버퍼 풀 관련 통계 정보
V$VERSION 데이터베이스 버전 관련 정보
V$CATALOG 저장관리자의 System catalog table.
V$DISK_BTREE_HEADER 디스크 BTREE 인덱스들의 헤더 정보
V$MEM_BTREE_HEADER 메모리 BTREE 인덱스들의 헤더 정보
V$MEM_BTREE_NODEPOOL 메모리 BTREE 인덱스를 위한 노드 풀 정보
V$MEM_TABLESPACES 현재 Memory에 생성된 Tablespace들에 대한 정보를 표시한다.
V$MEM_TABLESPACE_
CHECKPOINT_PATHS
Memory tablespacebackup 파일이 저장되는 위치를 표시한다
V$MEM_TABLESPACE_
STATUS_DESC
Memory tablespace상태 값의 의미
(offline, online, dropped
)
V$STABLE_MEM_DATAFILES 현재 Memory DB에 생성된 Datafile들의 정보.
V$DB_FREEPAGELISTS 현재 Memory DB Free Page List들의 정보를 보여준다.
V$SEGMENT 현재 Disk DB에 생성된 Segmemt들의 정보를 보여준다.
V$UNDO_TBS 현재 Disk DB에 생성된 Undo Tablespace정보를 보여준다.
V$DATATYPE DATABASE에서 제공하는 TYPE 정보
V$SESSTAT Session 정보
V$STATNAME 통계정보의 종류와 ID
V$ST_ANGULAR_UNIT Geometry Data의 각도 단위 정보
V$ST_AREA_UNIT Geometry Data의 면적 단위 정보
V$ST_LINEAR_UNIT Geometry Data의 거리 단위 정보
V$SYSSTAT 통계정보의 종류 및 해당 값

     
   

  정말 많은 데이터베이스 관련 정보를 확인 할 수 있는데요. 알티베이스 자체에 대한
     모니터링 기능은 필수적으로 필요한 것이며 그 만큼 관리지에게 편의성을 제공하여
     성능에 대한 분석을 쉽고 빠르게 할 수 있도록 도와줍니다.

     성능 뷰는 알티베이스 운용과정에서 사용되는 대부분의 내부 메모리 구조체를
     뷰 형태로 제공하며, 해당 테이블에 대한 조회를 하는 순간에 그 데이타가 실시간으
     로 생성되기 때문에 언제나 프로세스 내부의 최신 정보를 얻을 수 있습니다.

     그럼 성능 뷰 전체목록을 iSQL에서 select  명령어를 통해서 조회해 보겠습니다.

 


   

성능 뷰는 언제나 읽기 전용 속성을 가지고 있습니다. 만일 sys로 접근해서 변견을
   시도한다면, 알티베이스는 에러를 내고, 해당 트랜잭션에 대한 부분철회를 수행할
   것입니다.

이렇게 오늘은 데이타 딕셔너리에 대해서 알아봤습니다. 저도 아직은 모든 메타테이블
과 성능 뷰 테이블의 각각의 기능을  알지 못하지만 하나씩 만저보고 결과를 모니터링
하면서 배워 나가고 있습니다. 뭐든지 많이 해보고 경험해 볼 수록 실력이 쑥쑥~ 자란
다고 생각해요.

알티베이스를 마스터 하는 그날까지 함께 노력해 보도록 하겠습니다.
오늘도 정말 수고하셨구요. 다음 How to 알티베이스 5에서는 iSQL과 DDL(데이터정의
어), DML(데이터조작어), DCL(데이터제어어)를 알아볼까 합니다.

728x90
반응형