티스토리 뷰
※데이터 딕셔너리(DATA DICTIONARY) 이란?
사용자들이 입력및 관리하는 데이터가 아닌
오라클 DBMS를 운영하는데 필요한 정보들을 관리하는데 사용되는 객체들을 말한다.
※오라클에서 사용하는 시스템 VIEW 종류
ALL_ ~ : 전체 사용자(USER)의 모든 객체들에 대한 정보를 가지고 있는 뷰
DBA_ ~ : 데이터베이스 관리자용 뷰로 관리자 권한의 사용자만 접근 가능한 뷰
USER_ ~ : 로그인한 계정의 사용자에 대한 스키마 정보를 가진 뷰
-.일반적으로 자주 사용하는 뷰
|===========================================================================
| 오브젝트 명 | 설명 |
|---------------------------------------------------------------------------
| USER_OBJECTS | 모든 USER 오브젝트들
| USER_TABLES(USER_TABS) | 테이블 정보
| USER_TAB_COLUMNS(USER_TAB_COLS) | 테이블에 있는 컬럼들의 정보
| USER_VIEWS | 뷰 정보
| USER_SYNONYMS | 시노님 정보
| USER_SEQUENCES | 시퀀스 정보
| USER_CONSTRAINTS | 각종 제약 조건
| USER_CONS_COLUMNS | 제약 조건을 가진 컬럼들에 대한 정보
| USER_TAB_COMMENTS | 테이블 주석 정보
| USER_COL_COMMENTS | 컬럼 주석 정보
| USER_INDEXES | 인덱스 정보
| USER_IND_COLUMNS | 인덱스 컬럼 정보
| USER_CLUSTERS | 클러스터 정보
| USER_DB_LINKS | 데이터베이스 링크 정보
| USER_TRIGGERS | 트리거 정보
| USER_PROCEDURES | 프로시저, 함수, 패키지 정보
| USER_SOURCE | 트리거, 함수, 프로시저, 피키지 소스 정보
| USER_TABLESPACES | 테이블스페이스 정보
| USER_USERS | 사용자 정보
| USER_TAB_PRIVS | 테이블 권한 정보
| USER_COL_PRIVS | 컬럼 권한 정보
| USER_SYS_PRIVS | 시스템 권한 정보
| USER_TAB_PRIVS_MADE | 내가 부여한 테이블 권한
| USER_TAB_PRIVS_RECD | 내가 부여받은 테이블 권한
| USER_COL_PRIVS_MADE | 내가 부여한 컬럼 권한
| USER_COL_PRIVS_RECD | 내가 부여받은 컬럼 권한
|===========================================================================
※ALL_ ~
1.모든 오브젝트들에 대한 개략적인 정보를 제공하는 뷰(소유주, 오브젝트 타입 ...)
SELECT * FROM ALL_OBJECTS;
2.특정 스키마에 속한 테이블 정보를 제공하는 뷰
SELECT * FROM ALL_TABLES
WHERE OWNER = 'GRUART';
3.ALL로 시작되는 뷰(오브젝트)는 어떤 것들이 있는지를 찾을때
SELECT OWNER, OBJECT_NAME, OBJECT_ID, OBJECT_TYPE
FROM ALL_OBJECTS
WHERE OBJECT_NAME LIKE 'ALL%';
=> 여기에서 오브젝트명을 찾은뒤
SELECT *FROM {찾은오브젝트명} 으로 해서 원하는 정보를 확인 가능
/*-------------------------------------------------------------------------------
4. 모든 시노님, 인덱스, 프로시저를 제공하는 뷰
-------------------------------------------------------------------------------*/
SELECT *FROM ALL_SYNONYMS SELECT *FROM ALL_PROCEDURES
/*-------------------------------------------------------------------------------
5. 예약어로 사용되는 단어들의 정보가 들어 있는 시스템 뷰
-------------------------------------------------------------------------------*/
SELECT KEYWORD
FROM V$RESERVED_WORDS
ORDER BY KEYWORD;
6. 파라메타 정보가 들어 있는 시스템 뷰:
파라메터는 데이터베이스의 동작이나 환경 설정에 사용
-------------------------------------------------------------------------------*/
파라메터 보는 방법-1
SELECT *
FROM SYS.V_$PARAMETER;
파라메터 보는 방법-2
sqlplus / as sysdba
SHOW PARAMETER 파라메터명; 특정 파라메터 값 확인
ALTER SYSTEM SET 파라메타명 = 값; 특정 파라메터 값 변경
/*-------------------------------------------------------------------------------
7. 시노님의 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM DBA_SYNONYMS
/*-------------------------------------------------------------------------------
8. 사용자 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM DBA_USERS
/*-------------------------------------------------------------------------------
9. 현재 등로되어 있는 사용자 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM ALL_USERS
※DBA_ ~
SYS, SYSTEM 등의 데이터베이스 관리자를 위한 정보를 제공한다.
/*-------------------------------------------------------------------------------
1. 모든 오브젝트들에 대한 개략적인 정보를 제공하는 뷰(소유주, 오브겢트 타입 ...)
-------------------------------------------------------------------------------*/
SELECT * FROM ALL_OBJECTS;
/*-------------------------------------------------------------------------------
2. 특정 오브젝트에 대해 어떤 권한이 할당되어 있는지를 조회하는 뷰
-------------------------------------------------------------------------------*/
SELECT ROLE, OWNER, TABLE_NAME, PRIVILEGE
FROM ROLE_TAB_PRIVS
WHERE TABLE_NAME = 'DBA_OBJECTS'
/*-------------------------------------------------------------------------------
3. 롤을 다른 롤에 할당한 내역의 정보를 제공하는 뷰
-------------------------------------------------------------------------------*/
SELECT ROLE, GRANTED_ROLE, ADMIN_OPTION
FROM ROLE_ROLE_PRIVS
WHERE GRANTED_ROLE = 'SELECT_CATALOG_ROLE'
※ USER_ ~
USER로 시작되는 뷰들은 데이터 딕셔너리 중 가장 많이 참조되는 뷰들이다.
USER로 시작되는 뷰의 경우는 로그인한 사용자가 소유자가 되는 스키마 정보들을 갖고 있다.
/*-------------------------------------------------------------------------------
1.로그인한 사용자의 스키마에 해당하는 테이블의 컬럼 정보를 가지고 있는 뷰
-------------------------------------------------------------------------------*/
SELECT * FROM USER_TAB_COLS
/*-------------------------------------------------------------------------------
2.로그인한 사용자의 스키마에 해당하는 테이블, 컬럼에 대한 주석 정보를 가지고 있는 뷰
-------------------------------------------------------------------------------*/
SELECT * FROM USER_TAB_COMMENTS
SELECT * FROM USER_COL_COMMENTS
/*-------------------------------------------------------------------------------
3.오라클 버전 확인
-------------------------------------------------------------------------------*/
SELECT *FROM V$VERSION;
/*-------------------------------------------------------------------------------
4.제약조건에 대한 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM USER_CONSTRAINTS
/*-------------------------------------------------------------------------------
5.사용자가 생성한 테이블 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM USER_TABLES
/*-------------------------------------------------------------------------------
6.사용자가 생성한 인덱스 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM USER_INDEXES
/*-------------------------------------------------------------------------------
7.사용자가 생성한 모든 오브젝트들의 정보 확인
-------------------------------------------------------------------------------*/
SELECT *FROM USER_OBJECTS
/*-------------------------------------------------------------------------------
8.특정한 컬럼들이 INSERT/UPDATE/DELETE 가능한지 확인
-------------------------------------------------------------------------------*/
SELECT *FROM USER_UPDATABLE_COLUMNS
WHERE TABLE_NAME = '뷰_이름'
/*-------------------------------------------------------------------------------
9.테이블의 컬럼과 그 데이터 타입을 조회하는 명령어
-------------------------------------------------------------------------------*/
DESC 테이블명
'database > db' 카테고리의 다른 글
[oracle] 오라클 오브젝트 CRUD (0) | 2020.03.20 |
---|---|
[oracle] 2.데이터 타입(Data Type) (0) | 2020.03.08 |
[oracle] 파라미터 (0) | 2020.03.08 |
[oracle] 1.사용자 계정, 권한설정 (0) | 2020.03.07 |
[oracle] 무결성 제약조건 (0) | 2017.04.11 |