태그 미디어로그 위치로그
[How to 알티베이스_4] 데이타 딕셔너리
알티베이스™ 라이프

안녕하세요. Jun~ 입니다.

2007년 12월… 어느덧 한해가 저물어 간다는 아쉬움이 밀려오는 요즘입니다.

사랑하는 가족들과  목표했던 무언가를 위해서 열심히 고군분투 했던 여러분
정말 수고하셨습니다. 얼마 남지않은 12월 마무리 잘 하시기 바라며, 행복만
가득하시길 바랄께요~

그럼 How to 알티베이스 4를 시작하겠습니다.

—————————————————————————————————————————-
“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 tablespace의 backup 파일이 저장되는 위치를 표시한다


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(데이터제어어)를 알아볼까 합니다.

그럼 힘내자구요!!!