Bo's Oracle Station

查看: 1436|回复: 0

课程第44/45次

[复制链接]

27

主题

27

帖子

183

积分

超级版主

Rank: 8Rank: 8

积分
183
发表于 2019-8-25 08:36:15 | 显示全部楼层 |阅读模式
  1. select  * from dba_tablespaces;

  2. select  * from dba_extents e where e.owner='HR' and e.segment_name='T04209_UNAME';

  3. select  * from dba_segments s where s.owner='HR' and s.segment_name='T04209_UNAME';

  4. create tablespace tbs10g datafile size 10M
  5.   segment space management auto;


  6. create tablespace tbs11g datafile size 10M uniform size 512K;

  7. select  t.pct_free, t.pct_used, t.ini_trans
  8.   from dba_tables t where t.owner='HR' and t.table_name='EMPLOYEES';
  9.   
  10.   
  11. alter table hr.employees initrans  10;

  12. alter table hr.employees  pctfree 20;
复制代码

查表空间用量:
  1. select tablespace_name,  sum(bytes)/1024/1024  from dba_data_files
  2. group by tablespace_name;



  3. select  tablespace_name, sum(bytes)/1024/1024 from dba_free_space
  4.   group by tablespace_name;
  5.   

  6. select sum(bytes)/1024/1024  from dba_undo_extents
  7. where status <> 'EXPIRED';


  8. select  sum(tfs.free_space)/1024/1024  from dba_temp_free_space   tfs;
复制代码
  1. select  * from dba_users u
  2. where u.username='HR';

  3. alter user hr account lock;

  4. alter user hr account unlock;

  5. alter user hr password expire;

  6. select  * from system_privilege_map;

  7. select  * from  table_privilege_map;
复制代码
  1. select  * from dba_sys_privs;

  2. select  * from dba_tab_privs;

  3. select  * from dba_col_privs;

  4. select * from dba_role_privs;

  5. select  * from role_sys_privs;

  6. select  * from role_tab_privs;

  7. select  * from role_role_privs;
复制代码

  1. User altered.

  2. SQL> alter role role1 identified by oracle_4U;

  3. Role altered.

  4. SQL>  alter user hr default role none;

  5. User altered.

  6. SQL>
复制代码
  1. ALTER PROFILE "PROFILE1" LIMIT PASSWORD_LOCK_TIME .000694444
  2. FAILED_LOGIN_ATTEMPTS 1
复制代码
  1. ALTER PROFILE "PROFILE1" LIMIT PASSWORD_LIFE_TIME .000694444
  2. PASSWORD_GRACE_TIME .000694444
复制代码
  1. ALTER PROFILE "PROFILE1" LIMIT PASSWORD_REUSE_MAX 1
  2. PASSWORD_REUSE_TIME .0069444
复制代码

上完了1Z0-052:0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18;上完了1Z0-053:0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、161718、19、20


  1. select  * from dba_obj_audit_opts;

  2. select  * from dba_priv_audit_opts;

  3. select  s.audit_option  from dba_stmt_audit_opts  s
  4. minus
  5. select  p.privilege  from dba_priv_audit_opts  p;

  6. select  count(*) from  dba_audit_trail;

  7. select count(*) from aud$;

  8. select bytes, tablespace_name  from dba_segments where segment_name='AUD
  9. [/color]

  10. ;

  11. create tablespace tbsaudit datafile size 50M ;


  12. alter table aud$ move tablespace tbsaudit;


  13. select  * from  dba_audit_trail
  14.   where action_name not in ('LOGOFF','LOGON') ;
  15.   
  16. noaudit create session ;

  17. audit create session by hr whenever successful;

  18. audit create session by sh  whenever not successful;

  19. audit select  on  hr.employees   by session   whenever successful   ;


  20. audit select any table by oe by session   whenever successful   ;
复制代码
  1. select  * from  dba_audit_trail
  2.   where username='OE'
  3.   order by 5 desc ;
复制代码
  1. SQL>  alter system set audit_trail=db,extended  scope=spfile;

  2. System altered.

复制代码

-----------------------------
  1. select  * from  dba_audit_trail
  2.   where username='OE'
  3.   order by 5 desc ;
  4.   
  5.   
  6.   select  * from dba_obj_audit_opts;

  7. select  * from dba_priv_audit_opts;

  8. select  s.user_name, s.audit_option  from dba_stmt_audit_opts  s
  9. minus
  10. select p.user_name ,  p.privilege  from dba_priv_audit_opts  p;



  11. select  * from dba_stmt_audit_opts  s;

  12. select  * from v$xml_audit_trail order by 6 desc ;

  13. select  * from dba_common_audit_trail  order by  6 desc;


  14. audit table by hr ;
