앞서 파라미터 파일에 관하여 알아봤습니다.
이번에는 파일 수정 방법을 알아보겠습니다.
DB 서버를 협력회사에 오픈하게 되면서, 특정 테이블의 select 권한만 가진 유저를 생성하였고,
AUD$ 테이블에서 해당 유저가 실행한 ddl, dml 문의 sqltext 확인을 위해 audit_trail 파라미터 변경을 진행했습니다.
이때 진행한 파라미터 수정 방법을 기록해보겠습니다.
1. SPFILE, PFILE 인지 확인
우선 운영중인 DB가 SPFILE 방식인지 PFILE 방식인지 확인이 필요합니다.
SQL> show parameter pfile;
-> value 가 빈 값이면 pfile 방식, 값이 있으면 spfile 방식
2. ALTER SYSTEM 명령어를 통한 변경 여부 확인
SQL> select name, issys_modifiable from v$parameter where name = 'audit_trail';
-> 1번에서 pfile환경임을 확인, pfile경우에는 issys_modifiable 값이 false 이므로 alter system을 통해 변경이 불가능하다.
pfile vi로직접 수정 후 재기동이 필요함
( spfile인 경우, alter system scop=spfile로 변경가능 하나 재기동 후 반영됨)
3. pfile 수정 ( pfile 방식이므로 initSID.ora 파일 수정 )
cd /engn/oracle/product/11.2.0/dbs
vi initORCLDEV2.ora
*.audit_trail = db -> db, extended 로 변경하였습니다.
extended를 추가하면 실행 쿼리까지 audit에 저장됩니다.
4. 오라클 재기동
vi편집기도 직접 수정 후 오라클을 재기동해야 파라미터가 반영됩니다.
( 실제 운영상황에서 재기동하는 것은 쉽지 않으므로 파라미터 변경은 정기 PM이나 잠시 리스너를 종료시켜도 될때 등
운영 환경에 맞추어 변경 진행하면 됩니다. )
5. 변경 내역 확인
SQL> show parameter audit_trail;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB, EXTENDED
재기동 후 파라미터 확인하면, 잘 적용된 걸 확인할 수 있습니다.
6. audit 하려는 유저에 Audit 걸어줌
audit select table, insert table, delete table, update table by [user명]; --dml
audit table, alter table by [user명]; --ddl
sys.AUD$ 테이블 SQLTEXT 컬럼에 실행쿼리가 저장된 걸 확인할 수 있습니다.
'DATABASE > Oracle' 카테고리의 다른 글
[Oracle] database shutdown hang ( ora-01013: user requested cancel of current ) (0) | 2023.10.05 |
---|---|
[Oracle] INDEX 생성 모니터링, REBUILD 와 DROP CREATE 시 차이 (0) | 2023.08.25 |
[Oracle] 파라미터 파일 (spfile, pfile) (0) | 2023.08.25 |
[Oracle] interval partition table 주기적으로 파티션 삭제하기 (0) | 2023.07.11 |
[Oracle] SYS_CONTEXT 오라클 현재 세션 정보 확인 (0) | 2023.07.05 |