안녕하세요.
이번 프로젝트에 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
참고로 지금 현재로서는 컬럼 타입을 변경하기 어려움이 있기때문에 컬럼 타입을 변경할수는 없을거같습니다.
오라클 클럽 회원님들께서 알고 계시는 정보등을 알려주시면 정말로 감사하겠습니다.