复制代码
--------------------------------------
  1. select  * from dba_audit_policies;

  2. begin
  3.   dbms_fga.add_policy(object_schema => 'HR',
  4.   object_name => 'EMPLOYEES',
  5.   policy_name => 'MYPOLICY1',
  6.   audit_condition => 'department_id=20',
  7.   audit_column => 'salary,commission_pct',
  8.   handler_schema => 'SYS',
  9.   handler_module => 'PROC_FGA',
  10.   statement_types => 'SELECT,UPDATE',
  11.   audit_trail => dbms_fga.XML+dbms_fga.EXTENDED,
  12.   audit_column_opts => dbms_fga.ANY_COLUMNS);
  13. end;


  14. select  * from v$xml_audit_trail order by 6 desc ;
复制代码
   AUDIT_TYPESESSION_IDPROXY_SESSIONIDSTATEMENTIDENTRYIDEXTENDED_TIMESTAMPGLOBAL_UIDDB_USERCLIENTIDENTIFIEREXT_NAMEOS_USEROS_HOSTOS_PROCESSTERMINALINSTANCE_NUMBEROBJECT_SCHEMAOBJECT_NAMEPOLICY_NAMENEW_OWNERNEW_NAMEACTIONSTATEMENT_TYPETRANSACTIONIDRETURNCODESCNCOMMENT_TEXTAUTH_PRIVILEGESGRANTEEPRIV_USEDSES_ACTIONSOS_PRIVILEGEECONTEXT_IDSQL_BINDSQL_TEXTOBJ_EDITION_NAMEDBID
121180527010327-8月 -19 09.10.30.978840 上午 +08:00 HR oracleoraclestation76.example.com17347 0HREMPLOYEESMYPOLICY1 01 06444734 0 select salary from employees where department_id=20 1541741703
211180527010227-8月 -19 09.10.30.977847 上午 +08:00 HR oraclestation76.example.com17347pts/20HREMPLOYEES 1030 06444734 0---------S------ select salary from employees where department_id=20 1541741703
31118052701127-8月 -19 09.10.14.459562 上午 +08:00 HR oraclestation76.example.com17347pts/20 1000000000000000000000Authenticated by: DATABASE 5 1541741703
48000127-8月 -19 09.09.46.370170 上午 +08:00 SYS AppleWORKGROUP\DESKTOP-69JBF6I17304DESKTOP-69JBF6I0 00 00 0 SYSDBA CONNECT 1541741703
58000127-8月 -19 09.09.20.904543 上午 +08:00 SYS AppleWORKGROUP\DESKTOP-69JBF6I17283DESKTOP-69JBF6I0 00 00 0 SYSDBA CONNECT 1541741703
68000127-8月 -19 09.09.20.592377 上午 +08:00 SYS AppleWORKGROUP\DESKTOP-69JBF6I17281DESKTOP-69JBF6I0 00 00 0 SYSDBA CONNECT 1541741703
78000127-8月 -19 09.09.11.620919 上午 +08:00 SYS AppleWORKGROUP\DESKTOP-69JBF6I17272DESKTOP-69JBF6I0 00 10170 0 NONE CONNECT 1541741703
88000127-8月 -19 09.08.28.825830 上午 +08:00 / oraclestation76.example.com17194pts/20 00 00 0 SYSDBA CONNECT 1541741703
98000127-8月 -19 09.08.21.676245 上午 +08:00 / oraclestation76.example.com17170pts/20 00 00 0 SYSDBA CONNECT 0




SQL> conn hr/oracle_4U
Connected.
SQL> select salary from employees where department_id=20 ;
select salary from employees where department_id=20
                   *
