database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 11950 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 11950
데이타 딕셔너리 (Data Dictionary)
작성자
정재익(advance)
작성일
2002-09-07 21:35
조회수
11,574

1. Data Dictionary 란?

- DB의 가장 중요한 부분의 하나로 Data Dictionat에는 연관된 DataBase 정보

를 제공하는 일기전용 Table의 집합이다. 아래와 같은 정보들로 구성된다.

 

Oracle 사용자 이름

권한과 롤

Schema 개체이름(Table, View, Snapshot, index, cluster, Synonym,,,)

무결성제약 조건에 관한 정보

Column에 대한 기본값

DB의 개체에 대한 할당된 영역과 현재 사용중인 양

기타 일반적인 DataBase 정보

 

2. 구성

- 기본 Table과 사용자가 Access 할수있는 View로 구성된다.

- 기본 Table

연관된 DB의 정보를 저장하는 Table

Oracle 만이 Read/Write가 가능하며 사용자가 직접 Access할수 없다.

- 사용자 Access 가능 View

Dictionary 기본 Table의 내용을 요약하여 편리하게 보여줌

 

3. Dictionary의 소유자 SYS

- Oracle 사용자 SYS는 데이타 딕셔널리의 모든 기본 Table과 View를 소유한다.

- 기본 Dictionary Table의 내용을 변경하면 DataBase에 치명적인 악영향을

끼칠수 있다.

 

4. Dictionary 작용

- Oracle은 DDL 명령이 실행될때 마다 Data Dictionary를 Access한다.

- 모든 Oracle 사용자는 DB정보에 대한 읽기 전용 참조로 Data Dictionary

사용할 수 있다.

- DB작업동안 Oracle은 Data Dictionary를 읽어 개체의 존재여부와 사용자에게 적

합한 Access 권한이 있는지 확인한다. 또한 Oracle은 Data Dictionary를 계속

갱신하여 DataBAse 구조, 감사, 사용자권한,데이터등의 변경사항을 반영한다.

- DataBase 작업동안 Oracle은 항상 Data Dictionary에 Access하여 사용자

Access권한을 확인하고 개체 상태를 확인 하므로 Data Dictionary의 많은 정보

가 SGA에 저장된다. 모든 정보는 LRU(Least Recently Used) 알고니즘을

사용하여 메모리에 저장되며 Table과 열을 설명하는 Comments는 Column을

자주 Access하지 않으면 저장되지 않는다.

- Data Dictionary에 새로운 Table이나 View를 추가할수 있는데 소유자는

SYSTEM이나 제3의 ORacle 사용자여야 하며 SYS사용자에게 속한 새로운 개체는

생성하면 안된다.

 

5. User 접두어를 가진 View

- 사용자와 밀접하게 관련된 View

- 사용자 자신의 전용환경을 참조

- ALL_ View의 모든 정보의 부분 집합이다.

 

- Public Synonym을 가질수 있다.

<예> 아래의 예는 Scott 사용자의 Table을 조회항 결과이다.

SQL> connect scott/tiger

Connected.

SQL> select table_name, tablespace_name from user_tables;

 

TABLE_NAME TABLESPACE_NAME

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

BONUS TOOLS

DEPT TOOLS

DUMMY TOOLS

EMP TOOLS

SALGRADE TOOLS

 

6. ALL 접두어를 가진 View

- 사용자가 소유한 개체와 공용 권한과 명시적으로 부여된 권한및 롤을 사용하여

사용자가 Access할수 있는 개체정보를 돌려준다.

<예>라애의 예는 Scott 사용자가 Access 가능한 DB Link를 보이는 예이다.

SQL> connect scott/tiger

Connected.

SQL> select owner, db_link from all_db_links;

 

OWNER

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

DB_LINK

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

PUBLIC

LINUX.WORLD

 

PUBLIC

SANAE.WORLD

 

PUBLIC

WINK.WORLD

 

7. DBS 접두어를 가진 View

- 전체 DB에 대한 전역 View를 제공

- DataBase 관리자만이 질의가 가능하며 select any table 권한이 있는

사용자 또한 질의가 가능하다.

- 이러한 View에 대한 동의어는 생성되지 않으며, 다른 사용자가 질의 하려면

앞에 sys.이라는 접두어를 붙여야 한다.

select owner, object_name from sys.dba_objects;

- select any table권한이 있는 사용자는 dba_sysnonyms.sql을 실행하여

자신의 계정에 DBA View에 대한 동의어를 생성할수 있다. 이를 사용하면

현재 사용자에게 해당되는 동의어가 생성된다.

 

8. DUAL Table

- Oracle과 사용자 작성 프로그램이 알려져 있는 결과를 보장하도록

참조할수 있는 작은 Table이며, 하나의 열과 하나의 행으로 구성되어 있다.

[Top]
No.
제목
작성자
작성일
조회
12031오라클 클라이언트 설치 가이드
정재익
2002-09-22
12442
11952TNS and TNS Listener
정재익
2002-09-07
16977
11951테이블 관리
정재익
2002-09-07
13064
11950데이타 딕셔너리 (Data Dictionary)
정재익
2002-09-07
11574
11949제어파일(Control File) 관리
정재익
2002-09-07
9473
11948IMPORT and EXPORT
정재익
2002-09-07
13234
11947객체권한부여에 관하여
정재익
2002-09-07
7939
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2020 DSN, All rights reserved.
작업시간: 0.010초, 이곳 서비스는
	PostgreSQL v13.1으로 자료를 관리합니다