공부하는가비

2021.05.06 Oracle implementing Oracle Database Auditing 본문

개발/Oracle

2021.05.06 Oracle implementing Oracle Database Auditing

가비코코보리 2021. 5. 6. 17:44

감사 : 데이터 베이스 작업을 모니터링하고 기록정보 수집

 

Monitoring for Compliance

 

-Mandatory auditing : 필수 감사          ---설정 x

(확장 감사 -> sysdba)

-Standard database auditing : 일반유저 db실행에 대한 감사,          ---parameter설정 audit_trail

insert, update의 명령 수행 기록은 남으나 정확한 값 추적 불가 

 

 

-Value-based auditing : Trigger를 이용하여 구체적인 값 남김          ---trigger

(Standard database에 대한 값에 대한 감사기록)

 

-Fine-grained auditing(FGA)  

(기록 양을 줄이기 위해서 이용 가능)

-SYSDBA(and SYSOPER) auditing: sys유저가 하는 일을 auditing          ---parameter

 

감사 종류

문장 감사(Statement auditing)

: sql문에 대한 감사 모든 문장이 감사가 가능하다 

DML문장이 실행될 경우에 해당 BY ACCESS옵션으로 감사 옵션 지정 가능 

by Access로 감사수행가능 

 

권한 감사

: 감사의 범위 최소한 축소시키는 것 중요한 방법 

모든 권한에 대한 감사  

 

오브젝트 감사

: 객체에 대한 감사 DML문장과 권한에 대한 감사

 

들어갈 수 있는 값 

[NONE | OS | DB]

 

 

Database Maintenance

동일한 자원을 동시 요구하는 사용자가 많아지면 병목현상 발생

-> 이력관리 중요 (통계 데이터)

 

 

 

DB 진단 / Tunning 

 

System진단 = instance진단

-memory : SGA(Shared Pool, Database Buffer Cache) + PGA  //진단의 첫걸을

-I/O : Datafile <-> Database Buffer Cache 체크하고 개선하는 것 

-contention : Lock (한 데이터를 두 사람이 사용하는 것, 데이터에 대한 경쟁), Latch(cpu)

 

Application진단  

-Schema : table, index 진단 (객체 진단)

-SQL명령문 : 서버의 자원을 고갈시키는 sql 존재(bad sql) -> ex) 명령문의 구조 바꿔 cpu사용을 줄인다

 

진단 자료가 적어도 2개가 있어야 비교 가능 

정기적으로 동일한 조건하에 계속 실행 

 

---------------------------------------------------------system 진단------------------------------------------------------------

진단도구 

V$views 

:동적 성능 뷰 Dynamic performance view (볼 때마다 자료가 변한다 ex:현황판)

-> 누적 통계치, DB 재시작 시 초기화

 

Iog~

MMON : 한 시간에 한 번씩 자동으로 쿼리(진단) -> 결과치 (진단자료) SnapShot -> AWR(저장소) 

 

ADDM : oracle db 엔진에 포함되어 있는 진단 엔진 mmon이 모아준 자료 사용 -> 이전 스냅샷과 지금의 스냅샷을 비교해 하나의 자료로 만들어 줌 예측가능한(경고) 자료 만들어준다. 경고해결 advice 제공 

기존에는 DBA가 했던 작업 

 

AWR : sysaux에 저장됨 8일동안 보관된다 항상 8일 동안 발생한 정보만 가지고 있다 (자동) <-> DBA(수동)

-> 묶어 놓은 스냅샷 기준선 : BaseLine(8일이 지나도 지우지 말고 보관하는 자료), 조건에따라 여러개 만들수 있음 

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

 

---------------------------------------------------------Application진단-------------------------------------------------------analyze 명령 , dbms_stats -> schedule

-> dba_ *** (ex. dba_tables, dba_index)

-> AWR(진단데이터, 튜닝데이터 통합저장)에 저장됨 

 

BADSQL 

실행한 후 결과만 봐서는 모름
sql추적기능 

 

 

 

 

 

 

 

 

 

 

 

 

Comments