Unable to use the scramble functionality of Data Subset- Oracle Errors ORA-31693, ORA-29913, ORA-29540

Document ID : KB000007894
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

The task is to mask the 'FirstName' column via the 'People' table and generating the scripts using 'Build Windows DataPump Masked Export' from GTSubset.  When generating scripts by sub-setting, the error message below is generated. 


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 
Starting "TRAVEL"."~PEOPLE": userid=travel/********@orcl content=ALL JOB_NAME=~PEOPLE directory=MaskingInFlightExample dumpfile=MaskingInFlightExample_TRAVEL_PEOPLE.dmp tables=TRAVEL.PEOPLE parfile=MaskingInFlightExample_exportdp_TRAVEL.PE 
OPLE.par LOGFILE=MaskingInFlightExample_exportdp_PEOPLE.log remap_data=TRAVEL.PEOPLE.FIRST_NAME:PUMPW_MASK.F_93080_3 remap_data=TRAVEL.PEOPLE.EMAIL:PUMPW_MASK.F_93080_7 
Estimate in progress using BLOCKS method... 
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA 
Total estimation using BLOCKS method: 128 KB 
Processing object type TABLE_EXPORT/TABLE/TABLE 
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX 
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 
ORA-31693: Table data object "TRAVEL"."PEOPLE" failed to load/unload and is being skipped due to error: 
ORA-29913: error in executing ODCIEXTTABLEPOPULATE callout 
ORA-29540: class maskfunctions does not exist 
Master table "TRAVEL"."~PEOPLE" successfully loaded/unloaded 
****************************************************************************** 
Dump file set for TRAVEL.~PEOPLE is: 
C:\GTWORK\MASKINGINFLIGHTEXAMPLE\MASKINGINFLIGHTEXAMPLE_TRAVEL_PEOPLE.DMP 
Job "TRAVEL"."~PEOPLE" completed with 1 error(s) at 11:42:45

Environment:
ORACLE 11gSCRAMBLE database - ORACLE
Resolution:

The error messages do not specify an exact error other than it is broken.  From the example, the data used is a know set of data.  It can be assumed that the data is valid based upon the continual validation with each release.  This points to the SCRAMBLE database itself, and the installation of that database.  It is important to review the following to ensure the proper version was specified:

 

********************************
Exporting and Importing Between Different Database Releases: 
https://docs.oracle.com/database/121/SUTIL/GUID-BAA3B679-A758-4D55-9820-432D9EB83C68.htm#SUTIL110 

Data Pump can be used to migrate all or any portion of a database between different releases of the database software. The Data Pump Export VERSION parameter is typically used to do this. This will generate a Data Pump dump file set compatible with the specified version. 

The default value for VERSION is COMPATIBLE, indicating that exported database object definitions will be compatible with the release specified for the COMPATIBLE initialization parameter. 

In an upgrade situation, when the target release of a Data Pump-based migration is higher than the source, the VERSION parameter typically does not have to be specified because all objects in the source database will be compatible with the higher target release. An exception is when an entire Oracle Database 11g (release 11.2.0.3 or higher) is exported in preparation for importing into Oracle Database 12c Release 1 (12.1.0.1) or later. In this case, explicitly specify VERSION=12 in conjunction with FULL=YES in order to include a complete set of Oracle internal component metadata. 
********************************

 

In this case with the error message presented, a re-install was done, the correct version was selected, and a successful end usage resulted.