เมื่อผู้ดูแล oracle database ต้องการที่จะการตรวจสอบ(audit)การทำงานของผู้ใช้
ผู้ดูแลสามารถใช้ audit_trail พารามิเตอร์ เพื่อเริ่มต้นการตรวจสอบผู้ใช้งานได้
แต่อย่างไรก็ตาม การใช้ audit_trail ไม่สามารถที่จะตรวจสอบการทำงานของ sys
ดังนั้นเราต้องใช้ AUDIT_SYS_OPERATIONS เท่ากับ true เข้ามาช่วย
เพื่อตรวจสอบการทำงานของ sys หรือผู้ใช้ที่ติดต่อดาต้าเบสด้วย sysdba หรือ sysoper
ตัวอย่าง:
SQL> show parameter audit_sys_operationsNAME TYPE VALUE-----------------------------------------------------------------audit_sys_operations boolean FALSE
SQL> alter system set audit_sys_operations=true scope=spfile;SQL> shutdownSQL> startupSQL> show parameter audit_sys_operationsNAME TYPE VALUE-----------------------------------------------------------------audit_sys_operations boolean TRUE
ข้อมูลในการตรวจสอบจะถูกเขียนลง OS ในโฟลเดอร์ audit_file_dest
SQL> show parameter audit_file_destNAME TYPE VALUE------------------------------------------------------------------audit_file_dest string $ORACLE_BASE/admin/$ORACLE_SID/adump
ตัวอย่างการเช็ค audit ไฟล์:
SQL> show parameter audit_file_destNAME TYPE VALUE------------------------------------------------------------------audit_file_dest string $ORACLE_BASE/admin/$ORACLE_SID/adump$ sqlplus / as sysdba
SQL> SELECT p.spid FROM v$process p, v$session s WHERE p.addr = s.paddr and s.sid = (SELECT SYS_CONTEXT ('USERENV', 'SID') from dual);SPID------------25561SQL> select 'test' from dual;'TES----test$ cat $ORACLE_BASE/admin/$ORACLE_SID/adump/ora_25561.audAudit file $ORACLE_BASE/admin/$ORACLE_SID/adump/ora_25561.audOracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining options...Wed Mar 28 15:47:28 2007ACTION : 'CONNECT'DATABASE USER: '/'PRIVILEGE : SYSDBACLIENT USER: oracleCLIENT TERMINAL:STATUS: 0...Fri May 1 02:22:33 2009LENGTH : '154'ACTION :[23] 'select 'test' from dual'DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA'CLIENT USER:[6] 'oracle'CLIENT TERMINAL:[5] 'pts/9'STATUS:[1] '0'
จากตัวอย่างข้างบน จะแสดงข้อมูลการใช้งานของ session ที่ติดต่อดาต้าเบส ด้วย sysdba
หากต้องการให้ฟอร์แมทใน audit ไฟล์ เป็น XML เราต้องเซตค่า AUDIT_TRAIL เป็น XML
เมื่อเราเริ่มต้นการตรวจสอบผู้ใช้งาน สิ่งที่สำคัญอย่างหนึ่งที่ขาดไม่ได้ ก็คือ การเข้าไปตรวจสอบข้อมูล อย่างต่อเนื่อง