{아이티윌/오라클/OCP} 데이터 사전의 사용

데이터 사전이 사용되는 세가지 주요 사항은 다음과 같다.
오라클은 사용자, 스키마 객체, 저장 구조에 관한 정보를 찾기 위해 데이터 사전을 액세스한다.
 오라클은 데이터 정의문(DDL)이 발생할 때마다 데이터 사전을 변경시킨다.
 오라클 사용자는 데이터베이스에 관한 정보를 읽기 전용으로 참고하기 위해 데이터 사전을 사용한다.

 

1. How Oracle Uses the Data Dictionary
  

 

데이터 사전 기본 테이블의 데이터는 오라클 기능을 하는데 필수적이다. 그러므로 단지 오라클만이 데이터 사전 정보를 쓰거나 변경할 수 있다. 데이터베이스가 운영되는 동안 오라클은 스키마 객체가 존재하는지, 사용자가 액세스하기에 적합한지를 확인하기 위해 데이터 사전을 읽는다. 오라클은 또한 데이터베이스 구조, 감사(Auditing), 허가(Grant), 데이터의 변경 사항을 반영하기 위해 계속적으로 데이터 사전을 업데이트 한다.
예를 들어, 만약에 KATHY 사용자가 PARTS라는 테이블을 생성한다면 새로운 테이블, 컬럼, 세그먼트, 익스텐트, 그리고 KATHY가 그 테이블에 가지고 있는 권한을 반영하기 위해 새로운 데이터가 데이터 사전에 추가된다. 이와 같은 새로운 정보는 다음에 사전 뷰를 조회할 때 볼 수 있다.

(1) Public Synonyms for Data Dictionary Views

오라클은 사용자가 데이터 사전을 편리하게 액세스 할 수 있도록 많은 데이터 사전 뷰에 대해 공용(Public) 시노님을 생성한다. 보안 관리자는 또한 전 시스템에 걸쳐 사용되는 스키마 객체에 대해 추가적으로 공용 시노님을 생성할 수 있다. 사용자는 자신의 스키마 객체 이름과 공용 시노님으로 사용되는 객체의 이름과 같아서는 안된다.

(2) Caching of the Data Dictionary for Fast Access

데이터 사전의 정보 대부분이 오라클이 데이터베이스가 운영되는 동안 데이터 사전을 계속적으로 액세스 하기 때문에 SGA에 저장된다. 모든 정보는 LRU(Least Recently Used) 알고리즘을 사용해서 메모리에 저장된다.

(3) Other Programs and the Data Dictionary

다른 오라클 제품은 존재하는 뷰를 참고할 수 있고, 추가적으로 그들 소유의 데이터 사전 테이블과 뷰를 생성할 수 있다. 데이터 사전을 조회해서 프로그램을 작성하는 어플리케이션 개발자는 기본 테이블 보다는 공용 시노님을 조회해야 한다.

 

2. How Users and DBAs Can Use the Data Dictionary
 

 

데이터 사전 뷰는 모든 데이터베이스 사용자에 대한 정보를 제공한다. SQL 언어에 의하여 데이터 사전 뷰를 액세스할 수 있다. 어떤 뷰는 모든 오라클 사용자가 액세스 할 수 있지만, 어떤 것들은 단지 데이터베이스 관리자만이 액세스 할 수 있다.
데이터 사전은 데이터베이스가 오픈될 때 항상 이용할 수 있고, SYSTEM 테이블스페이스에 존재하기 때문에 항상 온라인 상태이다.

데이터 사전은 뷰의 집합으로 구성되어 있다. 많은 경우가 유사한 정보를 포함하고 있는 세가지 뷰로 구성되어 있고, 각기 서로 접두사에 의해서 구별된다.

데이터 사전 뷰의 접두어
USER : 한 특정 사용자에게 종속되어 있고 그 사용자가 조회 가능한 데이터 사전 뷰
ALL : 한 특정 사용자가 조회 가능한 모든 데이터 사전 뷰
DBA : DBA 권한을 가진 사용자만이 조회할 수 있는 데이터 사전 뷰

