data masking oracle test data management

8 min read

Oracle Data Masking Alternatives: What to Evaluate Before Migrating

What to evaluate when replacing Oracle Data Masking and Subsetting: engine coverage, licensing, referential integrity and a migration checklist.

author-image

Rodrigo de Oliveira

CEO @Gigantics

Oracle Data Masking and Subsetting is limited strictly to its own database engines. This restriction, combined with its standalone licensing and reliance on Enterprise Manager, drives the search for alternatives. This article covers key selection criteria, operational impact, and migration strategies while accounting for the rules and formats your applications already rely on. If you aren't starting from an existing vendor architecture and want to evaluate options from scratch, feel free to check out our data masking software comparison.




Why teams look for an alternative



It is a separately licensed pack



Data Masking and Subsetting is not part of Oracle Database Enterprise Edition. The pack must be licensed for the database server where the masking and subsetting operations run, including an intermediate staging database when one is used. Independent licensing advisers report a list price of 11,500 USD per processor, or 230 USD per Named User Plus subject to Oracle minimums, with annual support at 22 percent of the net licence value.



The boundary is where most teams get caught. The licence follows the database where the operation is executed, not the number of people using it, so a small estate of Enterprise Edition databases multiplies the cost of what is essentially one recurring task: refreshing non-production environments.



It depends on Oracle Enterprise Manager



The pack operates through Oracle Enterprise Manager Cloud Control. For a team that has moved provisioning into pipelines and infrastructure as code, this means one workflow stays in a console: someone opens Enterprise Manager, runs the masking definition and tells the requester when the environment is ready. The dependency is not technical only. It shapes who can refresh an environment and how long the request waits.



Non-Oracle sources go through a gateway



Oracle supports DB2, Informix, SQL Server, Sybase, MySQL and Teradata, but the functionality cannot be executed directly against the non-Oracle database: those sources are reached through gateways that stage the data in a supported Oracle database first. In practice, masking a SQL Server database means moving it through Oracle, licensing that intermediate database and adding one more copy of production data to the estate.



PostgreSQL, MongoDB and cloud warehouses such as Snowflake or BigQuery do not appear on that list. A team with Oracle in the core and other engines around it ends up with two procedures and two sets of rules for the same obligation.




What to evaluate in an alternative



An Oracle Data Masking alternative is evaluated on five criteria: native database coverage, automated discovery of sensitive data, referential integrity across tables, CI/CD integration and the licensing model. The first three are where migrations fail.



Native database coverage. Ask which engines are read and written directly, without an intermediate database, and request the connector list in writing. A tool that reaches an engine through an export file is not covering it natively.



Automated discovery of sensitive data. Two questions separate the options: does discovery run on the schema or on sampled data, and is there a human confirmation step before a classification becomes a rule? Discovery that cannot be reviewed turns a misclassification into unprotected data.



Referential integrity. This is the criterion to test, not to read about. Take two related tables, mask the shared identifier and run a join. If the join returns nothing, the tool does not preserve integrity in the way your application needs.



CI/CD integration. An API or a CLI is the difference between provisioning triggered by a deployment and provisioning requested through a ticket. Ask whether a refresh can be scheduled and whether each run leaves a record.



Licensing model. Check the unit: per database, per data source, per processor, per user. The unit decides how the cost behaves when the estate grows, which matters more than the entry price.



Four further criteria separate the tools once those five are met: synthetic data generation from the schema, subsetting with filters and limits, deployment model, and the audit evidence each run produces.




Database coverage compared


EngineOracle DMSGigantics
OracleDirectDirect
SQL Server, MySQL, DB2Via gateway and staging Oracle DBDirect
PostgreSQLNot listed as a supported sourceDirect
MongoDBNot listed as a supported sourceDirect
SQLite, CSV filesNot listed as a supported sourceDirect

The point of this table is not the number of engines. It is whether the engine is reached directly or through an intermediate database, because that intermediate step adds licences, latency and one more place where production data sits unprotected.




Referential integrity: the requirement that breaks most migrations



A masked dataset that is not coherent cannot be used for testing. If a customer identifier is replaced by a different value in each table, the foreign keys break, the joins return nothing and the application fails for reasons that have nothing to do with the code being tested.



The mechanism that solves it is a dictionary: a stable mapping between the original value and its substitute, applied wherever that value appears, across tables and across databases. Preserving referential integrity in data masking depends entirely on the scope of that dictionary, which in Gigantics is configurable per rule, from no dictionary at all to a global one.



There is a trade-off worth understanding before choosing the scope. A persistent mapping is what keeps the dataset coherent, but if that mapping is retained and accessible, it has to be protected with the same controls as the original data. A configuration with no dictionary produces stronger irreversibility and a dataset that is no longer coherent across tables. Which one is correct depends on the obligation to be met: the regulatory technical standards under DORA require non-production environments to hold anonymised, pseudonymised or randomised data, and ISO/IEC 27001:2022 introduced control 8.11 specifically for data masking.




Migration checklist: from Oracle DMS to a new tool


StepEvidence to keep
1. Export the existing masking definitionsRules per table and field
2. Map each definition to a rule in the new toolOld-to-new rule mapping
3. Set the dictionary scope for shared identifiersDictionary config per rule
4. Validate on one non-production environmentTest results and open defects
5. Trigger provisioning by API or on a schedulePipeline definition and run history
6. Stop the masking jobs on the pack and review licensingFeature usage report

The effort concentrates in the first two steps: understanding what the existing masking definitions do and mapping the formats the applications depend on. The rest is execution.



Two details are worth planning for. The masking definitions in Enterprise Manager encode business knowledge that is rarely documented elsewhere, such as which format an application expects in a field. And the licence position does not change by itself: the pack remains licensed until the jobs stop and the usage is reviewed.




Compliance coverage



None of these regulations requires a specific tool. What they require is a configuration applied consistently and a record proving it was applied, and that is where the options differ. Article 32 of the GDPR names pseudonymisation as a technical measure. NIS2 Article 21(2)(e) covers security in system acquisition, development and maintenance. The regulatory technical standards under DORA restrict what may be held in non-production environments. ISO/IEC 27001:2022 control 8.11 asks for masking, pseudonymisation or anonymisation so that sensitive data is not exposed outside production.



The question to ask is what evidence each run leaves behind: what was transformed, when, on which source and who approved it. A tool that applies the rule correctly but leaves no trace forces that evidence to be rebuilt by hand at every audit.


See how the migration works on your own databases

In a technical demo we connect one of your sources, run PII discovery on the schema and show the masked dataset with referential integrity preserved across tables. No production data leaves your infrastructure.

Book a technical demo


Frequently asked questions



Is Oracle Data Masking supported for non-Oracle databases?



Not directly. Oracle states that DMS operations cannot be performed on a non-Oracle database; the licensed pack gives restricted access to gateways that stage the data in a supported Oracle database first. DB2, Informix, SQL Server, Sybase, MySQL and Teradata are reached that way. PostgreSQL, MongoDB and cloud warehouses are not on the list.



Is masked data reversible?



In Oracle DMS, masking permanently replaces the values and only the Encrypt format supports reversible masking. In tools that use dictionaries, reversibility depends on whether the mapping between original and substitute value is retained. If it is retained, it has to be protected with the same controls as the original data.



How is Oracle Data Safe different from Data Masking and Subsetting?



Both cover sensitive data discovery and static masking. Data Safe is the OCI service, licensed under a different model and aimed at databases in Oracle Cloud. Data Masking and Subsetting is integrated into Enterprise Manager and is the on-premises option. Neither removes the Enterprise Edition prerequisite for the pack.



What does Oracle Data Masking and Subsetting cost?



Oracle does not publish the price on its product pages. Independent licensing advisers report a list price of 11,500 USD per processor, or 230 USD per Named User Plus subject to Oracle minimums, with annual support at 22 percent of the net licence value. The pack is licensed for every database where masking or subsetting runs.



What should I check before migrating away from Oracle Data Masking?



The inventory of existing masking definitions, the formats the applications depend on, and how referential integrity is preserved across tables. Those three determine the real scope of the migration.



Can data masking run inside a CI/CD pipeline?



Yes, when the tool exposes an API or a CLI. That is the difference between provisioning triggered by a deployment and provisioning requested through a ticket.