ERROR at line 1:
ORA-28144: Failed to execute fine-grained audit handler
ORA-06550: line 1, column 7:
PLS-00201: identifier 'SYS.PROC_FGA' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
------------------------------------------------------------

  1. select  * from dba_obj_audit_opts;

  2. noaudit select  on hr.employees;

  3. select  * from dba_audit_policies;

  4. begin
  5.   dbms_fga.add_policy(object_schema => 'HR',
  6.   object_name => 'EMPLOYEES',
  7.   policy_name => 'MYPOLICY1',
  8.   audit_condition => 'department_id=20',
  9.   audit_column => 'salary,commission_pct',
  10.   handler_schema => 'SYS',
  11.   handler_module => 'PROC_FGA',
  12.   statement_types => 'SELECT,UPDATE',
  13.   audit_trail => dbms_fga.XML+dbms_fga.EXTENDED,
  14.   audit_column_opts => dbms_fga.ANY_COLUMNS);
  15. end;


  16. select  * from v$xml_audit_trail order by 6 desc ;

  17. declare
  18.   v_filehandle UTL_FILE.FILE_TYPE;
  19. begin
  20.    v_filehandle:=utl_file.fopen(location => 'FGALOG',filename => 'FGA.log',open_mode => 'w');
  21.   
  22.   utl_file.put_line(file =>  v_filehandle,buffer => 'XXXXX');
  23.   utl_file.new_line( v_filehandle);
  24.   utl_file.fclose( v_filehandle);
  25. end;



  26. CREATE OR REPLACE PROCEDURE PROC_FGA  ( object_schema VARCHAR2, object_name VARCHAR2, policy_name
  27. VARCHAR2 ) AS
  28.   v_filehandle UTL_FILE.FILE_TYPE;
  29. begin
  30.   v_filehandle:=utl_file.fopen(location => 'FGALOG',filename => 'FGA.log',open_mode => 'w');
  31.   
  32.   utl_file.put_line(file =>  v_filehandle,buffer =>object_schema );
  33.   utl_file.put_line(file =>  v_filehandle,buffer =>object_name);
  34.   utl_file.put_line(file =>  v_filehandle,buffer =>policy_name);
  35.   utl_file.put_line(file =>  v_filehandle,buffer =>sys_context('userenv','ip_address'));
  36.   utl_file.put_line(file =>  v_filehandle,buffer => sys_context('userenv','session_user'));
  37.   utl_file.put_line(file =>  v_filehandle,buffer =>sys_context('userenv','current_user'));
  38.   
  39.    utl_file.put_line(file =>  v_filehandle,buffer =>to_char(sysdate,'YYYY-MM-DD:HH24:MI:SS'));
  40.    
  41.   utl_file.put_line(file =>  v_filehandle,buffer =>sys_context('userenv','authentication_type'));
  42.   utl_file.new_line( v_filehandle);
  43.   
  44.   
  45.   
  46.   utl_file.fclose( v_filehandle);
  47. end;


复制代码

HR
EMPLOYEES
MYPOLICY1
192.168.0.76
HR
SYS
2019-08-27:10:02:18
DATABASE
--------------------------------------------------------

  1. CREATE OR REPLACE TRIGGER hrsalary_audit
  2.     AFTER UPDATE OF salary
  3.     ON hr.employees
  4.     REFERENCING NEW AS NEW OLD AS OLD
  5.     FOR EACH ROW
  6. declare
  7.     v_filehandle UTL_FILE.FILE_TYPE;
  8. BEGIN
  9. IF :old.salary != :new.salary THEN
  10.     v_filehandle:=utl_file.fopen(location => 'FGALOG',filename => 'VALUE.log',open_mode => 'w');
  11.     utl_file.put_line(file =>  v_filehandle,buffer =>sys_context('userenv','ip_address'));
  12.     utl_file.put_line(file =>  v_filehandle,buffer => sys_context('userenv','session_user'));
  13.     utl_file.put_line(file =>  v_filehandle,buffer =>sys_context('userenv','current_user'));  
  14.     utl_file.put_line(file =>  v_filehandle,buffer =>to_char(sysdate,'YYYY-MM-DD:HH24:MI:SS'));
  15.     utl_file.put_line(file =>  v_filehandle,buffer =>sys_context('userenv','authentication_type'));
  16.     utl_file.put_line(file =>  v_filehandle,buffer =>'OLD is: '||:old.salary);
  17.     utl_file.put_line(file =>  v_filehandle,buffer =>'NEW is: '||:new.salary);
  18.     utl_file.new_line( v_filehandle);
  19.     utl_file.fclose( v_filehandle);   
  20.   END IF;
  21. END;


  22. select  * from dba_errors;

  23. select  * from dba_source s where s.owner='SYS' and s.name='HRSALARY_AUDIT';
复制代码

HR
SYS
2019-08-27:10:26:45
DATABASE
OLD is: 26000
NEW is: 27000



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-5-9 18:46 , Processed in 0.042081 second(s), 24 queries .

快速回复 返回顶部 返回列表