본문 바로가기
IT정보

시스템 뷰

by 디노프랭키 2023. 5. 2.
728x90

시스템 뷰는 오라클에서 기본적으로 제공하는 데이터베이스의 내부 정보를 조회할 수 있는 테이블입니다. 관리자나 개발자들이 모니터링하고 성능 체크를 하는 등 시스템 운영에 유용하게 사용할 수 있습니다. SQL문을 통해 직접 쿼리로 조회가 가능하며 'DBA_', 'USER_', 'ALL_'의 접두사를 가지는 테이블이 시스템 뷰입니다. 운영하며 자주 사용하게 되는 시스템 뷰를 알아보도록 하겠습니다.

DBA_OBJECTS

DBA_OBJECTS 뷰는 데이터베이스에서 존재하는 모든 객체의 정보를 담고 있는 뷰입니다. 이를 이용해 객체의 존재 유무, 상태, 종류 등 다양한 정보를 파악할 수 있습니다. 예를 들어 테이블이 생성된 시간이나 인덱스의 상태가 정상인지 확인이 가능합니다. 객체 소유자의 이름, 객체의 이름, 하위 객체 이름, 객체의 고유 식별자, 객체타입, 생성시간, 수정시간, 객체 상태 등 많은 정보를 가지고 있습니다. 이 뷰는 USER_OBJECTS와 흡사하지만 현재 사용자가 소유한 객체의 정보만 표시되며 DBA_OBJECTS는 모든 오브젝트의 정보를 표시합니다.

DBA_USERS

DBA_USERS는 모든 사용자에 대한 정보를 가지고 있는 뷰입니다. 이 뷰를 조회하기 위해서는 DBA권한을 가지고 있는 사용자로 조회를 해야 합니다. 사용자의 이름, 암호화된 패스워드, 사용자 아이디, 계정 잠긴 시간, 계정 만료 일자, 사용자 가계정 상태, 생성된 날짜, 프로파일, 사용자 기본 테이블 스페이스명, 사용자 임시 테이블 스페이스명 등의 정보를 포함하고 있습니다.

DBA_TABLES

DBA_TABLES는 모든 테이블에 대한 정보를 가지고 있는 뷰입니다. 이 뷰 역시 DBA권한을 가진 사용자만 조회가 가능하고 주로 테이블이 지정된 테이블 스페이스 정보나 각 테이블별 행 개수등을 확인할 때 조회 합니다. 테이블의 존재 여부나 테이블의 구성 요소를 확인하거나 테이블에 연결된 객체들도 같이 조회할 수 있어 특정 테이블에 대한 분석이 필요할 때도 유용하게 쓰일 수 있습니다. 소유자, 테이블 명, 테이블 스페이스명, 사용하는 블록 수, 행 개수, 분석 마지막 날짜, 생성된 날짜, 상태, 샘플링된 레코드 수, 레코드 평균 길이 등의 정보를 확인할 수 있습니다.

DBA_SOURCE

DBA_SOURCE는 생성된 프로시저, 패키지, 뷰, 함수, 트리거 등 객체의 소스 코드를 보관하는 뷰입니다. 이 뷰는 시스템 운영시 매우 자주 사용하는 뷰입니다. 패키지나, 프로시저, 함수 사용을 많이 하는 시스템일 경우 변경 사항이나 원인 파악, 영향도 조사 시에 관련 오브젝트들 하나하나 다 확인을 해야 하는데 그 번거로운 작업을 줄여줄 수 있는 게 DBA_SOURCE 뷰입니다. 소스 코드를 보관하고 있기 때문에 필요한 대상을 SQL문으로 바로 찾을 수가 있습니다. 객체 소유자, 이름, 타입( 프로시저, 패키지, 바디, 뷰, 함수, 트리거)등, 소스코드의 줄 번호, 소스코드의 정보를 가지고 있습니다.

DBA_TAB_COLUMNS

DBA_TAB_COLUMNS는 모든 테이블들의 칼럼 정보를 담고 있는 뷰입니다. 이 뷰도 제가 자주 이용하는 뷰 중에 하나입니다. 데이터 마이 그를 하거나 비슷한 테이블들을 커스터마이징 한다거나 데이터베이스 이관을 준비한다거나 할 때 각각의 테이블 별로 일일이 테이블의 칼럼 확인해서 스크립트를 만들 필요 없이 몇몇 시스템 뷰와 DBA_TAB_COLUMNS 뷰에서 제공하는 정보만 조합을 하면 테이블 스크립트를 손쉽게 만들 수 있습니다. 테이블 소유자의 이름, 칼럼이 속한 테이블 명, 칼럼이름, 데이터타입, 데이터 길이, 숫자 타입 정밀도, 숫자 타입 스케일, NULL여부, 디폴트 길이 값등의 정보를 가지고 있습니다.

