This is a common requirement for DBA to export data from
production for various purposes. In a restricted & compliant environment
it’s a must to mask / scrub particular data while exporting from production.
Here’s a simple demonstration. I’ve got the hint from
metalink.
  1. Create a
package to mask data
Note: The package needs to be created under the schema which
would be used to connect to datapump utility. I’ve used SYSTEM user for this
case.
as
 
function toggle_case(p_value varchar2) return varchar2;
end;
/
create or replace package body datapump_remap_test
as
 
function toggle_case(p_value varchar2) return varchar2 is
  begin
   
return translate(p_value,     
     
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_+-=\/
',
       
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
end;
end;
/
  2. Datapump
export with REMAP_DATA parameter:
We’d be using the created package to scrub data for
particular table columns. My package would basically replace all mentioned
column data into ‘xxxxx’
For this example, I’ve chosen to scrub HR.FIRST_NAME &
SALES. The export dump would export the FNADVI schema as well as the the table
mentioned with scrubbed column.
expdp system dumpfile=fnadvi.dmp directory=dump logfile=fnadvi.dmp.log
schemas=fnadvi remap_data=fnadvi.HR.first_name:system.datapump_remap_test.toggle_case
remap_data=fnadvi.SALES.address:system.datapump_remap_test.toggle_case
  3. Import the
schema
Now you the import can be done anywhere with scrubbed data.
 
 
1 comment:
Can i decrypt or unmask data?
Post a Comment