당신은 주제를 찾고 있습니까 “데이터 사전 – [시나공 컴활1급] 211031 데이터 사전 / 메타 데이터“? 다음 카테고리의 웹사이트 https://you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 길벗시나공 IT 이(가) 작성한 기사에는 조회수 750회 및 좋아요 3개 개의 좋아요가 있습니다.
데이터 사전(Data Dictionary)은 데이터베이스 관리 시스템(Database Management System, 이하 DBMS)을 효율적으로 사용하기 위해 데이터베이스에 저장된 정보를 요약한 것이다.
데이터 사전 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 [시나공 컴활1급] 211031 데이터 사전 / 메타 데이터 – 데이터 사전 주제에 대한 세부정보를 참조하세요
시나공 카페에서는 최신기출문제와 해설, 시험대비자료, 합격 전략 및 수기, 자격증 관련 문의 및 자료 등 IT 자격증 시험을 위한 모든 정보를 제공합니다.
카페 주소 : https://sinagong.gilbut.co.kr/it/
데이터 사전 주제에 대한 자세한 내용은 여기를 참조하세요.
데이터 사전(Data Dictionary)이란? – 구루비
데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 한다.
Source: www.gurubee.net
Date Published: 11/30/2021
View: 2364
데이터 사전(Data Dictionary) – 네이버 블로그
데이터베이스의 전반에 대한 정보를 제공하는 것을 말한다. – 오라클 데이터베이스는 명령이 실행 될 때마다 데이터 사전(Data Dictionary) …
Source: m.blog.naver.com
Date Published: 9/29/2022
View: 3851
데이터 사전 검색(SQL_활용) – 넨이의 코딩
데이터 사전 검색(SQL_활용) · 사용자 정보(아이디, 패스워드 및 권한 등) · 데이터베이스 객체 정보(테이블, 뷰, 인덱스 등) · 무결성 제약 정보 · 함수, …
Source: code-nen.tistory.com
Date Published: 4/19/2022
View: 1683
[SQL] 데이터 사전 Data dictionary – Nanarin
오라클 데이터베이스 테이블. – 사용자 테이블(User Table, Normal Table)과 데이터 사전(Data dictionary, Base Table)으로 나뉨.
Source: nanarin.tistory.com
Date Published: 8/17/2021
View: 5196
데이터 사전 – [정보통신기술용어해설]
데이터 사전` 또는 `시스템 카탈로그` ㅇ [일반] – 시스템 또는 프로그램의 헤더부에 포함시켜, . 내용 항목에 대한 식별자, 그에 대한 정의, …
Source: www.ktword.co.kr
Date Published: 7/28/2022
View: 3664
데이터 사전 – 위키백과, 우리 모두의 백과사전
데이터 사전(data dictionary)는 시스템 전체에서 나타나는 데이터 항목들에 대한 정보를 지정한 중앙 저장소이다. 이 정보에는 항목을 참조하는데 사용되는 식별자, …
Source: ko.wikipedia.org
Date Published: 1/14/2022
View: 5063
[Oracle] Data Dictionary(데이터 사전) Table 정의와 활용법과 …
데이터 사전이란? 데이터 사전은 데이터베이스 에 대한 관리, 메타 데이터를 제공하는 읽기 전용 테이블 세트 이다. 데이터 사전 종류와 특징 데이터 …
Source: deftkang.tistory.com
Date Published: 11/12/2021
View: 2683
Oracle Data Dictionary (데이터 사전) – I’s Story
데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공.
Source: isstory83.tistory.com
Date Published: 1/6/2022
View: 968
[Oracle] Data Dictionary – 여행을 개발하다
– 데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 한다. – 오라클 …
Source: tragramming.tistory.com
Date Published: 6/8/2021
View: 2819
주제와 관련된 이미지 데이터 사전
주제와 관련된 더 많은 사진을 참조하십시오 [시나공 컴활1급] 211031 데이터 사전 / 메타 데이터. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
![[시나공 컴활1급] 211031 데이터 사전 / 메타 데이터](https://i.ytimg.com/vi/GwRh80dKkpI/maxresdefault.jpg)
주제에 대한 기사 평가 데이터 사전
- Author: 길벗시나공 IT
- Views: 조회수 750회
- Likes: 좋아요 3개
- Date Published: 2019. 12. 18.
- Video Url link: https://www.youtube.com/watch?v=GwRh80dKkpI
제2장 데이터 사전
Tibero에서 데이터 사전이 참조되는 경우는 다음과 같이 크게 세 가지로 나눌 수 있다.
2.3.2. SQL 파서, 질의 최적화기에 의한 참조
SQL 파서
Tibero는 사용자로부터 입력된 SQL 문장을 해석할 때 데이터 사전을 이용한다. 이러한 과정을 의미 분석(Semantic Analysis) 과정이라고 부른다.
의미 분석 과정은 SQL 문장에 포함된 스키마 객체가 존재하는지, 현재 사용자가 접근할 수 있는지, 특정 테이블에 포함된 컬럼은 어떤 것이 있는지, 컬럼의 타입에 따라 맞게 연산을 실행하는지 등의 검사를 수행한다.
다음의 SQL 문장으로 의미 분석 과정을 설명한다.
SELECT C11 FROM T1, T2 WHERE C11 = C21 AND C22 LIKE ‘20%’;
① SELECT 문장에 포함된 스키마 객체 즉 T1, T2가 존재하는지, 그리고 이 객체에 현재 사용자가 접근할 수 있는지 검사한다.
② 접근에 문제가 없다면, C11, C21, C22 컬럼이 T1, T2 테이블에 각각 정의되어 있는지, 아니면 동시에 T1, T2 테이블에 정의되어 있는지(또는 모호성이 존재하는지.)를 검사한다.
③ C11과 C12 컬럼이 비교 연산이 가능한지, C22 컬럼이 LIKE 연산자를 수행할 수 있는 문자열 타입인지 검사한다.
위의 SQL 문장은 의미 분석 과정을 거친 후 각 컬럼이 포함된 테이블을 명시적으로 표시하고 다음과 같이 변환된다.
SELECT T1.C11 FROM T1, T2 WHERE T1.C11 = T2.C21 AND T2.C22 LIKE ‘20%’;
질의 최적화기
Tibero는 질의 최적화기를 이용하여 SQL 문장에 대한 효율적인 실행계획(Execution Plan)을 생성하기 위해 데이터 사전에 저장된 통계 정보를 참조한다.
이러한 통계 정보는 각 스키마 객체의 기반 테이블에 저장되어 있으며, 히스토그램을 저장하는 기반 테이블에도 저장되어 있다.
예를 들어 테이블 정의를 포함하는 기반 테이블에는 테이블 안에 로우의 개수, 디스크 블록의 개수, 하나의 디스크 블록에 포함된 로우의 평균 개수 등이다. 히스토그램 테이블에는 특정 컬럼에 대하여 컬럼 값의 분포, 자주 사용되는 컬럼 값 등을 저장하고 있다.
또한, 질의 최적화기는 인덱스에 대한 정보도 참조한다. 예를 들어 테이블에 어떤 컬럼이 인덱스가 생성되어 있는지, 인덱스의 단말 노드(Terminal Node)에 저장된 레코드의 평균 개수는 몇 개인지 등을 참조한다.
다음은 질의 최적화기가 어떤 데이터 사전 정보를 이용하는지 확인할 수 있는 예이다.
SELECT * FROM T1, T2 WHERE T1.C1 = T2.C2;
위 예에서 보듯이 SELECT 문장은 WHERE 절의 조건에 따라 조인 연산을 수행해야 한다. 일반적으로 조인 연산은 시스템의 메모리와 CPU 시간이 많이 요구되는 연산이다. 따라서, 될 수 있으면 적은 메모리를 사용하여 조인 연산을 실행하는 방법을 찾아야 한다.
테이블 T1과 T2에 대하여 중첩 루프 조인(Nested-Loop Join)을 수행하는 방법은 다음과 같다.
T1을 외부 루프(Outer Loop)로 한다.
T2를 외부 루프로 한다.
일반적으로, 포함된 로우의 개수가 적은 테이블을 외부 루프 테이블로 하는 것이 연산 비용이 적다. 따라서, 질의 최적화기는 데이터 사전의 내용을 참조하여 테이블 T1과 T2 중에서 포함된 로우의 개수가 적은 것을 외부 루프로 하여 SQL 질의를 수행하도록 한다.
질의 최적화기가 인덱스에 대한 데이터 사전의 내용을 참조한 결과 T1.C1과 T2.C2 컬럼 모두에 대하여 인덱스가 생성되었다면, 중첩 루프 조인이 아니라, 좀 더 적은 메모리 양과 CPU 작업이 필요한 정렬 병합 조인(Sort-Merge Join) 연산을 수행한다.
꿈꾸는 개발자, DBA 커뮤니티 구루비
데이터 사전(Data Dictionary)이란
데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 한다.
오라클 데이터베이스는 명령이 실행 될 때 마다 데이터 사전을 Access 한다.
DB작업동안 Oracle은 데이터 사전을 읽어 객체의 존재여부와 사용자에게 적합한 Access 권한이 있는지를 확인 한다. 또한 Oracle은 데이터 사전을 계속 갱신하여 DATABASE 구조, 감사, 사용자권한, 데이터등의 변경 사항을 반영 한다.
데이터 사전에 저장되는 내용은 아래와 같다.
– 오라클의 사용자 정보
– 오라클 권한과 롤 정보
– 데이터베이스 스키마 객체(TABLE, VIEW, INDEX, CLUSTER, SYNONYM, SEQUENCE..) 정보
– 무결성 제약조건에 관한 정보
– 데이터베이스의 구조 정보
– 오라클 데이터베이스의 함수 와 프로지저 및 트리거에 대한 정보
– 기타 일반적인 DATABASE 정보
데이터 사전의 분류
ALL_XXXX
ALL_로 시작하는 데이터 사전으로, 한 특정 사용자가 조회 가능한 모든 데이터사전을 의미 한다.
자신이 조회하려는 객체의 주인이 아니더라도 그 객체에 접근 할 수 있는 권한을 가지고 있다면 ALL_XXXX 뷰를 통하여 조회가 가능 하다.
— scott 사용자로 접속하여 아래 SQL문장을 실행해 보자. SELECT table_name, tablespace_name FROM ALL_TABLES;
USER_XXXX
USER_로 시작하는 데이터 사전으로, 한 특정 사용자에게 종속되어 있고, 그 사용자가 조회 가능한 데이터 사전 뷰들로 ALL_XXXX 데이터 사전의 모든 정보의 부분 집합 이다.
— scott 사용자로 접속하여 아래 SQL문장을 실행해 보자. SELECT table_name, tablespace_name FROM USER_TABLES;
DBA_XXXX
DBA권한을 가진 사용자 만이 조회할 수 있는 데이터 사전으로서 모든 오라클 데이터베이스 객체에 대한 정보를 볼 수 있다.
SELECT ANY TABLE 권한이 있는 사용자 또한 질의가 가능 하며 다른 사용자가 질의 하려면 앞에 SYS.이라는 접두어를 붙여야 한다.
— SYS계정으로 접속하여 아래 문장을 실행해 보자 SELECT OWNER, OBJECT_NAME FROM SYS.DBA_OBJECTS;
V$_XXXX
Dynamic Performance View라고도 하며, 현재 Database의 상태에 관한 정보로 주로 DBA에게만 액세스가 허용되어 있다.
주로 DBA의 모니터링 작업용 정보를 제공하며, X$ 테이블을 베이스로 하는 뷰이다.
X$_XXXX
X$ 뷰는 V$ 뷰가 보여주지 않는 정보를 보여준다.
X$ 테이블은 오라클의 메모리정보를 볼 수있는 SQL 인터페이스 뷰들로 Oracle 데이터베이스의 가장 숨겨진 영역 중 하나이다.
Oracle Database 전체 데이터사전
데이터 사전(Data Dictionary)
– ‘ALL_’ 로 시작하는 데이터 사전으로, 한 특정 사용자가 조회 가능한 모든 데이터 사전을 의미 한다.
– 자신이 조회하려는 객체의 주인이 아니더라도 그 객체에 접근 할 수 있는 권한을 가지고 있다면 ‘ALL_XXXX’ 뷰를 통하여 조회가 가능하다.
SQL>
SELECT table_name, tablespace_name
FROM ALL_TABLES;
데이터 사전 검색(SQL_활용)
데이터 사전
1. 데이터 사전 개념
데이터 사전에는 데이터베이스의 데이터를 제외한 모든 정보가 있다. 데이터 사전의 내용을 변경하는 권한은 시스템이 가지며, 사용자에게는 읽기 전용 테이블 형태로 제공되므로 단순 조회만 가능하다. 데이터를 제외한 모든 정보라는 것은 데이터의 데이터를 의미한다. 따라서 데이터 사전은 메타데이터로 구성되어 있다고 할 수 있다.
2. 데이터 사전 내용
데이터 사전 안에 존재하는 메타데이터의 유형은 다음과 같다.
사용자 정보(아이디, 패스워드 및 권한 등)
데이터베이스 객체 정보(테이블, 뷰, 인덱스 등)
무결성 제약 정보
함수, 프로시저 및 트리거 등
데이터 사전 내용이 메타데이터라는 것은 모든 DBMS 제품에 공통이지만 데이터 사전을 구현하는 방법, 관리하는 방법 등의 차이로 메타데이터의 구체적인 내용은 제품마다 다르다.
3. 데이터 사전 검색
1) 오라클에서 데이터 사전 검색
– 오라클 사용자는 뷰로 데이터 사전에 접근할 수 있다. 오라클에서 데이터 사전과 관련된 뷰는 세 가지 영역이 있으며, 이때 오브젝트에 접근할 수 있는 사용자 권한에 따라 다음과 같이 구분된다.
DBA_ > ALL_ > USER_
오라클에서는 이와같은 영역 지시자가 뒤에 오브젝트 명을 붙이는 형태로 뷰의 이름이 결정된다. 여기서 오브젝트는 테이블, 뷰, 인덱스와 같은 것을 의미한다.
데이터 사전의 관한 자세한 내용은
DBA
검색 범위 – 데이터베이스의 모든 객체 조회 가능(DBA_는 시스템 접근 권한 의미)
데이터 사전 검색 쿼리문(예시)
– SELECT * FROM DBA_TABLES
– SELECT * FROM DAB_INDEXES
– SELECT * FROM DBA_VIEWS
ALL_
검색 범위 – 자신의 계정으로 접근 가능한 객체와 타 계정의 접근 권한을 가진 모든 객체 조회 가능
데이터 사전 검색 쿼리문(예시)
– SELECT * FROM ALL_TABLES
– SELECT * FROM ALL_INDEXES
– SELECT * FROM ALL_VIEWS
USER_
검색 범위 – 현재 자신의 계정이 소유한 객체 조회 가능
데이터 사전 검색 쿼리문(예시)
– SELECT * FROM USER_TABLES
– SELECT * FROM USER_INDEXES
– SELECT * FROM USER_VIEWS
SQL 개요
SQL은 Structured Query Language를 의미한다. 우리말로는 ‘구조적 질의어’가 된다.
구조적 질의어에 대한 주장은
구조적 질의어라는 용어를 직접 이해하기는 힘들다.
우선 분해해서 해석해 보자.
분해하면 ‘구조적’과 ‘질의어’라는 용어로 분리된다.
상대적으로 ‘질의어’라는 용어는 이해가 용이하다.
물어본다는 뜻으로 단순화 시킬 수 있다.
그런데 ‘구조적’으로 물어본다는 것이 무슨 말인지 이해하기가 어렵다.
이 경우 반대 또는 상대 개념의 용어를 통해 이해하는 것이 적절하다.
‘구조적’의 상대되는 용어는 무엇일까?
비구조적은 아니다.
구조적의 상대되는 용어는 ‘절차적’이라는 용어가 적절하다.
출처:ncs sql활용
1. 데이터베이스 개념
데이터베이스는 ‘연관된 데이터의 모음’이라 이해할 수 있으며, 보다 엄격하게 ‘데이터를 일정한 형태로 저장해 놓은 것’을 의미한다. 이러한 데이터 모음을 조작하는 것이 SQL이다. 하지만 SQL이 직접 데이터를 조작하는 것이 아니라, SQL과 데이터베이스의 중간에 데이터베이스관리시스템 을 통해 데이터베이스를 조작하게 된다.
2. 데이터베이스 관리시스템 (중요!)
관점 내용 비고 저장데이터 컴퓨터를 통해 접근 가능한 저장 매체에 저장된 데이터 Stored Data 통합데이터 중복이 최소화된 데이터 Integrated Data 공유데이터 여러 응용 프로그램이 공동으로 사용하는 데이터 Shared Data 운영데이터 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터 Operational Data
이들 관점을 이용하여 DBMS를 정의하면, ‘조직의 목적을 위해 존재하는 운영 데이터를 통합 저장하여 공동으로 사용 가능하도록 관리하는 시스템’ 이라고 할 수 있다.
3. 데이터 베이스 관리 시스템 구조
DBMS는 대용량 공유 메모리와 프로세스로 구성된다. DBMS를 구성하는 메모리는 용도별 공유 영역을 구분하며, 기능별 프로세스가 이들 메모리 영역을 이용하는 구조이다. 공유 메모리 영역이나 프로세스 이름은 제품별 또는 버전별 차이가 있을 수 있지만, 일반적인 구성으로 공유 메모리와 용도별 프로세스로 구성되어 있다는 사실을 알 수 있다. 이와 같이, 메모리와 프로세스로 구성된 DBMS의 모습은 실행 중에 형성되기에 DBMS ‘인스턴스’라는 용어가 사용된다. 즉, DBMS ‘인스턴스’는 메모리와 프로세스로 구성되어있다.
DBMS는 디스크에 저장된 데이터를 관리하는 시스템이다. 파일 또는 파일 시스템 자체는 DBMS에 포함되지않으나, 이를 관리하는 ‘저장 데이터 관리자’와 같은 기능을 통해 파일을 관리한다.
[SQL] 데이터 사전 Data dictionary
0. 오라클 데이터베이스 테이블
– 사용자 테이블(User Table, Normal Table)과 데이터 사전(Data dictionary, Base Table)으로 나뉨
– 사용자 테이블 : 여러 SQL 문에서 사용한 EMP, DEPT 등의 테이블
– 데이터 사전 : 데이터베이스를 구성하고 운영하는 데 필요한 모든 정보를 저장하는 특수한 테이블
1. 데이터 사전 Data dictionary
– 데이터베이스가 생성되는 시점에 자동으로 만들어짐
– 데이터베이스 메모리, 성능, 사용자, 권한, 객체 등 오라클 데이터베이스 운영에 중요한 데이터를 보관
– 이 데이터베이스에 문제가 발생할 시 오라클 데이터베이스 사용이 불가능해질 수도 있음
– 오라클 데이터베이스는 사용자가 데이터 사전 정보에 직접 접근하거나 작업하는 것을 허용하지 않음
– 대신 데이터 사전 뷰를 제공하여 SELECT문으로 정보 열람이 가능
2. 데이터 사전 뷰
– USER_XXXX : 현재 데이터베이스에 접속한 사용자가 소유한 객체 정보
– ALL_XXXX : 현재 데이터베이스에 접속한 사용자가 소유한 객체 또는 다른 사용자가 소유한 객체 중 사용 허가를 받은 객체, 즉 사용 가능한 모든 객체 정보
– DBA_XXXX : 데이터베이스 관리를 위한 정보 (데이터베이스 관리 권한을 가진 SYSTEM, SYS 사용자만 열람 가능)
– V$_XXXX : 데이터베이스 성능 관련 정보 (X$_XXXX 테이블의 뷰)
— 1. SELECT * FROM DICT; SELECT * FROM DICTIONARY;
(1) 사용 가능한 데이터 사전을 알고 싶을 때 조회하는 방법
2-1. USER_XXXX
– USER_ 로 시작하는 이름의 데이터 사전에는 현재 오라클에 접속해 있는 사용자가 소유한 객체 정보가 저장됨
— 1. SELECT TABLE_NAME FROM USER_TABLES;
(1) USER_TABLES : 현재 오라클 데이터베이스에 접속해 있는 계정이 소유하고 있는 테이블 이름 출력
2-2. ALL_XXXX
– ALL_ 로 시작하는 이름의 데이터 사전은 오라클 데이터베이스가 접속해 있는 사용자가 소유한 객체 및 다른 사용자가 소유한 객체 중 사용이 허락되어 있는 객체 정보가 저장됨
— 1. SELECT OWNER, TABLE_NAME FROM ALL_TABLES;
(1) ALL_TABLES : SCOTT 계정으로 접속하여 ALL_TABLES를 조회하면 SCOTT 계정이 사용할 수 있는 테이블 정보를 출력
– USER_TABLES와 달리 ALL_TABLES는 OWNER라는 칼럼이 하나 더 있는데 이 칼럼은 테이블을 소유한 사용자를 명시
2-3. DBA_XXXX
– DBA_ 로 시작하는 이름의 데이터 사전은 데이터베이스 관리 권한을 가진 사용자(SYSTEM, SYS)만 조회가 가능
– 조회가 불가능한 계정으로 조회를 시도하면 해당 개체가 존재하더라도 ‘존재하지 않습니다’ 라고 출력됨
– 사용 권한이 없는 사용자는 해당 개체의 존재 여부조차 확인할 수 없음을 의미(보안 문제 때문)
– 오라클 데이터베이스 운영과 관련된 여러 정보를 보관
— 1. SELECT * FROM DBA_TABLES; — 2. SELECT * FROM DBA_USERS WHERE USERNAME = ‘SCOTT’;
(1) DBA_TABLES : 데이터베이스에 존재하는 모든 테이블이 출력됨
(2) DBA_USERS : 오라클 데이터베이스에 등록된 사용자 정보를 출력. WHERE 절에 조건으로 지정된 SCOTT 사용자만 출력
위키백과, 우리 모두의 백과사전
데이터 사전(data dictionary)는 시스템 전체에서 나타나는 데이터 항목들에 대한 정보를 지정한 중앙 저장소이다. 이 정보에는 항목을 참조하는데 사용되는 식별자, 항목에 대한 엔티티의 구성요소, 항목이 저장되는 곳, 항목을 참조하는 곳 등을 포함한다. IBM 딕셔너리 오브 컴퓨팅에 따르면 데이터 딕셔너리는 “의미, 다른 데이터와의 관계, 기원, 용례, 포맷 등의 데이터에 관한 정보의 핵심 저장소”이다.[1] 오라클은 메타데이터가 있는 테이블의 모음집으로 정의한다.
같이 보기 [ 편집 ]
[Oracle] Data Dictionary(데이터 사전) Table 정의와 활용법과 꿀팁
데이터 사전이란?
데이터 사전은 데이터베이스 에 대한 관리, 메타 데이터를 제공하는 읽기 전용 테이블 세트 이다.
데이터 사전 종류와 특징
데이터 사전은 Base tables와 Views 로 구분된다.
겉으로 들어나지 않는 Base Table은 데이터베이스에 대한 정보를 저장한다. 사용자는 이 테이블에 직접적으로 접근할일이 거의 없다. 왜냐하면 사용자는 정규화되고(normalized), 대부분 데이터가 암호화 된 형식으로 저장되기 때문이다.
View 는 Base Table의 데이터를 디코딩하고 join및 where절을 사용하여 유용한 정보로 만들고 정보를 단순화 한다. 이러한 View들은 데이터 사전에 있는 모든 객체의 이름과 설명이 포함된다.
DICTIONARY 뷰를 조회하면 테이블명과 설명을 볼수 있다.
테이블명은 3가지 접두사로 이루어져 있는데 DBA, ALL, USER 이다.
DBA는 데이터베이스 관리자 시점에서 모든 객체에 접근할 수 있고, ALL은 모든 사용자에게 있는 객체 , USER는 현재 사용자에게 있는 객체에 접근한다.
데이터 사전 Base Table과 View는 SYSTEM테이블 공간에 저장되고 항상 사용가능하다. 왜냐하면 SYSTEM 테이블은 데이터베이스를 킬때부터 항상 온라인이기 때문이다.
유용적인 데이터사전 View
USER_CATALOG : 사용자의 테이블, 뷰, Synonyms, 시퀀스를 조회 할 수 있다.
USER_TABLES : 사용자의 모든 테이블과 테이블의 자세한 정보를 알 수 있다.
USER_INDEXES : 사용자가 소유한 인덱스의 정보를 알 수 있다.
USER_TAB_COLUMNS : 사용자가 소유한 테이블과 테이블의 컬럼들의 자세한 정보를 알 수 있다.
USER_COL_COMMENTS : 사용자가 소유한 테이블명과 컬럼만을 조회한다.
USER_CONSTRAINTS : 제약조건을 조회한다.
Tip. 내 계정에서 모든 테이블 확인 또는 모든 계정의 테이블 확인
* USER_TABLES는 사용자의 모든 테이블을 보여주지만 모든 사용자의 모든 테이블을 보려면 DBA_TABLES를 조회하면 된다.
* USER_TABLES는 TABS 테이블과 같고 단순히 테이블명과 테이블타입만 보려면 TAB 테이블을 조회하면 된다.
TAB 테이블 조회 TABS 테이블 조회
데이터 사전 활용
활용1) 내 계정 테이블명 중에 어떤 문자가 포함된 테이블 찾는 방법
테이블명중에 “DIDA”라는 문자열이 포함된 테이블을 찾기
활용2) 내 계정에서 모든 계정의 어떤 테이블 찾는 방법
모든 계정의 테이블명이 ‘USR_USER’인것 찾기
Oracle Data Dictionary (데이터 사전)
V$access 세션에 의해 현재 lock 되어 있는 객체에 대한 정보
V$active_session_history AWR 메모리 통계 영역에 저장되어져 있는 통계정보
V$archive 데이터베이스의 아카이브 파일에 대한 정보
V$archived_log 실제로 아카이브 디렉토리로부터 아카이브 파일들의 존재를 확인
V$backup 데이터 파일의 백업 상태
v$backup_datafile 백업된 데이터파일에 관한 정보
V$backup_files 백업된 데이터파일의 정보
V$backup_piece rman에서 backup 명령으로 생성한 백업세트의 경로와 파일명
v$backup_redolog 백업된 redo log 파일에 관한 정보
V$backup_set rman에서 backup 명령으로 생성한 백업세트수와 블록 크기
v$backup_spfile 백업된 spfile 파일에 관한 정보
DBA_object_tables 데이터베이스 내의 모든 객체 테이블에 대한 정보
DBA_object_size PL/SQL 블럭의 크기에 대한 정보
V$bgprocess 백그라운드 프로세스 정보
V$buffer_pool 데이터베이스에 설정된 다중 풀 영역에 대한 정보
V$buffer_pool_statistics 데이터베이스에 설정된 다중 풀 영역에 대한 정보
V$CACHE 테이블이 버퍼 캐시 영역을 얼마나 필요로 하는지
V$circuit MTS 환경에서 사용자 프로세서에 의해 사용된 서버 프로세스와 디스패쳐 프로세스에 대한 정보
V$controlfile 컨트롤파일의 위치확인
V$corrupt_xid_list corrupt transaction한 트랜잭션 ID를 보임
V$database 데이터베이스명, 현재시점의 system change#, DB의 archive/noarchive여부
V$database_block_corruption 데이터의 오류블럭에 대한 정보
V$database_incarnation database incarnation에 대한 정보
V$datafile 데이터파일의 크기, 이름, 상태,block 크기등에 대한 정보, 로그버퍼 영역 분석. v$dbfile
V$datafile_header 데이터파일 header에 대한 정보
V$db_cache_advice 캐시 메모리 정보
V$db_object_cache 공유 영역의 공유 풀 영역에서 캐시된 현재 존재하는 객체의 내용과 크기를 분석할 때 사용한다
V$db_pipes DBMS_PIPE 패키지에 의해 전송된 메시지에 대한 정보
V$dba_objects 데이터베이스에 설정된 테이블의 정보
V$dbfile v$datafile의 동적 뷰
V$dblink 현재 생성되어 있는 모든 database link 정보
V$diag_info DIAGNOSTIC_DEST 매개변수로 지정한 정보
V$dispatcher MTS 환경에서 인스턴스를 실행할 때 사용자 프로세스의 요구에 의해 서버에게 정보를 분배하여 주는 디스패쳐 프로세스에 대한 정보
V$enabledprivs 세션에 영향을 미치는 권한에 대한 정보
V$event_name wait에 관한 정보
V$filemetric filemetric에 관한 정보
V$filemetric_history filemetric에 관한 실행 정보
V$filestat 현재 존재하는 데이터 타입의 물리적으로 읽은 횟수에 대한 정보로 서버튜닝에 유용함
V$fixed_table v$로 참조할 수 있는 모든 동적 테이블 이름
V$fixed_view_definition v$ 뷰가 어떤 x$ 테이블에 의해 사용되는지 알 수 있음
V$flashback_database_log 최대한 어느 시점까지 복구가 가능한지를 알려줌
V$instance 현재 INSTANCE 정보
V$latch 래치 정보
V$latchholder 프로세스와 래치(latch)가 현재 유효한 상태인지의 정보
V$latchname 래치 이름정보
V$librarycache 히트율과 reload비율을 분석
V$license 데이터베이스 접속 사용자 수를 참조할 때 사용
V$lock 해당 인스턴스의 lock에 대한 정보
V$log 리두로그 그룹,로그시스번호,멤버수, 리두로그파일 상태
V$log_history resetlog 옵션을 수행하는 시점의 시스템체인지넘버(SCN)에 대한 정보. v$loghist가 동적 뷰임
V$loghist v$log_history의 동적 뷰임
V$logfile 리두로그 파일 확인
V$metricname AWR에 저장되어 있는 모든 메트릭스에 대한 정보
V$mttr_target_advice FAST_START_MTTR_TRAGET 초기화 매개변수 최적화
V$mystat 현재 세션에 대한 통계정보
V$nls_valid_values 현재 데이터베이스에서 사용 가능한 언어의 종류
V$nls_parameters 전체 인스턴스에서 지원되는 국가 언어지원의 설정에 대한 정보, nls_session_parameters와 같음
V$object_dependency 공유 풀 영역에서 현재 로더 된 객체에 대한 종속성을 참조할 때 사용
V$object_usage INDEX 모니터링
V$open_cursor 각각의 사용자 세션을 위해 오픈 되어 있는 커서 수에 대한 정보
V$option 현재 데이터베이스에 어떤 옵션이 설치되었는지 알 수 있음
V$parameter 현재 설정되어 있는 init.ora 파라미터의 내용, show parameters
V$process 프로세스에 관한 정보
V$pwfile_users orapwd에 의해서 sysop 권한이 주어진 사용자에 관한 정보
V$queue MTS 환경의 응답 큐/요구 큐에 대한 정보
V$recover_file 현재 복구되어야 할 데이터 파일에 대한 정보
V$recovery_log 아카이브 로그의 이름과 개수에 대한 정보, 미디어 복구를 처리하는 동안 v$log_history에 정보의 일부분을 저장함
V$reqdist 프로세스의 작업이 요구된 시간에 대한 정보
V$resource 데이터베이스에서 사용할 수 있는 자원에 대한 정보
V$restore_point flashback database에서 사용할 수 있는 시점에 대한 정보
V$rman_encryption_algorithms rman 툴에서 백업에 쓰일 암호화 알고리즘의 종류
V$rollname ROLLBACK SEGMENT에 관한 정보
V$rollstat 데이터베이스에서 사용중인 언두 세그먼트에 대한 정보
V$rowcache 자료사전 탐색 성능 파악
V$servicemetric servicemetric에 관한 정보
V$sess_io 현재 접속된 세션에 의해 실행된 논리적, 물리적 I/O의 양에 대한 정보
V$session 현재 인스턴스에 접속된 각 세션에 대한 정보
V$session_cursor_cache 세션을 사용하고 있는 동안 얼마나 많은 커서가 오픈 되었고, 얼마나 자주 사용되었는지에 대한 정보로 튜닝에 사용함, v$system_cursor_cache와 유사함
V$session_longops 트랜젝션의 진행상태 확인
V$session_wait 로그버퍼영역이 작아서 프로세스간의 경합을 확인
V$session_wait_class 각 세션의 wait class 정보
V$session_wait_history 현재 active한 세션에 대한 wait 사건 정보
V$sessmetric session metric 정보
V$sesstat v$sysstat 테이블에 보인 정보의 일부분으로, 모든 세션 정보
V$sga SGA 영역에 할당한 메모리 구조의 정보
V$sgastat 메모리 영역인 SGA에 대한 사용현황 정보, 각 공유 서버 프로세스가 얼마나 많이 실행되었는지에 대한 정보도 포함
V$shared_pool_reserved 공유 풀 메모리의 낭비여부 파악
V$sort_segment temporary tablespace에 생성되는 temporary segment에 대한 정보 dba_segments 참조
V$sort_usage temporary tablespace에 생성되는 temporary segment에 대한 정보v$session 참조
V$spparameter 서버 파라메터 파일, 즉 spfile의 내용
V$sql 독립적인 SQL 문장이 얼마나 자주 사용되었는지에 대한 정보
V$sqlarea 공유 풀 영역을 검사
V$sqltext 공유 풀 영역에 공유된 커서의 SQL 문자 또는 SQL 텍스트 정보
V$statname 모든 사용자가 사용하는 UGA 영역의 크기 정보, v$sysstat 테이블의 상태정보
V$sysaux_occupants sysaux 테이블스페이스에 대한 정보를 제공
V$sysmetric 현재 메모리에 저장되어 있는 메트릭스에 대한 현재 값
V$sysmetric_history v$sysmetric의 실행 내역
V$sysstat 인스턴스가 시작된 이후의 로그온과 논리적, 물리적 I/O의 수 등의 상태에 대한 정보, v$statname으로 알 수 있음
V$system_cursor_cache 전체 시스템에서 사용된 모든 커서의 오픈 수와 비율등에 대한 정보, v$session_cursor_cache와 유사함
V$system_event 데이터베이스 내의 자원을 사용하기 위해 기다리는 시간에 대한 정보로 시스템의 성능 파악
V$system_parameter DB의 파라메터에 관한 정보
V$system_wait_class 전체 시스템의 wait class 정보
V$tablespace bigfile 여부를 확인, tablespace의 번호와 이름 정보
V$thread 병렬서버 환경에서 사용되는 메모리 영역에 대한 정보(동작중인 SID를 확인할 수 있음)
V$timer 자정 이후의 현재시각을 1/100초로 나타냄
V$timezone_names Time zone을 조회
V$transaction 현재 진행중인 트랜젝션에 대한 정보로, 현재 사용중인 언두 세그먼트에 대한 정보를 자세히 볼 수 있음
V$type_size 데이터베이스 구성요소의 크기(테이블과 인덱스의 초기값과 next extent의 크기를 결정하기 위한 참조하는 일정한 크기)
V$undostat undo segment에 관한 정보
V$version version에 관한 정보
PATH_VIEW XML 자원의 경로에 관한 정보
[Oracle] Data Dictionary
오늘은 Oracle Data Dictionary에 대해 포스팅하고자 한다.
처음 Data Dictionary에 대해 들었을 때는 프로시저나 함수, 트리거와 같이 무엇인가 아주 복잡한 개념으로만 생각했다. 그런데 말 그대로 백과사전이라는 뜻이었고, 오라클 데이터베이스에 대한 수많은 정보를 제공하는 역할을 하고 있었다.
Dictionary, 백과사전. Oracle에서도 그 의미가 유사하다.
‘데이터 사전’이라 불리는만큼, 다수의 테이블이 포함되어 있는 데이터베이스를 핸들링 할 때 꽤나 유용하게 사용하고 있다.
1. Data Dictionary란?
– 데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 한다.
– 오라클 데이터베이스는 명령이 실행 될 때 마다 데이터 사전을 Access 한다.
– DB작업동안 Oracle은 데이터 사전을 읽어 객체의 존재여부와 사용자에게 적합한 Access 권한이 있는지를 확인한다. 또한 Oracle은 데이터 사전을 계속 갱신하여 DATABASE 구조, 감사, 사용자권한, 데이터등의 변경 사항을 반영 한다.
데이터 사전에 저장되는 내용은 아래와 같다.
– 오라클의 사용자 정보
– 오라클 권한과 롤 정보
– 데이터베이스 스키마 객체(TABLE, VIEW, INDEX, CLUSTER, SYNONYM, SEQUENCE..) 정보
– 무결성 제약조건에 관한 정보
– 데이터베이스의 구조 정보
– 오라클 데이터베이스의 함수 와 프로지저 및 트리거에 대한 정보
– 기타 일반적인 DATABASE 정보
출처 :http://www.gurubee.net/lecture/1520(꿈꾸는 개발자 DBA 커뮤니티)
단순히 데이터에 대한 정보(메타데이터라고 해야하나)를 제공하는 줄만 알고 있었는데, 생각보다 그 역할이 중요했다. 접속중인 사용자에 대한 데이터베이스 권한 체크에서부터, 실시간 데이터 정보 갱신까지.
일단 SQL을 날리면 반드시 Dictionary를 거친다고 하니, Oracle 자체의 연동 및 의존도도 상당히 높아보인다. 그래서 함부로 Insert, Update, Delete를 할 수 없으며, 그 특징에 맞게 View 형태로 제공된다(Dictionary를 좀 더 정확히 말하면 Data Dictionary View라고 부름). 사용자 입장에서는 필요한 정보만 탐색용(Select)으로만 사용하면 된다. 모든 Dictionary는 read-only이며, 시스템에 의해 관리되고 있다.
2. Dictionary의 종류
백과사전인만큼 담고 있는 정보도 다양한데, 어떤 정보를 담고 있느냐에 따라 다시 여러 종류로 나뉜다.
내 경험에 빗대어 보면, 아버지가 어렸을 적에 권수가 20권 정도되는 백과사전을 사주셨었다. 책 한 권당 경제/사회, 생물, 자연과학 등으로 그 주제가 정해져 있었고, 나는 궁금한 부분이 어디인가에 따라 다른 책을 꺼내보았다.
오라클 DB에서도 마찬가지이다. 내가 얻고자 하는 것이 컬럼에 대한 정보인지, 테이블에 대한 정보인지, 프로시저에 대한 정보인지를 정한다. 그리고 그 정보가 포함된 권을 꺼내본다고 생각하면 이해하기 쉽다.
어렸을 적 백과사전이 1권부터 20권까지 있었다면, 오라클에서는 몇 권의 백과사전이 있을까. 종류를 조회하기 위해서는 다음과 같이 SQL을 날려본다.
SELECT * FROM DICTIONARY;
위 쿼리는 조회할 수 있는 모든 Dictionary의 리스트를 보여준다. 단, 접속중인 사용자가 DBA냐, 일반 사용자냐 등에 따라 조회할 수 있는 Dictionary의 수가 달라진다. 모든 사용자가 조회할 수 있는 Dictionary가 있는 반면, 관리자만 조회할 수 있는 Dictionary도 있는 것이다. 그래서 때에 따라 관리자가 사용자에 따라 특정 Dictionary에 대한 열람 권한을 부여할 수도 있다.
TABLE_NAME COMMENTS —————— —————————————————————– USER_CONS_COLUMNS Information about accessible columns in constraint definitions ALL_CONS_COLUMNS Information about accessible columns in constraint definitions USER_LOG_GROUP_COLUMNS Information about columns in log group definitions ALL_LOG_GROUP_COLUMNS Information about columns in log group definitions USER_LOBS Description of the user’s own LOBs contained in the user’s own tables ALL_LOBS Description of LOBs contained in tables accessible to the user USER_CATALOG Tables, Views, Synonyms and Sequences owned by the user ALL_CATALOG All tables, views, synonyms, sequences accessible to the user USER_CLUSTERS Descriptions of user’s own clusters ALL_CLUSTERS Description of clusters accessible to the user USER_CLU_COLUMNS Mapping of table columns to cluster columns USER_COL_COMMENTS Comments on columns of user’s tables and views ALL_COL_COMMENTS Comments on columns of accessible tables and views USER_COL_PRIVS Grants on columns for which the user is the owner, grantor or grantee ALL_COL_PRIVS Grants on columns for which the user is the grantor, grantee, … USER_COL_PRIVS_MADE All grants on columns of objects owned by the user ALL_COL_PRIVS_MADE Grants on columns for which the user is owner or grantor USER_COL_PRIVS_RECD Grants on columns for which the user is the grantee ……. ………………..
T
ABLE_NAME은 해당 Dictionary의 이름, 그리고 COMMENTS는 그 테이블이 어떤 정보를 담고 있는지에 대한 설명이다. 예컨데, 컬럼에 대한 정보를 보고 싶다면 COMMENTS에만 조건을 걸어서 리스트를 볼 수도 있다.
SELECT * FROM DICTIONARY WHERE COMMENTS LIKE ‘%COLUMN%’;
TABLE_NAME COMMENTS ————————– —————————————————— ALL_IND_COLUMNS COLUMNs comprising INDEXes on accessible TABLES USER_IND_COLUMNS COLUMNs comprising user’s INDEXes and INDEXes on … ALL_SUBSCRIBED_COLUMNS Synonym for USER_SUBSCRIBED_COLUMNS COLS Synonym for USER_TAB_COLUMNS ALL_PUBLISHED_COLUMNS Synonym for USER_PUBLISHED_COLUMNS
현재 내가 사용하고 있는 버전과 접속한 계정의 권한 범위 내의 경우, 총 804개의 데이터 사전이 있다. 버전이 올라가면 올라갈수록 데이터 사전의 수는 변경될 수 있으며, 갱신되는 Dictionary에 대한 정보는 아래 URL을 참고하면 된다.
https://docs.oracle.com/cd/B28359_01/nav/catalog_views.htm
3. Data Dictionary의 명명규칙
오라클에서는 Dictionary의 이름을 붙이는데는 나름대로의 규칙이 있다. 대체로 이름만 봐도 ‘이런 정보를 담고 있구나!’고 유추해볼 수 있다. 다음은 대표적인 Dictionary의 명명 규칙들이다.
3-1. USER_XXX
– 사용자가 사용하고 있는 Object와 관련된 정보.
ex)USER_ADDM_FDG_BREAKDOWN, USER_ADDM_FINDINGS, USER_ADDM_INSTANCES, …
3-2. ALL_XXX
-현재 사용자가 접근이 가능한 Object에 관련된 정보.
ex)ALL_ALL_TABLES, ALL_APPLY, ALL_APPLY_CHANGE_HANDLERS, …
3-3. DBA_XXX
– DBA 권한을 가지고 있는 사용자만이 접근할 수 있는 정보.
ex) DBA_OBJECTS, DBA_INDEXES, DBA_TABLES, …
3-4. V$_XXX
– 서버의 성능이나 시스템관련 정보, 메모리, Lock 등에 관한 정보.
ex )V$ACTIVE_INSTANCES, V$ACTIVE_SESS_POOL_MTH, V$ADVISOR_CURRENT_SQLPLAN, …
4. Data Dictionary 사용 예제
Data Dictionary가 실무에서 가장 유용하게 빛을 발했을 때는 테이블 정의서를 만들 때였다.
프로젝트를 시작하면 요구사항 분석 후 바로 테이블 설계에 들어갔는데, 안타깝게도 초기에 설계된 테이블이 변경없이 그대로 가는 경우가 드물었다. 필요에 따라 컬럼의 삭제, 추가, 수정이 불가피했기 때문이다. 그래서 팀원들과 변경사항을 적시에 공유해야만 했다. 이 때, 테이블 이름만 변수로 지정해서 SELECT 하는 쿼리를 만들면 좋겠다는 생각을 매번 했었는데, 그 솔루션이 Data Dictionary였다.
테이블 정의서에 언급된 내용들은 프로젝트별로 다르겠지만, 다음 항목들에서 크게 벗어나지 않는다.
테이블명, 컬럼명, 컬럼 자료형, NULL 가능여부, PK(Primary Key) 여부, Column Description
* 테이블 정의서 만들기
① 사용할 Dictionary
*USER_TAB_COLUMNS (사용자의 컬럼 정보 조회)
* USER_CONSTRAINTS (사용자가 정의한 테이블의 제약조건)
* USER_CONS_COLUMNS (사용자가 컬럼에 정의한 제약조건)
* USER_COL_COMMENTS (사용자가 컬럼에 정의해놓은 커멘트)
② 테이블, 컬럼명, 컬럼에 대한 커멘트는 그대로 가져온다.
③ 컬럼 자료형은 VARCHAR2일 경우 길이를 함께 명시해준다.
④ NULL 가능여부와 PK(Primary Key) 여부는 해당할 경우 ‘Y’로 아닐 경우 공백으로 표시한다.
SELECT UTC.TABLE_NAME, UTC.COLUMN_NAME, CASE WHEN UTC.DATA_TYPE IN (‘VARCHAR2’) THEN UTC.DATA_TYPE || ‘(‘ || UTC.DATA_LENGTH || ‘)’ ELSE UTC.DATA_TYPE END AS DATA_TYPE, CASE WHEN UTC.NULLABLE = ‘Y’ THEN ‘Y’ ELSE ” END AS NULLABLE, CASE WHEN T1.COLUMN_NAME IS NOT NULL THEN ‘Y’ ELSE ” END AS IS_PK, UCCM.COMMENTS FROM USER_TAB_COLUMNS UTC LEFT OUTER JOIN (SELECT DISTINCT COLUMN_NAME FROM USER_CONSTRAINTS UC INNER JOIN USER_CONS_COLUMNS UCC ON UC.CONSTRAINT_NAME = UCC.CONSTRAINT_NAME AND UC.CONSTRAINT_TYPE = ‘P’ ) T1 ON UTC.COLUMN_NAME = T1.COLUMN_NAME LEFT OUTER JOIN USER_COL_COMMENTS UCCM ON UTC.TABLE_NAME = UCCM.TABLE_NAME AND UTC.COLUMN_NAME = UCCM.COLUMN_NAME WHERE UTC.TABLE_NAME = ‘테이블 이름’;
다음은 위 SQL을 사용하여 ‘ACADEMY’라는 테이블에 대한 정의서를 출력한 내용이다. 대부분의 데이터베이스 관리 Tool은 SELECT 결과 복사 기능을 지원하기 때문에, 엑셀 파일에 쉽게 붙여넣을 수 있다.
TABLE_NAME COLUMN_NAME DATA_TYPE NULLABLE IS_PK COMMENTS — ———– ———– ———– ———- ——– —————— 1 ACADEMY SABUN VARCHAR2(10) Y 2 ACADEMY SEQ NUMBER Y 3 ACADEMY DEGREE VARCHAR2(30) Y 4 ACADEMY MAJOR VARCHAR2(30) Y 5 ACADEMY GRAD_YEAR VARCHAR2(6) Y 6 ACADEMY SCH_NM VARCHAR2(30) Y
지금까지 Oracle의 Data Dicationary(View)와 이를 활용한 테이블 정의서 SQL 작성 예제에 대해 알아보았다. 감사합니다 : )
키워드에 대한 정보 데이터 사전
다음은 Bing에서 데이터 사전 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 [시나공 컴활1급] 211031 데이터 사전 / 메타 데이터
- 시나공
- 길벗
- 알앤디
- IT
- 자격증
- 컴퓨터
- 강의
- 토막강의
- 컴활
- 컴퓨터활용능력
- 워드
- 워드프로세서
- 정보처리
- 기사
- 산업기사
- 기능사
- 사무자동화
- 사무
- 정처기
- 1급
- 2급
- 필기
- 실기
- 엑셀
- 액세스
- java
- 언어
- 정기
- 상시
- 기출
- 시험
- c언어
YouTube에서 데이터 사전 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 [시나공 컴활1급] 211031 데이터 사전 / 메타 데이터 | 데이터 사전, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.