Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

DBDBDEEP

Oracle이 정보를 적는 파일들 / Dynamic performance View / 데이터 딕셔너리 본문

Oracle ADMIN

Oracle이 정보를 적는 파일들 / Dynamic performance View / 데이터 딕셔너리

Kihwane 2022. 6. 28. 16:04

정보를 적는 파일을 저장하는 곳, ADR

 정보를 저장하는 곳인 ADR을 먼저 알아보도록 한다.

 

- 수집된 정보를 저장하기 위한 시스템 전역적 저장소 ADR

- 11g 버전부터 수집정보가 많아져서 만들어 지게 되었다.

ADR의 구조

ADR의 구조를  LInux 로 확인한다.

 

cd /u01/app/oracle/diag/rdbms/orcl 를 Linux에서 입력하면 ,여러 기록 디렉토리를 확인할 수 있다.

 

1. 오라클이 정보를 적는 파일, Alert Log File

- 데이터베이스에 딱 한개가 존재하는 Alert Log File.

- 중요한 사건을 기록하게 된다. (Startup, Shutdown, Fail (장애), Recovery (복구), CheckPoint 등..)

                                                      ㄴ> Startup 시, default가 아닌 Parameter 값을 가지고 올라오게 된다면 parameter 값도                                                               기록한다.

- 중대한 에러를 기록한다.    ora-1578 block corruption , dead lock , ora-600 internal

- DBA는 Alert Log 파일을 정기적으로 모니터링 하여 DB의 상태를 확인해야 한다.

-  [oracle@dydr1p1 orcl]$ cd alert   

                       ㄴ->   alert의 로그파일이 필요한 사람들을 위하여 log.xml 으로 ADR 구조 안에 준비를 해 놓았다.

-  [oracle@dydr1p1 orcl]$ cd trace  

- [oracle@dydr1p1 orcl]$ ls * log

    alert_orcl . log

                       ㄴ->   txt 파일 형식으로 저장된 것이며 /trace -> *log 하면 볼 수 있다.

 

2. 오라클이 정보를 적는 파일, Trace File

- sql 문장 튜닝을 하기 위해 필요한 server의 user trace file이다.

- Background Processor의 trace file 이며 dbwr 등이 작업을 하다 만나는 사건들을 적는 것이다.

- alert.txt 파일이 만들어지는 위치와 동일한 곳에 만들어진다.

  ㄴ> /u01/app/oracle/diag/rdbms/orcl/orcl/trace

 

3. 오라클이 정보를 적는 파일, DDL log File

- 11g : 11g 부터는 유저들이 생성하는 DDL 명령어 파일 즉,DDL alert.log 도 적음

- 12g : 12g 부터는 DDL 명령어 기록은 안하겠지만

  SQL > alter system set enable_ddl_logging = true;

  해놓으면 DDL 명령어를 기록하겠다. alert.log 파일에는 그래도 기록안된다.

  별도의 파일을 만들어 놓고, 그쪽에다가 DDL 명령어를 적어주겠다.

2가지 파일

 - XML DDL 로그 : log.xml

   $ORACLE_BASE/diag/rdbms/rdbms/orcl/orcl/log/ddl 에 기록됨

 - Text DDL : ddlsid.log

   $ORACLE_BASE/diag/rdbms/rdbms/orcl/orcl/log 에 기록됨

 

4. 오라클이 정보를 적는 파일, debug log 파일

- 오라클의 기준에 의해 향후 문제가 될만한 정보인 것 같으면

   $ORACLE_BASE/diag/rdbms/rdbms/orcl/orcl/log/debug

  에 작성하게 된다.

  이 파일은 IPS(incident 패키지 서비스) incident 패키지에 포함되어 있다.

 

Dynamic performance View

- 이 뷰는 fixed table을 베이스로 하는 뷰임. 즉, fixed table을 보는 것이다.

- sys 유저의 소유로 되어있음.

- fixed table저장되는 곳이 Shared pool . 따라서 데이터베이스가 종료되면 drop 된다.

  오직 startup 이후의 정보만 저장되어 있음.

- 실시간으로 바뀌는 성능에 대한 통계 정보를 적음. 누적치 형식으로 업데이트

- 이 들은 모두 v$ 로 시작하기에 ‘v-dollar  라고도 한다.

- 마운트 상태까지만 올라가면 전부 보인다.

 

 

1. v$lock

현재 락걸려 있는 것 다보자

2. v$session

현재 로그인 되어 있는 것 다보자

로그인 한지 하루 지난 애들 보자는 것임

 

3.v$sql

현재 우리 데이터베이스가 startup 된 이후로 수행된 sql명령어 다 보자.

 

데이터 딕셔너리 뷰 (Data Dictionary)

- 데이터 딕셔너리 뷰의 base table data dictionary.

- dynamic shared pool에 만들어져 있어서 startup 이후만 알 수 있음.      

                    data dictionarydatafile에 저장되기 때문에 셧다운 되었다고 해서 못 보지않는다.

 

- 데이터 딕셔너리에 저장되는 정보들  

     ㄴ- >    user에 대한 정보 / object에 대한 정보/ 권한에 대한 정보 / storage 할당에대한 정보

 

- mount 단계에서 보이지 않음. datafile이 오픈 되는 단계은 Open

 

1. user_tables : 직접 소유(만든) 테이블만 보여주는 view

 

2. all_ : 액세스 가능한 거 보여주는 view

 

3. dba_ : db의 모든 테이블 보여주는 view