<pre class=public-DraftStyleDefault-pre draft-block> TABLE kart_bilgileri (</pre> NUMBER NOT NULL,</pre>_id NUMBER NOT NULL,</pre>_no NUMBER NOT NULL,</pre>_string VARCHAR2(19) NOT NULL,</pre>_tarihi DATE NOT NULL,</pre>_no NUMBER NOT NULL,</pre>_tarihi DATE</pre><pre class=draft--code-block>);</pre> INTO kart_bilgileri VALUES (1, 1000, 2013201320132013, '2013-2013-2013-2013', TRUNC(ADD_MONTHS(SYSDATE,12)), 123, NULL);</pre> INTO kart_bilgileri VALUES (2, 1001, 1989198919891989, '1989-1989-1989-1989', TRUNC(ADD_MONTHS(SYSDATE,12)), 234, NULL);</pre> INTO kart_bilgileri VALUES (3, 1002, 2018201820182018, '2018-2018-2018-2018', TRUNC(ADD_MONTHS(SYSDATE,12)), 345, NULL);</pre> INTO kart_bilgileri VALUES (4, 1003, 1453145314531453, '1453-1453-1453-1453', TRUNC(ADD_MONTHS(SYSDATE,12)), 456, NULL);</pre> INTO kart_bilgileri VALUES (5, 1004, 5710571057105710, '5710-5710-5710-5710', TRUNC(ADD_MONTHS(SYSDATE,12)), 567, NULL);</pre>;</pre><pre class=draft--code-block>--expression:用來做權限控制,套用policy給誰,</pre><pre class=draft--code-block>--1=1即除了sys、system等系統帳號外,全部套用,</pre><pre class=draft--code-block>--可以透過'SYS_CONTEXT(''SYS_SESSION_ROLES'',''MASK_ROLE'') = ''TRUE'''</pre></pre>_REDACT.add_policy(</pre>_schema => 'SP101369',</pre>_name => 'kart_bilgileri',</pre>_name => 'kart_no',</pre>_name => 'redact_kart_info',</pre>_type => DBMS_REDACT.full,</pre> => '1=1'</pre><pre class=draft--code-block>);</pre>;</pre><pre class=draft--code-block>/</pre> * from kart_bilgileri;</pre><pre class=draft--code-block>#Sample 1:</pre><pre class=draft--code-block>--部分遮罩</pre><pre class=draft--code-block>--遮罩參數,不同data type參數不同,字串:5個,數字:3個,日期:使用日期專用子函數</pre><pre class=draft--code-block>--字串的輸入參數說明:</pre><pre class=draft--code-block>--ex: ' VVVVFVVVVFVVVV,VVVV-VVVV-VVVV,*,3,10 '</pre><pre class=draft--code-block>-- 前兩個參數:</pre><pre class=draft--code-block>-- V:代表輸入字符串中可以編輯的每個字符。</pre><pre class=draft--code-block>-- F:代表輸入字符串中可以被視為分隔符的每個字符。</pre><pre class=draft--code-block>-- *:遮罩字符</pre><pre class=draft--code-block>-- 3:指定密文V字符的起始位置。</pre><pre class=draft--code-block>-- 10:指定密文 V 字符的結束位置。</pre></pre>_REDACT.alter_policy (</pre>_schema => 'SP101369',</pre>_name => 'kart_bilgileri',</pre>_name => 'redact_kart_info',</pre> => DBMS_REDACT.modify_column,</pre>_name => 'kart_no',</pre>_type => DBMS_REDACT.partial,</pre>_parameters => '1,1,12'</pre><pre class=draft--code-block>);</pre>;</pre><pre class=draft--code-block>/</pre><pre class=draft--code-block>#Sample 2:</pre></pre>_REDACT.alter_policy (</pre>_schema => 'SP101369',</pre>_name => 'kart_bilgileri',</pre>_name => 'redact_kart_info',</pre> => DBMS_REDACT.modify_column,</pre>_name => 'kart_no',</pre>_type => DBMS_REDACT.RANDOM</pre><pre class=draft--code-block>);</pre>;</pre><pre class=draft--code-block>/</pre></pre> <div class=draft-block draft--p left>#跟Redaction 有關的系統視圖</div> _COLUMNS:</div> <div class=draft-block draft--p left>描述數據庫中的所有編輯列,提供列所在的表或視圖的所有者、</div> <div class=draft-block draft--p left>對象名稱、列名稱、編輯函數的類型、編輯函數的參數(如果有),以及編輯政策的描述。</div> <div class=draft-block draft--p left>如果已創建策略表達式,則顯示默認的對象範圍策略表達式的 SQL 表達式。</div> _EXPRESSIONS:</div> <div class=draft-block draft--p left>顯示現有策略表達式的名稱及其 SQL 表達式</div> _POLICIES:</div> <div class=draft-block draft--p left>描述數據庫中的所有數據編輯策略。</div> <div class=draft-block draft--p left>它包括有關對象所有者、對象名稱、策略名稱、策略表達式、</div> <div class=draft-block draft--p left>策略是否啟用以及數據編輯策略的描述的信息。</div> _VALUES_FOR_TYPE_FULL:</div> <div class=draft-block draft--p left>顯示使用完全密文的數據密文策略的當前密文值。</div> <div class=draft-block draft--p left><span style=font-weight: bold; >要注意的是,當啟用REDACTION動態遮罩功能後,所有的Create Table As SELECT (CTAS)的功能將會被禁止,</span></div> <div class=draft-block draft--p left><span style=font-weight: bold; >只有sys 帳號才能使用。</span></div>