DBA_TAB_COMMENTS

DBA_TAB_COMMENTS는 모든 테이블의 코멘트 정보를 가지고 있는 뷰입니다. 특정 테이블의 코멘트를 확인한다거나 데이터 사전을 구성할 때 사용됩니다. 소유자 명, 테이블 명, 테이블 타입, 코멘트 정보를 가지고 있습니다.

DBA_COL_COMMNETS

DBA_COL_COMMENTS는 모든 테이블의 칼럼 코멘트 정보를 가지고 있는 뷰입니다. 특정 칼럼의 코멘트 정보를 확인한다거나 DBA_TAB_COLUMNS과 함께 테이블 커스터마이징, 데이터베이스 이관 등 칼럼 코멘트를 전체적으로 확인해야 하는 업무에 사용될 수 있습니다. 또한, 칼럼 생성 시 대체로 명명규칙을 정해 두는데 명명규칙에 따른 코멘트 정보를 확인할 때도 유용하게 사용할 수 있습니다. 소유자 명, 테이블 명, 테이블 타입, 코멘트의 정보를 가지고 있습니다.

DBA_SEGMENTS

DBA_SEGMEMTS는 모든 세그먼트 정보를 가지고 있는 뷰입니다. 테이블의 사용량이나 인덱스의 크기 등을 파악할 수 있으며 세그먼트 정보를 파악하여 성능과 구조를 파악할 수 있습니다. 소유자명, 세그먼트이름, 속한 파티션이름, 세그먼트 타입, 크기(byte), 사용하는 블록 수, 사용하는 익스텐드 수, 테이블 스페이스 명의 정보를 가지고 있습니다.

DBA_TABLESPACES

DBA_TABLESPACES는 모든 테이블스페이스의 정보를 가지고 있는 뷰입니다. DBA가 데이터베이스를 관리할 때 자주 참조하는 뷰입니다. 테이블스페이스의 상태나 용량 등을 확인하고 새로운 테이블스페이스를 생성할 때 꼭 이 뷰를 확인해야 합니다. 테이블스페이스는 데이터가 저장되는 물리적인 공간으로 테이블이나 인덱스를 저장하는 공간입니다. 이 공간이 부족하게 되면 데이터를 더 이상 기록 할 수 없어 시스템 장애가 발생하게 됩니다. 크기와 사용량을 주기적으로 확인하고 관리하여 테이블스페이스가 부족하지 않게 확장해야 합니다. 테이블스페이스명, 블록크기, 상태, 테이블스페이스용도(PREMANENT, TEMPORARY, UNDO), 로깅모드여부, 사용 중인 블록 수, 사용 중인 바이트 수등의 정보를 관리하고 있습니다.

DBA_DATA_FILES

DBA_DATA_FILES는 모든 데이터 파일의 정보를 제공합니다. 데이터 파일은 테이블 스페이스의 정보를 저장하는 물리적인 파일정보로서 데이터 파일도 테이블스페이스와 마찬가지로 운영 중에 용량이 부족하지 않도록 주기적으로 체크하고 관리해야 합니다. 데이터 파일 확장시에 꼭 이 뷰를 확인하고 현재 생성된 데이터 파일과 동일한 구조로 추가를 해줘야 합니다. 이 부분은 데이터 복구와도 밀접한 관련이 있습니다. 데이터 파일의 이름, 테이블스페이스 명, 데이터 파일 크기, 데이터 파일에서 사용중인 블록 수, 데이터 파일 자동 확장 여부, 최대 확장 가능 크기, 최대 확장 가능한 블록 수, 사용가능한 공간 크기, 사용가능한 블록 수, 상태등의 정보를 제공하고 있습니다.

728x90

'IT정보' 카테고리의 다른 글

오라클 동적 관리 뷰  (6) 2023.05.04
오라클 시스템 뷰 및 사용자 뷰  (2) 2023.05.03
오라클 실행 계획  (0) 2023.05.01
오라클 아키텍처  (0) 2023.05.01
오라클에 관하여  (0) 2023.04.30

댓글