(1) Views with the Prefix USER

  • 사용자에 의해 생성된 스키마 객체에 관한 정보, 사용자에 의해 만들어진 허가 등을 포함한 사용자 자신의 개인적인 환경과 관련된 뷰이다.
  • 단지 사용자와 관련된 행만 보여진다.
  • ALL _ 뷰 정보의 일부분이 된다.
  • 편의상 생략된 PUBLIC 시노님을 가질 수 있다.

예를 들어, 다음과 같은 쿼리는 사용자 스키마에 포함된 모든 객체를 리턴한다.

          SELECT object_name, object_type FROM  USER_OBJECTS;

(2) Views with the Prefix ALL

사용자 자신의 스키마 객체이거나, 명시적으로 권한과 역할을 부여 받음으로써 사용자가 액세스 할 수 있는 스키마 객체에 관한 정보를 보여주는 뷰이다. 예를 들어, 다음과 같은 쿼리는 사용자가 액세스 할 수 있는 모든 객체에 관한 정보를 리턴한다.

          SELECT owner, object_name, object_type FROM  ALL_OBJECTS;

(3) Views with the Prefix DBA

접두어 DBA를 가지고 있는 뷰는 데이터베이스의 전체 뷰를 보여준다. 그러므로, 단지 데이터베이스 관리자에 의해서만 조회할 수 있다. SELECT ANY TABLE 시스템 권한을 부여받은 사용자는 DBA 접두어를 가진 데이터 사전의 뷰를 조회할 수 있다.
시노님은 DBA 뷰가 단지 관리자에 의해서만 조회될 수 있기 때문에 뷰에 대해서 생성되지 않는다. 그러므로, DBA 뷰를 조회하기 위해서 관리자는 소유자 SYS라는 이름을 접두사로 붙여야 한다.

          SELECT owner, object_name, object_type FROM  SYS.DBA_OBJECTS;

관리자는 SELECT ANY TABLE 시스템 권한을 가지고 있는 사용자가 있다면 그들의 계정에 DBA 뷰에 대한 private 시노님을 생성하기 위해 DBA_SYNONYMS.SQL 스크립트 파일을 실행시킬 수 있다.

 

3. The Dynamic Performance Tables
  

 

오라클은 현재 데이터베이스 활동을 기록하는 "virtual" 테이블들을 유지한다. 이런 테이블을 Dynamic Performance Tables 이라 한다. 동적 성능 테이블은 실제 테이블이 아니고, 대부분 사용자에 의해서 액세스 할 수 없다. 그러나 데이터베이스 관리자는 조회, 생성, 그리고 다른 사용자에게 뷰를 액세스 할 수 있는 권한을 부여할 수 있다. 이런 뷰는 데이터베이스 관리자에 의해서 변경 또는 삭제될 수 없기 때문에 Fixed View라 불리기도 한다.

SYS는 V_$로 시작하는 이름을 가진 동적 성능 테이블을 소유한다. 뷰는 테이블에 생성되고 그 다음에 공용 시노님이 뷰에 대해 생성된다. 시노님 이름은 V$로 시작한다. 예를 들어, V$DATAFILE 뷰는 데이터베이스 데이파일에 관한 정보를 포함하고 V$FIXED_TABLE 뷰는 데이터베이스의 모든 동적 성능 테이블과 뷰에 관한 정보를 포함한다.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by laputa | 2008/01/21 15:58 | Oracle | 트랙백(3) | 덧글(0)

트랙백 주소 : http://laputa1231.egloos.com/tb/1318172
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Impulse fema.. at 2009/02/03 13:13

제목 : Order viagra online.
Generic viagra mastercard. Viagra. Viagra prescription price. Generic viagra. Natural viagra....more

Tracked from Adipex witho.. at 2009/02/04 08:56

제목 : Rx site no prior prescriptio..
Online prescription for adipex. Adipex without a prescription....more

Tracked from Viagra witho.. at 2009/02/04 13:46

제목 : Generic viagra no prescripti..
Viagra generic 25mg no prescription. Viagra prescription price. Viagra without prescription. Viagra without a prescription....more

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