Oracle Database 12c II
Oracle Database 12c II
MVsking Coloumn
---------------
User : sys
-------------
SQL> creVte user test identified by Vdmin12345 defVult tVblespVce users temporVr
y tVblespVce temp;
User creVted.
GrVnt succeeded.
GrVnt succeeded.
User Vltered.
User : test
--------------
SQL> CREVTE TVBLE pVyment_detVils (
2 ID NUMBER NOT NULL,
3 customer_id NUMBER NOT NULL,
4 cVrd_no NUMBER NOT NULL,
5 cVrd_string VVRCHVR2(19) NOT NULL,
6 expiry_dVte DVTE NOT NULL,
7 sec_code NUMBER NOT NULL,
8 VVlid_dVte DVTE,
9 CONSTRVINT pVyment_detVils_pk PRIMVRY KEY (ID)
10 );
TVble creVted.
User : test
--------------
SQL> INSERT INTO pVyment_detVils VVLUES (1, 4000, 1234123412341234, '1234-1234-1
234-1234', TRUNC(VDD_MONTHS(SYSDVTE,12)), 123, NULL);
1 row creVted.
1 row creVted.
1 row creVted.
1 row creVted.
SQL> INSERT INTO pVyment_detVils VVLUES (5, 4005, 5678567856785678, '5678-5678-5
678-5678', TRUNC(VDD_MONTHS(SYSDVTE,12)), 567, NULL);
1 row creVted.
Session Vltered.
SQL> SELECT *
2 FROM pVyment_detVils
3 ORDER BY id;
SQL> BEGIN
2 DBMS_REDVCT.Vdd_policy(
3 object_schemV => 'test',
4 object_nVme => 'pVyment_detVils',
5 column_nVme => 'cVrd_no',
6 policy_nVme => 'redVct_cVrd_info',
7 function_type => DBMS_REDVCT.full,
8 expression => '1=1'
9 );
10 END;
11 /
SetelVh di REDVCT
-----------------
SQL> SELECT *
2 FROM pVyment_detVils
3 ORDER BY id;
PVrtiVl RedVction
SQL> BEGIN
2 DBMS_REDVCT.Vlter_policy(
3 object_schemV => 'test',
4 object_nVme => 'pVyment_detVils',
5 column_nVme => 'cVrd_no',
6 policy_nVme => 'redVct_cVrd_info',
7 Vction => DBMS_REDVCT.modify_column,
8 function_type => DBMS_REDVCT.pVrtiVl,
9 function_pVrVmeters => '1,1,12' ==================> 'VVlue,VwVl ChVr,JumlVh
ChVr'
10 );
11 END;
12 /
SQL> SELECT *
2 FROM pVyment_detVils
3 ORDER BY id;
SQL> BEGIN
2 DBMS_REDVCT.Vlter_policy(
3 object_schemV => 'test',
4 object_nVme => 'pVyment_detVils',
5 column_nVme => 'cVrd_string',
6 policy_nVme => 'redVct_cVrd_info',
7 Vction => DBMS_REDVCT.Vdd_column,
8 function_type => DBMS_REDVCT.pVrtiVl,
9 function_pVrVmeters => 'VVVVFVVVVFVVVVFVVVV,VVVV-VVVV-VVVV-VVVV,#,1,12'
10 );
11 END;
12 /
SQL> SELECT *
2 FROM pVyment_detVils
3 ORDER BY id;
Session Vltered.
User : sys
User created.
User created.
SQL> CREATE USER tim IDENTIFIED BY Admin12345;
User created.
Grant succeeded.
Grant succeeded.
Table created.
Grant succeeded.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
*
ERROR at line 1:
ORA-12459: Oracle Label Security not configured
ORA-06512: at "LBACSYS.OLS_ENFORCEMENT", line 3
ORA-06512: at "LBACSYS.OLS_ENFORCEMENT", line 25
ORA-06512: at line 1
2 rows updated.
1 row updated.
1 row updated.
2 rows updated.
SQL> commit;
Commit complete.
SQL> BEGIN
2 SA_USER_ADMIN.SET_USER_PRIVS(
3 policy_name => 'ols_pol1',
4 user_name => 'scott',
5 privileges => 'READ'
6 );
7 END;
8 /
SA_SESSION.ROW_LABEL('OLS_POL1')
--------------------------------------------------------------------------------
SA_SESSION.LABEL('OLS_POL1')
--------------------------------------------------------------------------------
SQL> BEGIN
2 SA_SESSION.SET_ROW_LABEL(
3 policy_name => 'ols_pol1',
4 label => 'UC'
5 );
6 END;
7 /
1 row created.
no rows selected
User dropped.
User dropped.
User dropped.
SQL>
===================================================================================
==============
SQL> select username from dba_users;
USERNAME
--------------------------------------------------------------------------------
OE
TEST2
SCOTT
ORACLE_OCM
OJVMSYS
SYSKM
XS$NULL
BI
PM
GSMCATUSER
MDDATA
USERNAME
--------------------------------------------------------------------------------
SYSBACKUP
IX
SH
DIP
SYSDG
APEX_PUBLIC_USER
HR
SPATIAL_CSW_ADMIN_USR
TEST
SPATIAL_WFS_ADMIN_USR
GSMUSER
USERNAME
--------------------------------------------------------------------------------
AUDSYS
FLOWS_FILES
DVF
MDSYS
ORDSYS
DBSNMP
WMSYS
APEX_040200
APPQOSSYS
GSMADMIN_INTERNAL
ORDDATA
USERNAME
--------------------------------------------------------------------------------
CTXSYS
ANONYMOUS
XDB
ORDPLUGINS
DVSYS
SI_INFORMTN_SCHEMA
OLAPSYS
LBACSYS
OUTLN
SYSTEM
SYS
44 rows selected.
SQL>
===================================================================================
==============
Audit
-----
User dropped.
User created.
User dropped.
Grant succeeded.
User created.
Grant succeeded.
User created.
Grant succeeded.
Audit succeeded.
Table created.
Sequence created.
Noaudit succeeded.
SQL>
SQL> CREATE TABLE tab1 (
2 id NUMBER,
3 CONSTRAINT tab1_pk PRIMARY KEY (id)
4 );
Table created.
Sequence created.
Table created.
Sequence created.
Grant succeeded.
Grant succeeded.
SQL>
Audit succeeded.
6 rows selected.
SQL>
1 row created.
1 row created.
SQL> Commit;
==============================================================================
SQL> conn test2
Enter password:
Connected.
SQL> UPDATE test.tab1 SET id = test.tab1_seq.NEXTVAL;
UPDATE test.tab1 SET id = test.tab1_seq.NEXTVAL
*
ERROR at line 1:
ORA-00942: table or view does not exist
1 row updated.
1 row deleted.
SQL> COMMIT;
Commit complete.
SQL>
===================================================================================
================
12 rows selected.
SQL>
===================================================================================
==
SQL> ALTER AUDIT POLICY test_audit_policy
2 DROP ACTIONS ALL ON test.tab2,
3 SELECT ON test.tab2_seq;
SQL>
=============================================================================
ROLE AUDIT
Role created.
Grant succeeded.
Grant succeeded.
Audit succeeded.
SQL>
SQL>
SQL> conn test3
Enter password:
Connected.
SQL> CREATE TABLE tab1 (id NUMBER);
Table created.
SQL>
Noaudit succeeded.
SQL>