Before configuring a Data Transfer Service (DTS) task with an Oracle source or destination, complete the following steps:
Review the supported versions, architectures, and limitations for your Oracle setup.
Configure the Oracle database — required only for incremental tasks with an Oracle source.
Database limitations
Self-managed Oracle as a source
| Constraint | Details |
|---|---|
| Supported versions | 10g, 11g, 12c, 18c, 19c |
| Supported architectures | Single-node and Real Application Clusters (RAC). Do not add or remove nodes from a RAC database while a DTS task is running — this causes the task to fail.<br><br>Container Database (CDB) and non-CDB architectures are supported for versions 12c and later. A single task can migrate only one Pluggable Database (PDB). |
| Supported data | Common tables, indexes (including function-based indexes), data types, and character sets. For supported data types and character sets, see Appendix.<br><br>Supported operations: cascade delete and update, Data Manipulation Language (DML) operations on partitions and subpartitions, distributed transaction log parsing, full and partial transaction rollbacks, null objects such as empty_blob() and empty_clob(), virtual columns, data with Hybrid Columnar Compression (HCC), and case-sensitive mapping for attribute names (table and column names).<br><br>Full migration tasks support invisible columns. Incremental synchronization tasks do not.<br><br>Data Definition Language (DDL) operations on partitioned tables are not supported, but the task continues to run. |
| Network bandwidth | 100 Mb/s or higher |
| Connection types | Public network IP addresses and private IP addresses.<br><br>For RAC: SCAN IP, single-node VIP, or physical IP. Connections to a RAC node's SCAN IP over a leased line are not supported.<br><br>Connections over leased lines and connections to Active Data Guard (ADG) primary and secondary databases are supported.<br> Note If the DTS connection targets an ADG secondary database and the online redo files are not archived, the DTS task will experience latency.<br><br>Amazon RDS for Oracle is supported as a source. |
| Business requirements | Peak log volume: less than 1 TB. Average hourly log volume: less than 50 GB. Peak traffic: less than 15 MB/s.<br> Important DTS pulls logs for the entire database instance by default. A high volume of changes to objects outside the migration scope can also cause task latency.<br><br>Avoid these patterns to prevent task latency or failure:<br>- Batch updates or large-scale changes to LOB data types (CLOB, BLOB, LONG) — run these in smaller batches instead<br>- Frequent delete or update operations on tables without primary keys<br>- More than 10 DDL statements per second<br>- Single transactions that generate more than 100 GB of logs (causes task failure) |
Unsupported operations and objects
The following are not supported when using a self-managed Oracle database as a source:
resetlogs— do not run this command while the task is running (causes task failure)DCL operations
Triggers in incremental synchronization tasks — disable triggers in the destination Oracle database
Data with foreign key constraints in incremental synchronization tasks
Data imported using Oracle Data Pump in incremental synchronization tasks
Objects with names longer than 30 bytes
Consecutive
RENAME TABLEoperations (causes task failure)Global temporary tables — the task continues but does not migrate these tables
Tables with functions or expressions in default values (causes data inconsistency)
Foreign tables
Computed columns and encrypted columns
Virtual Private Database (VPD)
Jobs created by
dbms_schedulerordbms_jobSchema name changes
Nested tables (causes task failure)
Materialized views
DDL operations on attributes with names that contain keywords or special characters
ROWID change operations:
split partition,table move,table shrink,move partition key(causes data inconsistency or task failure)SSL encryption for data transfer
Oracle Label Security mode
Character set mismatch:
DTS supports scenarios where the write character set is different from the database character set. If your write character set differs from the database character set, you must set the Actual Write Code parameter (source.column.encoding).
Tables without a primary key or unique key:
Migrating or synchronizing from tables without a primary key or unique key has two effects: write speed is slow, which can cause task latency, and data consistency cannot be guaranteed — duplicate data may appear in the destination.
For incremental tasks: Avoid partial rollbacks of large transactions and batch deletions in large transactions on the source. These operations can cause incremental DELETE statements to be lost.
Oracle log format note: Oracle is a commercial, closed-source database. Its log format may present unavoidable parsing issues during Change Data Capture (CDC). Before enabling incremental synchronization or migration from an Oracle source in a production environment, run a comprehensive proof of concept (POC) test covering all business change types, schema changes, and peak-hour load. The business logic in your production environment must match what was tested in the POC phase.
Performance impact: During the full migration phase, DTS consumes read resources on the source database — typically less than 2 CPU cores and 4 GB of memory. Run migration tasks during off-peak hours.
Amazon RDS for Oracle as a source
| Constraint | Details |
|---|---|
| Supported versions | 10g, 11g, 12c, 18c, 19c |
| Supported architectures | Single-node and RAC. For versions 12c, 18c, and 19c, only non-CDB architectures are supported. |
| Supported data | Same as self-managed Oracle. See Self-managed Oracle as a source. |
| Network bandwidth | 100 Mb/s or higher |
| Connection types | Public network IP addresses, private IP addresses, and leased lines. For RAC: SCAN IP, single-node VIP, or physical IP. Connections to a RAC node's SCAN IP over a leased line are not supported.<br><br>ADG primary and secondary databases are supported.<br> Note If the DTS connection targets an ADG secondary database and the online redo files are not archived, the DTS task will experience latency. |
| Business requirements | Same thresholds as self-managed Oracle: peak log volume less than 1 TB, average hourly log volume less than 50 GB, peak traffic less than 15 MB/s. The same DDL frequency limits and LOB data type guidelines apply. |
Other limitations |
Unsupported operations and objects are the same as for self-managed Oracle. See Unsupported operations and objects. This includes the requirement to set the Actual Write Code parameter (source.column.encoding) if your write character set differs from the database character set.
Oracle as a destination
| Constraint | Details |
|---|---|
| Supported versions | 10g, 11g, 12c, 18c, 19c |
| Supported architectures | Single-node and RAC. Do not add or remove nodes from a RAC database while a DTS task is running.<br><br>CDB and non-CDB architectures are supported for versions 12c and later. A single task can migrate only one PDB. |
| Network bandwidth | 100 Mb/s or higher |
| Connection types | Public network IP addresses, private IP addresses, leased lines, and ADG primary and secondary databases. For RAC: SCAN IP, single-node VIP, or physical IP. Connections to a RAC node's SCAN IP over a leased line are not supported.<br><br>Amazon RDS for Oracle is supported as a destination. |
Additional limitations for Oracle destinations
Storage: DTS performs concurrent INSERT operations during full migration, which can cause table fragmentation. The storage used by the destination database will be larger than the source after the task completes.
VARCHAR and VARCHAR2 handling: Oracle treats empty strings of the VARCHAR or VARCHAR2 type as NULL. When migrating from a heterogeneous database to an Oracle destination, remove NOT NULL constraints from VARCHAR and VARCHAR2 fields — otherwise the DTS task may fail.
VARCHAR and VARCHAR2 fields can store a maximum of 4000 bytes. If data fails to write to these field types, change the field type to CLOB and restart the DTS task.
Performance impact: During the full migration phase, DTS consumes network and write resources on the destination. Keep the CPU load on both source and destination databases below 30%. Run migration tasks during off-peak hours.
Database configuration
For full tasks with an Oracle source, no special database configuration is required.
For incremental tasks with an Oracle source, you must enable ARCHIVELOG mode and supplemental logging so DTS can capture changes by parsing source logs.
For tasks with an Oracle destination, no special database configuration is required.
Self-managed Oracle as a source
Enable ARCHIVELOG mode
Check whether ARCHIVELOG mode is already enabled.
The archived log retention period must be at least 3 days.
archive log list;If Database log mode shows Archive Mode, ARCHIVELOG mode is already enabled. Skip to Enable supplemental logging.
Restart the database.
ImportantTo avoid service disruptions, perform this step during off-peak hours.
shutdown immediate; startup mount;Enable ARCHIVELOG mode.
alter database archivelog; alter database open;Verify the configuration.
archive log list;
Enable supplemental logging
DTS supports two supplemental logging modes. Choose based on your requirements:
| Mode | Benefit | Limitation |
|---|---|---|
| Database-level | Improves DTS task stability | Uses more disk space |
| Table-level | Saves disk space on the source | Tables added via DDL without supplemental logging enabled are not migrated when migration granularity is at the database level |
Enable database-level supplemental logging
Check whether database-level supplemental logging is already enabled.
SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui FROM v$database;If the output is as follows, supplemental logging is already enabled and no further steps are needed.
SUPPLEME SUP SUP -------- --- --- IMPLICIT YES YESEnable minimal supplemental logging.
alter database add supplemental log data;Enable supplemental logging for primary keys and unique keys.
alter database add supplemental log data (primary key,unique index) columns;Verify the configuration.
SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui FROM v$database;
Enable table-level supplemental logging
Enable minimal supplemental logging.
alter database add supplemental log data;Enable table-level supplemental logging. Choose one of the following based on the table structure: For tables with a primary key: Enable primary key supplemental logging.
alter table <table_name> add supplemental log data (primary key) columns;For tables without a primary key: Enable all-column supplemental logging.
alter table <table_name> add supplemental log data (all) columns;
Amazon RDS for Oracle as a source
Enable ARCHIVELOG mode
View and set the archived log retention period. The retention period must be at least 72 hours.
exec rdsadmin.rdsadmin_util.show_configuration;
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 72);Enable supplemental logging
The same two modes apply as for self-managed Oracle. See the comparison table above.
Enable database-level supplemental logging
Check whether database-level supplemental logging is already enabled.
SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui FROM v$database;If the output shows
IMPLICIT YES YES, supplemental logging is already enabled.Enable forced logging mode.
exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);Enable supplemental logging for primary keys and unique keys.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY'); exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'UNIQUE');
Enable table-level supplemental logging
Enable all-column supplemental logging.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'ALL');Enable primary key supplemental logging.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');
Database account preparations
Oracle as a source
Create a database account and grant the permissions required for DTS to collect data. The required permissions depend on the task type:
| Task type | Permission option |
|---|---|
| Schema and full tasks | DBA role or fine-grained permissions |
| Incremental tasks | Fine-grained permissions required |
For incremental tasks from a non-CDB Oracle source, you can also grant the DBA role instead of fine-grained permissions.
Grant the DBA role
-- Create the account and grant permissions
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant dba to rdsdt_dtsacct;
-- Verify the permissions
select * from user_tab_privs;
select granted_role from user_role_privs;Fine-grained permissions for schema and full tasks
-- Create the account and grant permissions
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
grant select any table to rdsdt_dtsacct;
-- Verify the permissions
select * from user_role_privs;
select * from user_sys_privs;Fine-grained permissions for incremental tasks
Grant permissions based on your Oracle version.
Oracle 10g and 11g
-- Create the account and grant permissions
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
grant select on all_objects to rdsdt_dtsacct;
grant select on all_tab_cols to rdsdt_dtsacct;
grant select on dba_registry to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
grant select on v_$log to rdsdt_dtsacct;
grant select on v_$logfile to rdsdt_dtsacct;
grant select on v_$standby_log to rdsdt_dtsacct;
-- Grant v_$standby_log if the Oracle database is an ADG secondary database
grant select on v_$archived_log to rdsdt_dtsacct;
grant select on v_$parameter to rdsdt_dtsacct;
grant select on v_$database to rdsdt_dtsacct;
grant select on v_$active_instances to rdsdt_dtsacct;
grant select on v_$instance to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
grant select on sys.USER$ to rdsdt_dtsacct;
grant select on sys.OBJ$ to rdsdt_dtsacct;
grant select on sys.COL$ to rdsdt_dtsacct;
grant select on sys.IND$ to rdsdt_dtsacct;
grant select on sys.ICOL$ to rdsdt_dtsacct;
grant select on sys.CDEF$ to rdsdt_dtsacct;
grant select on sys.CCOL$ to rdsdt_dtsacct;
grant select on sys.TABPART$ to rdsdt_dtsacct;
grant select on sys.TABSUBPART$ to rdsdt_dtsacct;
grant select on sys.TABCOMPART$ to rdsdt_dtsacct;
-- Verify the permissions
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;Oracle 12c to 19c (non-CDB)
-- Create the account and grant permissions
create user rdsdt_dtsacct IDENTIFIED BY rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
grant logmining to rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
grant select on all_objects to rdsdt_dtsacct;
grant select on all_tab_cols to rdsdt_dtsacct;
grant select on dba_registry to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
grant select on v_$log to rdsdt_dtsacct;
grant select on v_$logfile to rdsdt_dtsacct;
grant select on v_$standby_log to rdsdt_dtsacct;
-- Grant v_$standby_log if the Oracle database is an ADG secondary database
grant select on v_$archived_log to rdsdt_dtsacct;
grant select on v_$parameter to rdsdt_dtsacct;
grant select on v_$database to rdsdt_dtsacct;
grant select on v_$active_instances to rdsdt_dtsacct;
grant select on v_$instance to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
grant select on sys.USER$ to rdsdt_dtsacct;
grant select on sys.OBJ$ to rdsdt_dtsacct;
grant select on sys.COL$ to rdsdt_dtsacct;
grant select on sys.IND$ to rdsdt_dtsacct;
grant select on sys.ICOL$ to rdsdt_dtsacct;
grant select on sys.CDEF$ to rdsdt_dtsacct;
grant select on sys.CCOL$ to rdsdt_dtsacct;
grant select on sys.TABPART$ to rdsdt_dtsacct;
grant select on sys.TABSUBPART$ to rdsdt_dtsacct;
grant select on sys.TABCOMPART$ to rdsdt_dtsacct;
-- Verify the permissions
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;Oracle 12c to 19c (CDB)
The account name in the pluggable database (PDB) must match the account name in CDB$ROOT, excluding the C## prefix for common users.
-- Step 1: Switch to the PDB, create the account, and grant permissions
alter session set container = ORCLPDB1;
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant select_catalog_role to rdsdt_dtsacct;
grant logmining TO rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
grant select on all_objects to rdsdt_dtsacct;
grant select on all_tab_cols to rdsdt_dtsacct;
grant select on dba_registry to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
grant select on v_$pdbs to rdsdt_dtsacct;
grant select on v_$log to rdsdt_dtsacct;
grant select on v_$logfile to rdsdt_dtsacct;
grant select on v_$standby_log to rdsdt_dtsacct;
-- Grant v_$standby_log if the Oracle database is an ADG secondary database
grant select on v_$archived_log to rdsdt_dtsacct;
grant select on v_$parameter to rdsdt_dtsacct;
grant select on v_$database to rdsdt_dtsacct;
grant select on v_$active_instances to rdsdt_dtsacct;
grant select on v_$instance to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
grant select on sys.USER$ to rdsdt_dtsacct;
grant select on sys.OBJ$ to rdsdt_dtsacct;
grant select on sys.COL$ to rdsdt_dtsacct;
grant select on sys.IND$ to rdsdt_dtsacct;
grant select on sys.ICOL$ to rdsdt_dtsacct;
grant select on sys.CDEF$ to rdsdt_dtsacct;
grant select on sys.CCOL$ to rdsdt_dtsacct;
grant select on sys.TABPART$ to rdsdt_dtsacct;
grant select on sys.TABSUBPART$ to rdsdt_dtsacct;
grant select on sys.TABCOMPART$ to rdsdt_dtsacct;
-- Step 2: Switch to CDB$ROOT and create the CDB-level account
alter session set container = CDB$ROOT;
-- This method requires modifying a default Oracle database parameter
alter session set "_ORACLE_SCRIPT"=true;
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant logmining to rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
grant select on v_$logmnr_contents to rdsdt_dtsacct;
grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
-- Verify the permissions
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;Amazon RDS for Oracle (non-CDB)
Use Oracle SQL Developer to grant permissions.
-- Create the account and grant permissions
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant logmining to rdsdt_dtsacct;
grant execute_catalog_role to rdsdt_dtsacct;
grant select any table to rdsdt_dtsacct;
grant select any transaction to rdsdt_dtsacct;
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_OBJECTS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_COLS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ACTIVE_INSTANCES','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR','RDSDT_DTSACCT','EXECUTE');
exec rdsadmin.rdsadmin_util.grant_sys_object('USER$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('COL$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('IND$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('ICOL$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('CDEF$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('CCOL$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('TABPART$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('TABSUBPART$','RDSDT_DTSACCT','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('TABCOMPART$','RDSDT_DTSACCT','SELECT');
-- Verify the permissions
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;Oracle as a destination
Create a database account and grant the permissions DTS needs to write data. The required role depends on the task type:
| Task type | Required role |
|---|---|
| Schema tasks | DBA role |
| Full and incremental tasks | resource role |
Grant the DBA role
-- Create the account and grant permissions
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant dba to rdsdt_dtsacct;
-- Verify the permissions
select * from user_tab_privs;
select granted_role from user_role_privs;Grant the resource role
-- Create the account and grant permissions
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant resource to rdsdt_dtsacct;
-- Verify the permissions
select * from user_tab_privs;
select granted_role from user_role_privs;What's next
Configure a DTS task with an Oracle source or destination. See the relevant configuration topics in Synchronization solutions or Migration solutions.
Appendix
Data types
| Supported | Not supported |
|---|---|
| NUMBER, FLOAT, REAL, BINARY_FLOAT, CHAR [(size [BYTE | CHAR])], NCHAR[(size)], VARCHAR2(size [BYTE | CHAR]), NVARCHAR2(size), CLOB, NCLOB, LONG, DATE, RAW(size), LONG_RAW, BLOB, TIMESTAMP[fractional_seconds_precision], TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE, TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE, INTERVAL YEAR [(year_precision)] TO MONTH, INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]<br><br>XMLTYPE: CLOB storage mode is supported. BLOB storage mode is not supported. | SDO_GEOMETRY, SDO_TOPO_GEOMETRY, SDO_GEORASTER, ROWID, UROWID, ANYTYPE, ANYDATA, ANYDATASET, VARRAY, user-defined types |
Character sets
| Supported | Not supported |
|---|---|
| ASCII, ISO, UNICODE, US7ASCII, WE8HP, US8PC437, WE8EBCDIC285, WE8PC850, D7DEC, F7DEC, S7DEC, E7DEC, SF7ASCII, NDK7DEC, I7DEC, NL7DEC, CH7DEC, YUG7ASCII, SF7DEC, TR7DEC, IW7IS960, IN8ISCII, EE8ISO8859P2, SE8ISO8859P3, NEE8ISO8859P4, CL8ISO8859P5, AR8ISO8859P6, EL8ISO8859P7, IW8ISO8859P8, WE8ISO8859P9, NE8ISO8859P10, TH8TISASCII, BN8BSCII, VN8VN3, VN8MSWIN1258, WE8NEXTSTEP, AR8ASMO708PLUS, AR8EBCDICX, AR8XBASIC, EL8DEC, TR8DEC, WE8EBCDIC37, WE8EBCDIC37C, WE8EBCDIC500, WE8EBCDIC500C, WE8EBCDIC871, WE8EBCDIC284, EEC8EUROASCI, EEC8EUROPA3, LA8PASSPORT, BG8PC437S, EE8PC852, RU8PC866, RU8BESTA, IW8PC1507, RU8PC855, TR8PC857, CL8MACCYRILLIC, CL8MACCYRILLICS, WE8PC860, IS8PC861, EE8MSWIN1250, CL8MSWIN1251, ET8MSWIN923, BG8MSWIN, EL8MSWIN1253, IW8MSWIN1255, LT8MSWIN921, TR8MSWIN1254, WE8MSWIN1252, BLT8MSWIN1257, D8EBCDIC273, I8EBCDIC280, DK8EBCDIC277, S8EBCDIC278, F8EBCDIC297, IW8EBCDIC1086, N8PC865, BLT8CP921, LV8PC1117, LV8PC8LR, LV8RST104090, CL8KOI8R, BLT8PC775, F7SIEMENS9780X, E7SIEMENS9780X, S7SIEMENS9780X, DK7SIEMENS9780X, N7SIEMENS9780X, I7SIEMENS9780X, D7SIEMENS9780X, WE8GCOS7, EL8GCOS7, US8BS2000, D8BS2000, F8BS2000, E8BS2000, DK8BS2000, S8BS2000, WE8BS2000, WE8BS2000L5, CL8BS2000, WE8DG, WE8NCR4970, WE8ROMAN8, EE8MACCE, EE8MACCES, EE8MACCROATIAN, EE8MACCROATIANS, TR8MACTURKISH, TR8MACTURKISHS, IS8MACICELANDIC, IS8MACICELANDICS, EL8MACGREEK, EL8MACGREEKS, IW8MACHEBREW, IW8MACHEBREWS, US8ICL, WE8ICL, WE8ISOICLUK, WE8MACROMAN8, WE8MACROMAN8S, TH8MACTHAI, TH8MACTHAIS, HU8CWI2, EL8PC437S, EL8PC737, LT8PC772, LT8PC774, EL8PC869, EL8PC851, CDN8PC863, HU8ABMOD, AR8ASMO8X, AR8HPARABIC8T, AR8NAFITHA711, AR8NAFITHA711T, AR8SAKHR707, AR8SAKHR707T, AR8MUSSAD768, AR8MUSSAD768T, AR8ADOS710, AR8ADOS710T, AR8ADOS720, AR8ADOS720T, AR8APTEC715, AR8APTEC715T, AR8MSAWIN, AR8NAFITHA721, AR8NAFITHA721T, AR8SAKHR706, AR8ARABICMAC, AR8ARABICMACS, AR8ARABICMACT, LA8ISO6937, US8NOOP, WE8DEC, WE8DECTST, JA16VMS, JA16EUC, JA16EUCYEN, JA16EUCTILDE, JA16DBCS, JA16SJIS, JA16SJISTILDE, JA16SJISYEN, JA16EBCDIC930, JA16MACSJIS, KO16KSC5601, KO16DBCS, KO16KSCCS, KO16MSWIN949, ZHS16CGB231280, ZHS16MACCGB231280, ZHS16GBK, ZHS16DBCS, ZHS32GB18030, ZHT32EUC, ZHT32SOPS, ZHT16DBT, ZHT32TRIS, ZHT16DBCS, ZHT16BIG5, ZHT16CCDC, ZHT16MSWIN950, AL24UTFFSS, UTF8, UTFE, KO16TSTSET, JA16TSTSET2, JA16TSTSET, US16TSTFIXED, AL16UTF16LE, TH8TISEBCDIC, TH8TISEBCDICS, BLT8EBCDIC1112, BLT8EBCDIC1112S, CE8BS2000, CL8EBCDIC1025, CL8EBCDIC1025C, CL8EBCDIC1025R, CL8EBCDIC1025S, CL8EBCDIC1025X, CL8EBCDIC1158, CL8EBCDIC1158R, D8EBCDIC1141, DK8EBCDIC1142, EE8BS2000, EE8EBCDIC870, EE8EBCDIC870C, EE8EBCDIC870S, EL8EBCDIC423R, EL8EBCDIC875, EL8EBCDIC875S, EL8EBCDIC875R, F8EBCDIC1147, I8EBCDIC1144, WE8BS2000E, WE8EBCDIC1047, WE8EBCDIC1047E, WE8EBCDIC1140, WE8EBCDIC1140C, WE8EBCDIC1145, WE8EBCDIC1146, WE8EBCDIC1148, WE8EBCDIC1148C, AR8EBCDIC420S, IW8EBCDIC424, IW8EBCDIC424S, TR8EBCDIC1026, TR8EBCDIC1026S, ZHT16HKSCS, ZHT16HKSCS31, BLT8ISO8859P13, WE8ISO8859P1, WE8ISO8859P15, AR8MSWIN1256, S8EBCDIC1143, AZ8ISO8859P9E, CEL8ISO8859P14, CL8ISOIR111, CL8KOI8U, WE8PC858, WE8EBCDIC924, AL32UTF8, AL16UTF16 | Other character sets |