Error Codes¶
When Migration Toolkit encounters a problem, it issues a notification in the form of an error code and a message.
This chapter describes the error codes, messages, and their resolutions.
Each error code begins with the prefix MTK- followed by five digits. The first two digits denote the error class, which is a general classification of the error. The last three digits represent the specific error condition.
The following table lists the error classes.
Error Class |
Description |
|---|---|
00 |
Successful Completion |
01 |
Information |
02 |
Warning |
03 |
General Error |
0x |
Reserved |
10 |
Invalid User Input |
11 |
Configuration Error |
12 |
Insufficient Privileges |
13 |
Unsupported Feature |
14 |
Missing Object |
15 |
Schema Migration |
16 |
Procedural Language Migration |
17 |
Data Loading |
If there is an error reported back by a specific database server, this
error message is prefixed with DB-. For example, if table creation fails
due to an existing table in a Postgres database server, the error code
42P07 is returned by the database server. The specific error in the
Migration Toolkit log appears as DB-42P07.
Error Code Summary¶
The following sections summarize the Migration Toolkit error codes. In the following tables, column Error Code lists the Migration Toolkit error codes. The Message and Resolution column contains the message displayed with the error code. The message explains the cause of the error and how it is to be resolved.
In the Message and Resolution column, $NAME is a placeholder for
information that is substituted at run time with the appropriate value.
Class 02 - Warning¶
This class represents the warning messages.
Error Code |
Message and Resolution |
|---|---|
MTK-02000 |
All the warnings that relate to this class and do not have a specific error code binding will use this error code. |
MTK-02001 |
Run ‘runMTK -help’ to see the usage details. |
MTK-02002 |
Warning! The offline migration path $OFFLINE_PATH does not exist, the scripts will be created under the user home folder. |
Class 10 - Invalid User Input¶
This class represents invalid user input values.
Error Code |
Message and Resolution |
|---|---|
MTK-10000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-10001 |
You cannot select information_schema, dbo, sys, or pg_catalog as target schemas. These are used to store metadata information in $DATABASE. |
MTK-10002 |
The ‘-schemaOnly’ and ‘-dataOnly’ options cannot be specified at the same time. |
MTK-10003 |
The ‘’\t’’ is required as a copyDelimiter, when using escapeTabDelimiter option. |
MTK-10004 |
The -truncLoad option can only be given with the -dataOnly option. |
MTK-10005 |
The ‘-dataOnly’ option is applicable only for -allTables/-tables option. Schema DDL cannot be copied when this option is in place. |
MTK-10006 |
The -constraints, -indexes and -triggers options are applicable only in the context of -allTables/-tables option. |
MTK-10007 |
The ‘-vacuumAnalyze’ and ‘-analyze’ options cannot be specified at the same time. |
MTK-10008 |
The -skipFKConst option can only be given with -constraints option. |
MTK-10009 |
The -skipCKConst option can only be given with -constraints option. |
MTK-10010 |
The -fastCopy option cannot be specified with -schemaOnly option. |
MTK-10011 |
The -skipColDefaultClause cannot be specified with -dataOnly option. |
MTK-10012 |
The ‘-customColTypeMapping’ and ‘-customColTypeMappingFile’ options cannot be specified at the same time. |
MTK-10013 |
Provided default date time must be in following format ‘yyyy-MM-dd_HH:mm:ss’. Time portion is optional, to specify time, the underscore symbol ‘_’ is necessary. |
MTK-10014 |
You cannot select MySQL and Sybase as the target database for migration. |
MTK-10015 |
Copy delimiter should be a single character. |
MTK-10017 |
Invalid number for batch size, use a number from 1-50000. |
MTK-10018 |
Copy Batch Size should be greater than 0. |
MTK-10019 |
Invalid number for Copy Batch Size, use a number > 0. |
MTK-10020 |
Fetch Size should be greater than 0. |
MTK-10021 |
Invalid number for Fetch Size, use a number > 0. |
MTK-10022 |
One or more of the command-line arguments is invalid. |
MTK-10023 |
The -targetDBVersion value should be specified using major.minor pattern. |
MTK-10024 |
The -targetDBVersion can only be used with -offlineMigration mode. |
MTK-10025 |
Options (-constraints | -indexes | -triggers | -tables | -views | -sequences | -procs | -funcs | -packages | -synonyms) cannot be used with multiple schemas option. |
MTK-10026 |
The -allSchemas option should be specified as the last option in the command-line options list. |
MTK-10027 |
You have specified invalid command-line arguments. Run ‘runMTK -help’ to see the usage details. |
MTK-10028 |
The -replaceNullChar cannot be specified with -schemaOnly option. |
MTK-10029 |
The -nullReplacementChar can only be specified with -replaceNullChar option. |
MTK-10030 |
The -ignoreCheckConstFilter can only be given with -constraints option. |
MTK-10031 |
The -enableConstBeforeDataLoad can only be given with -truncLoad option. |
MTK-10032 |
The retryCount value should be greater than 0. |
MTK-10033 |
Invalid number for retryCount, use a number > 0. |
MTK-10034 |
The loaderCount value should be greater than 0. |
MTK-10035 |
Invalid number for loaderCount, use a number > 0. |
MTK-10036 |
Cannot use singleDataFile option for offline data migration in COPY format. |
MTK-10037 |
The offline data migration in COPY format is supported only when PostgreSQL or EnterpriseDB (EDB Postgres Advanced Server) is the target database. |
MTK-10038 |
The $SCHEMA cannot be used as schema name in $DATABASE. Choose a different schema name via -targetSchema option. |
MTK-10039 |
Log file size should be greater than 0. |
MTK-10040 |
Log file count should be greater than or equal to 0. |
MTK-10041 |
Offline migration can only be used with schema only option. |
MTK-10042 |
The copyViaDBLinkOra option can only be used for copying data from Oracle to EnterpriseDB. |
MTK-10043 |
The -recreateConst option can only be given with the -dataOnly option. |
MTK-10044 |
The $DATABASE database type is not supported by Migration Toolkit. Specify a valid database type string (i.e., EnterpriseDB, Postgres, Oracle, SQLServer, Sybase, or MySQL). |
MTK-10045 |
The URL specified for the $DATABASE database is invalid. Check the connectivity credentials. |
MTK-10046 |
The -escapeKeywords value may be true or false. |
MTK-10047 |
The -useOraCase option can only be used for migration from Oracle. |
MTK-10048 |
The Postgres exported snapshot id is invalid. |
MTK-10049 |
The URL specified for the Oracle database is not supported by dblink_ora. Check the connectivity credentials and provide a valid URL. |
MTK-10050 |
The schema $SCHEMA not found on source database. |
MTK-10051 |
The skipUserSchemaCreation option can only be used for user migration from Oracle to EnterpriseDB. |
Class 11 - Configuration Issues¶
This class represents invalid configuration settings provided in the toolkit.properties file or in any other configuration file used by the Migration Toolkit.
Error Code |
Message and Resolution |
|---|---|
MTK-11000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-11001 |
The properties file containing table filter clause cannot be loaded. |
MTK-11002 |
The custom type mapping file couldn’t be loaded. Reason: $REASON. |
MTK-11003 |
The custom type mapping file contains an invalid mapping entry. |
MTK-11004 |
The custom type mapping file doesn’t contain any mapping entry. |
MTK-11005 |
Connectivity information for source database is not available. |
MTK-11006 |
Connectivity information for target database is not available. |
MTK-11007 |
Unable to create the logs directory. $PATH. |
MTK-11008 |
The properties file containing table columns filter list cannot be loaded. |
MTK-11009 |
Error Connecting Database $DATABASE. |
MTK-11010 |
Error loading $DBLINKORA_FILE file. |
MTK-11011 |
Error while loading DBLink Ora module. $DBLINKORA_MODULE. Verify that dblink_ora is installed/configured on target EnterpriseDB server. Please see the Database Compatibility for Oracle Developer’s Guide for more information about installing and configuring the dblink_ora module. |
MTK-11012 |
Error while loading given DBLink_Ora module. $DBLINKORA_MODULE. Verify that dblink_ora is installed/configured on target EnterpriseDB server. Please see the Database Compatibility for Oracle Developer’s Guide for more information about installing and configuring the dblink_ora module. |
MTK-11013 |
Could not load DBLinkOra Module. |
MTK-11014 |
Error connecting to DBLinkOra. |
MTK-11015 |
The connection credentials file $TOOLKIT_PROP_FILE is not secure and accessible to group/others users. This file contains plain passwords and should be restricted to Migration Toolkit owner user only. |
Class 12 - Insufficient Privileges¶
This class represents insufficient privilege errors for loading database user/role information.
Error Code |
Message and Resolution |
|---|---|
MTK-12000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-12001 |
The user/role migration failed due to insufficient privileges. Grant the user SELECT privilege on the following Oracle catalogs: DBA_ROLES, DBA_USERS, DBA_TAB_PRIVS, DBA_PROFILES, DBA_ROLE_PRIVS, ROLE_ROLE_PRIVS, DBA_SYS_PRIVS. |
MTK-12002 |
The migration of privileges failed due to insufficient privileges. Grant the user SELECT privilege on the following Oracle catalog: dba_tab_privs. |
Class 13 - Unsupported Features¶
This class represents errors related with the migration of unsupported objects and clauses. Either the target database has not provided the implementation for the given object, or the Migration Toolkit does not handle its migration.
Error Code |
Message and Resolution |
|---|---|
MTK-13000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-13001 |
Skipping index as Oracle does not allow multiple indexes against same column list. |
MTK-13002 |
For $DATABASE views migration is not supported. |
MTK-13003 |
For $DATABASE roles migration is not supported. |
MTK-13004 |
You cannot migrate triggers, sequences, procedures, functions, packages and synonyms for MySQL, SQL Server, and Sybase databases. |
MTK-13005 |
You cannot migrate sequences and packages for SQL Server database. |
MTK-13006 |
Given trigger is not migrated, the trigger is owned by a different user schema and cross-schema triggers are not supported by EnterpriseDB. |
MTK-13007 |
The given trigger is not migrated, the trigger has WHEN clause which is not supported by EnterpriseDB. |
MTK-13008 |
Skipping Database Link $DATABASE_LINK. EnterpriseDB currently does not support this type of Database Link. |
MTK-13009 |
Warning! Skipping migration of trigger $TRIGGER, currently non-table triggers are not supported in target database. |
MTK-13010 |
You cannot migrate procedures, packages, synonyms and database links to PostgreSQL database. |
MTK-13011 |
Domain objects are not supported in target database. |
MTK-13012 |
Rules are not supported in $DATABASE database. |
MTK-13013 |
The database type is not supported. |
MTK-13014 |
Hash partition is not supported in EnterpriseDB. |
MTK-13015 |
$TYPE is Not Supported by COPY. |
MTK-13016 |
The migration to PostgreSQL is supported only when Oracle or PostgreSQL is the source database. |
MTK-13017 |
Groups are not supported in $DATABASE database. |
MTK-13018 |
Profile migration is not supported in $SRC_DB to $TARGET_DB permutation. |
MTK-13019 |
Cannot migrate unknown Profile $PROFILE. |
MTK-13020 |
Profiles cannot be migrated to database version $VERSION. |
MTK-13021 |
Password Profile verify function $MY_VERIFICATION_FUNCTION must be explicitly migrated. |
MTK-13022 |
Advanced Queues migration is not supported from $SRC_DB database to $TARGET_DB database. |
MTK-13023 |
Advanced Queues cannot be migrated to database version $VERSION. |
MTK-13024 |
The Interval Partitionn is not supported in $DATABASE, the table will be migrated without INTERVAL definition. |
MTK-13025 |
Warning! User profile migration is not supported in target database version $VERSION. The profile “$PROFILE” for user “$USER” will be skipped. |
MTK-13026 |
Object Type migration is not supported from $SRC_DB to $TARGET_DB. |
Class 14 - Missing Objects¶
This class represents failures to find metadata information in the source database.
Error Code |
Message and Resolution |
|---|---|
MTK-14000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-14001 |
One or more tables are missing from the source $DATABASE database. |
MTK-14002 |
One or more tables couldn’t be found in the source $DATABASE database. With -tables mode, the table name should be in uppercase unless it is case-sensitive. |
MTK-14003 |
One or more users couldn’t be found in the source $DATABASE database. With -users mode, the user name should be in uppercase unless it is case-sensitive. |
Class 15 - Schema Migration¶
The class represents migration issues related to non-procedural database objects such as tables, constraints, indexes, synonyms, views, users, and roles.
Error Code |
Message and Resolution |
|---|---|
MTK-15000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-15001 |
Error creating constraint $CONSTRAINT. |
MTK-15002 |
Error creating role $ROLE. |
MTK-15003 |
Error granting given privilege $PRIVILEGE on $OBJECT to $USER. |
MTK-15004 |
Error granting $ROLE to $USER. |
MTK-15005 |
Error granting privilege $REASON. |
MTK-15006 |
Error creating user $USER. |
MTK-15007 |
Error creating index $INDEX. |
MTK-15008 |
Error creating view $VIEW. |
MTK-15009 |
Error creating materialized view $MVIEW. |
MTK-15010 |
Error creating public synonym $SYNONYM. |
MTK-15011 |
Error creating private synonym $SYNONYM. |
MTK-15012 |
Error creating sequence $SEQUENCE. |
MTK-15013 |
Error creating table $TABLE. |
MTK-15014 |
Error creating database link $DATABASE_LINK. |
MTK-15015 |
Error creating given object type $OBJECT_TYPE. |
MTK-15016 |
The table $TABLE could not be created in $DATABASE database. |
MTK-15017 |
The linked schema $LINKED_SCHEMA doesn’t exist in the target database. Create the schema and then retry. |
MTK-15018 |
Error creating domain $DOMAIN. |
MTK-15019 |
Error creating custom data type $DATA_TYPE. |
MTK-15020 |
Error creating membership for group $GROUP. |
MTK-15021 |
Table name $TABLE does not have a schema qualifier. With multiple schema migration context, each table should be schema qualified. |
MTK-15022 |
Schema qualifier $SCHEMA does not match the schema list. |
MTK-15023 |
The table metadata information is not available. |
MTK-15024 |
Tables list is not initialized yet. |
MTK-15025 |
Error while getting database metadata information. |
MTK-15026 |
Error creating group $GROUP. |
MTK-15027 |
Error creating Profile $PROFILE. |
Class 16 - Procedural Language Migration¶
The class represents migration issues related to database objects that are based on procedural languages such as procedures, functions, packages, anonymous blocks, triggers, and rules.
Error Code |
Message and Resolution |
|---|---|
MTK-16000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-16001 |
Error Creating Trigger $TRIGGER. |
MTK-16002 |
Error Creating Rule $RULE. |
MTK-16003 |
Error Creating Package Spec $PACKAGE. |
MTK-16004 |
Error Creating Package Body $PACKAGE. |
MTK-16005 |
Package Body is invalid, skipping… Note: This error message also appears when a package specification is successfully migrated, but there is no corresponding package body in the source database. In this case, the package specification should function properly in the target database despite the appearance of the error message. |
MTK-16006 |
Error Creating Procedure $PROCEDURE. |
MTK-16007 |
Error Creating Function $FUNCTION. |
MTK-16008 |
Error Creating Anonymous Block $BLOCK. |
MTK-16009 |
Error creating Queue $QUEUE. |
Class 17 - Data Loading¶
This class represents errors that may occur while copying data from the source to the target database.
Error Code |
Message and Resolution |
|---|---|
MTK-17000 |
All the errors that relate to this class and do not have a specific error code binding will use this error code. |
MTK-17001 |
Error Loading Data into Table: $TABLE |
MTK-17002 |
Encoding Conversion encountered some characters that will be loaded using Bulk Inserts instead. |
MTK-17003 |
Error in copy tables $REASON. |
MTK-17004 |
Invalid DataType. |
MTK-17005 |
This Table Contains CLOB data, Marked for Bulk Insert Loading. |