2013년 10월 3일 목요일

[오라클강좌,오라클데이터사전,오라클데이터딕셔너리,오라클Data Dictionary]ORACLE 데이터딕셔너리 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이며, 하나의 열과 하나의 행으로 구성되어 있다. - [출처] 오라클자바커뮤니티 - http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecOracle&wr_id=75 오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터 (오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의) www.onjprogramming.co.kr [개강안내]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr) [주말] [10/5]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 [10/5]SQL초보에서실전전문가까지 [평일야간] [10/4]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 [10/4]SQL초보에서실전전문가까지 [평일주간] [10/8]스프링3.X게시판&오라클힌트,SQL튜닝,사례연구 [10/4]PL/SQL,오라클힌트,SQL튜닝,사례연구 JAVA ORACLE iPhone/Android .NET 표준웹/HTML5 채용/취업무료교육 초보자(재학생)코스 PL/SQL,오라클힌트,SQL튜닝,사례연구 총 4일 32시간 10-04 스프링3.X게시판&오라클힌트,SQL튜닝,사례연구 총 4일 32시간 10-08 SQL초보에서실전전문가까지 총 8일 56시간 10-10 SQL초보에서실전전문가까지 총 18일 54시간 10-04 스프링3.X게시판&오라클힌트,SQL튜닝,사례연구 총 11일 33시간 10-08 오라클 마스터 총 18일 54시간 10-10 PL/SQL,오라클힌트,SQL튜닝,사례연구 총 10일 30시간 10-10 오라클 마스터 총 8일 56시간 10-05 SQL초보에서실전전문가까지 총 8일 56시간 10-05 스프링3.X게시판&오라클힌트,SQL튜닝,사례연구 총 4일 32시간 10-05 PL/SQL,오라클힌트,SQL튜닝,사례연구 총 4일 32시간 10-05

[오라클강좌,오라클데이터사전,오라클데이터딕셔너리,오라클Data Dictionary]ORACLE 데이터딕셔너리




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이며, 하나의 열과 하나의 행으로 구성되어 있다.
-

오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  



댓글 없음:

댓글 쓰기