안녕하세요
대량의 update 진행시 완료가 되지 않는 증상이 있어 문의드립니다.(약 400만건)
해당 쿼리는 A라는 빈컬럼에 B의 값을 udf 가공하여 update 하는 작업을 하고 있고.
가공을 할때는 아래와 같은 udf를 이용하고 있습니다.
평문이 들어가기 때문에 dec 함수에서 에러가 발생하여 실패 로그가 기록은 되고 있고
exception 처리 때문에 enc 함수를 수행 해야 되는데 작업이 끝나고 확인하면 완료가 되지 않습니다.
일단dbms_output을 이용하여 어느까지 정상적으로 진행 됬는지 확인해 보려고 작업을 돌려 보고 있습니다.
create function enc_chk(p_svcgv in varchar2, p_str in varchar) return varchar2;
is
v_crypto_yn varchar2(1) :='';
v_out varchar2(4000):='';
begin
begin
v_out:=DEC(p_str)
v_out:=p_str;
DBMS_OUTPUT.PUT_LINE('Error Already Enc Value : '|| v_out); --암호화 실패시 값 확인
exception
when others then
DBMS_OUTPUT.PUT_LINE('Enc Before : '|| p_str); --암호화 전 값
v_out:= ENC(p_str)
DBMS_OUTPUT.PUT_LINE('Success Enc : '|| v_out); --암호화 후 값
end;
return v_out;
end;
|