오라클 Redaction 과 관련하여 문의 드립니다. 0 1 1,525

by 허접탱이 [PL/SQL] Redation. [2018.05.09 17:11:31]


안녕하세요.

이번 프로젝트에 Oracle Redation과 관련된 작업을 진행하고 있는데.. Number Type의 필드에 대해서는 어떤방식으로 Redaction 처리를 해야할지 몰라 이렇게 문의 드리게 되었습니다.

지금 현재 Varchar Type, Char Type같은 경우 Redaction 처리하는데 전혀 문제가 없으나, Number Type으로 되어있는 필드같은 경우는 Redation 처리 과정에서 에러가 발생을 하고 있습니다.

아래는 제가 작성한 Redaciotn 처리 구문입니다.

BEGIN
DBMS_REDACT.ALTER_POLICY(
 object_schema => '계정'
 ,object_name => '테이블명'
 ,policy_name => '테이블명 Redaction'
 ,column_name => '컬럼명'
 ,function_type => DBMS_REDACT.REGEXP
 ,regexp_pattern => '(.*)([[:digit:]]{4})'
 ,regexp_replace_string => '\1****'
 ,regexp_position => 1
 ,regexp_occurrence => 0
 ,regexp_match_parameter => 'i'
);
END;

이렇게 작성을 했으며, 실행을 하게 되면 아래와 같은 에러가 발생을 합니다.

ORA-28073 : The column "컬럼명" has an unsupported data type.
ORA-06512 : at "SYS.DBMS_REDACT_INT" line 73
ORA-06512 : at "STS.DBMS_REDACT", line 178

 

참고로 지금 현재로서는 컬럼 타입을 변경하기 어려움이 있기때문에 컬럼 타입을 변경할수는 없을거같습니다.

오라클 클럽 회원님들께서 알고 계시는 정보등을 알려주시면 정말로 감사하겠습니다.

 

by 마농 [2018.05.14 15:59:54]

해당 dbms_redact 기능을 사용해 보진 않았으나...
숫자 타입이니 * 표시가 안될 것 같습니다.
**** 대신 0000 이나 9999 로 해보세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입