Mục đích: Chia sẻ Các câu lệnh hay dùng với Oracle Auditing truyền thống và unified auditing
1. Auditing được bật :(truyền thống)
-- Auditing được tắt, khi audit_trail đặt là NONE SQL> show parameter audit_trail NAME TYPE VALUE ------------------------------------ ----------- -------------------------- audit_trail string NONE - audit_trail đặt là DB hoặc DB,EXTENDED. alter system set audit_trail=db scope=spfile; (hoặc) alter system set audit_trail=db, extended scope=spfile; -- Restart database. shutdown immediate; startup; SQL> show parameter audit_trail NAME TYPE VALUE ------------------------------------ ----------- -------------------------- audit_trail string DB
2. Audit mức câu lệnh:
-- Hiển thị các câu lệnh được audit select * from STMT_AUDIT_OPTION_MAP; -- Cho phép audit mức câu lệnh audit table by DBAVIET. audit table by DBAVIET whenever successful;
audit role by DBAVIET;
-- Tắt auditing: noaudit table by DBAVIET;
-- Liệt kê các câu lệnh đã audit trong database: col user_name for a12 heading "User name" col audit_option format a30 heading "Audit Option" set pages 1000 prompt prompt System auditing options across the system and by user select user_name,audit_option,success,failure from sys.dba_stmt_audit_opts order by user_name, proxy_name, audit_option /
3. Audit mức object:
audit insert,update on DBAVIET.EMP by MANAGER; AUDIT delete on DBAVIET.EMP; -- Tắt auditing: noaudit insert,update on DBAVIET.EMP by MANAGER; noAUDIT delete on DBAVIET.EMP by MANAGER; -- Audit hoạt động SELECT/DML của 1 user (DBAVIET):
audit select table,insert table,update table,delete table by DBACLASS by access; audit execute procedure by dbaclass by access; audit all by dbaclass by access;
4. Audit mức quyền hệ thống:
-- Bật audit mức quyền hệ thống: audit drop any table ; audit create table; audit drop user; -- Liệt kê các quyền hệ thống được audit: col user_name for a12 heading "User name" col privilege for a30 heading "Privilege" set pages 1000 prompt prompt System Privileges audited across system select user_name,privilege,success,failure from dba_priv_audit_opts order by user_name, proxy_name, privilege /
5. Tìm các dữ liệu đã audit của 1 user:
col user_name for a12 heading "User name" col timest format a13 col userid format a8 trunc col obn format a10 trunc col name format a13 trunc col object_name format a10 col object_type format a6 col priv_used format a15 trunc set verify off set pages 1000 SET PAGESIZE 200 SET LINES 299 select username userid, to_char(timestamp,'dd-mon hh24:mi') timest , action_name acname, priv_used, obj_name obn, ses_actions from sys.dba_audit_trail where timestamp>sysdate-&HOURS*(1/24) and username='&USER_NAME' order by timestamp /
6. Cho phép audit user sys :
SQL>ALTER SYSTEM SET audit_sys_operations=true SCOPE=spfile; SQL> SHUTDOWN IMMEDIATE SQL> STARTUP SQL> show parameter audit_sys_operations NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_sys_operations boolean TRUE
7. Bật pure unified auditing:
-- False tức là kiểu mixed auditing; SELECT value FROM v$option WHERE parameter = 'Unified Auditing'; VALUE ----------------- FALSE -- relink thư viện shutdown immediate; cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk unaiaud_on ioracle startup SELECT value FROM v$option WHERE parameter = 'Unified Auditing'; VALUE ----------------- TRUE
8. Hiển thị policy unified audit đã cấu hình trong db:
-- False có nghĩa là chế độ mixed auditing; SELECT value FROM v$option WHERE parameter = 'Unified Auditing'; VALUE ----------------- FALSE -- relink thư viện shutdown immediate; cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk unaiaud_on ioracle startup SELECT value FROM v$option WHERE parameter = 'Unified Auditing'; VALUE ----------------- TRUE
9. Hiển thị dữ liệu unified audit:
- Unified report trong 1h trước: set lines 299 col SQL_TEXT for a23 col action_name for a18 col UNIFIED_AUDIT_POLICIES for a23 select action_name,SQL_TEXT,UNIFIED_AUDIT_POLICIES ,EVENT_TIMESTAMP from unified_AUDIT_trail where EVENT_TIMESTAMP > sysdate -1/24
10. Tạo unified audit policy:
-- Tạo audit policy với tuỳ chọn audit: create audit policy test_case2 ACTIONS CREATE TABLE, INSERT ON DBAVIET.EMP_TAB, TRUNCATE TABLE, select on DBAVIET.PROD_TAB; select POLICY_NAME,audit_option,AUDIT_CONDITION,OBJECT_SCHEMA,OBJECT_NAME FROM AUDIT_UNIFIED_POLICIES where POLICY_NAME='TEST_CASE2'; -- Bật policy: audit policy TEST_CASE2; select distinct policy_name from AUDIT_UNIFIED_ENABLED_POLICIES where policy_name='TEST_CASE2';
11 . Ngoại trừ 1 số user không quan trong ra khỏi policy:
SQL> noaudit policy TEST_CASE2; Noaudit succeeded. SQL> audit policy TEST_CASE2 except stcdba; Audit succeeded. SQL> select USER_NAME,POLICY_NAME,ENABLED_OPT from AUDIT_UNIFIED_ENABLED_POLICIES where POLICY_NAME='TEST_CASE2'; USER_NAME POLICY_NAME ENABLED_OPT ------------- ------------ ----------------------- CLASSDBA TEST_CASE2 EXCEPT
12. Purge audit table dùng dbms :
-- Move aud$ table to new tablespace if present under SYSTEM tablespace: select owner,segment_name,segment_type,tablespace_name,bytes/1024/1024 from dba_segments where segment_name='AUD$'; OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME BYTES/1024/1024 ------------ ------------ ------------------ ------------------------------ --------------- SYS AUD$ TABLE SYSTEM 176 SQL> BEGIN DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, audit_trail_location_value => 'TS_AUDIT'); END; / SQL> PL/SQL procedure successfully completed. -- Khởi tạo dọn dẹp log audit SQL> BEGIN DBMS_AUDIT_MGMT.init_cleanup( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL, default_cleanup_interval => 12 /* hours */); END; / PL/SQL procedure successfully completed. -- Cấu hình vòng đời lưu trữ BEGIN DBMS_AUDIT_MGMT.set_last_archive_timestamp( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, last_archive_time => SYSTIMESTAMP-30); END; / -- Chạy job purge: BEGIN DBMS_AUDIT_MGMT.clean_audit_trail( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, use_last_arch_timestamp => TRUE); END; /
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty