I’m starting a blog post series about CPAT (Cloud Premigration Advisor Tool). In this series, I’m also planning to cover it for beginners and advanced users.
What is CPAT?
CPAT is a Java-based command line tool that evaluates a source database for suitability of migration to a cloud target. You can use CPAT to gather information about the database even if you are not moving to the cloud and we are also working to improve the amount of information collected.
At a high level, CPAT:
1. Connects to a source database instance
- The source can be on-premises or in the cloud
- Can optionally connect to a target database as well
2. Performs a series of checks
- Validate source database
- Most checks are relatively simple queries against the data dictionary (You can see the query code)
3. Generates report(s) describing the outcome of those checks
4. Optionally generates SQL “Fixup” scripts for select checks
Oracle Autonomous Database Serverless and Dedicated
If you plan to move your database to Oracle Autonomous Database, you must know some restrictions for these types of services. CPAT will help you to check for any issues you can face while running your database on these services.
- Oracle Database Features in Autonomous Database on Dedicated Exadata Infrastructure
- Using Oracle Autonomous Database Serverless
CPAT’s Origin Story
- Before CPAT was available there were multiple “Schema Advisors” were floating around Oracle
- Those Advisors were written without strict, software development practices
- They each generated reports with different results (which tool was “correct”?)
- Required modifications to the source instance to run (users, grants, created tables)
- Didn’t generate reports that could be processed programmatically (generated TEXT only)
CPAT’s High-Level Goals/Requirements
- Have a single source of truth for checking for ADB restrictions
- Treat the DB as READ ONLY
- Support integration into other tooling (i.e. ZDM)
What are the various approaches to running CPAT?
- Download and run CPAT directly (from MOS – Doc ID 2758371.1)
- Use ZDM which will run CPAT for you and handle fetching properties from the target instance
- Use DMS which uses ZDM (same as above)
- Use EM Migration Workbench
CPAT can be downloaded via the note Cloud Premigration Advisor Tool (CPAT) Analyzes Databases for Suitability of Cloud Migration (Doc ID 2758371.1). It does not require installation and does not perform any changes to the database being analyzed (it acts as READ-ONLY).
Please be aware that version 11.2.0.4.8 is not related to the CPAT version or to the version of the Oracle Database you will be running. This number is just a way MOS works in terms of release for this tool.
The current version of CPAT available as of October 2024 is CPAT 24.9.0.
After downloading, copy the .zip file to the database server or any other machine with remote access to the database and with Java 7 or higher.
- All Oracle releases from 11g on up either come with a supported Java version or can be patched to have a supported version)
- For best results, Oracle recommends using a 64-bit JVM, version 8 or higher
You will be able to check the CPAT version after opening the README.txt file:
Or
./premigration.sh -v
Premigration Advisor Application Version: 24.9.0 (production)
Build date: 2024/09/17 09:04:28
Build hash: c85efb5
CPAT is 100% read-only
- No new users! No new roles! No new packages! No temporary tables! No writes at all!
- Earlier ADB Advisors required adding a user/roles/created tables etc. to the source instance
Purpose
Identify issues that may interfere with the migration of the source database to the target.
Each CPAT Check:
- Looks for the usage of a specific database feature, construct, or setting that either:
- Is not supported on the desired cloud target
- Is not supported by the migration method employed
- Produces a Result
- May include a list of “Relevant Objects”
- E.g., a list of tables using multimedia datatypes (such datatypes are not supported on ADB)
- There may be relevant objects even when a check PASSes and no relevant objects when a check does not PASS
- Describes what the check looks for, why the check is needed, and helpful “action” information
CPAT currently includes more than 80 possible checks:
- Only a subset applies to any specific CPAT invocation
- Checks may be specific to:
- Target cloud
- Migration method
- Schema vs full database
Does CPAT connect to the internet?
CPAT does not connect to the internet unless you use the command line option that instructs CPAT to check to see if an updated version of the app is available.
What Database Versions are Supported by CPAT?
- CPAT was designed to work with 11g and up (Enterprise Editions)
- CPAT should work with 10g (we know of no issues currently)
- CPAT will attempt to work on unsupported versions on a “best effort” basis
Stay tuned for the next post where I will explain a few things you need to know before running the CPAT.