Before you use Data Transmission Service (DTS) to transfer data from or dump data to an Oracle database, you must understand the capabilities and limits of DTS and the preparations for connecting an Oracle database to DTS. This helps you smoothly synchronize or migrate data.
Limits on an Oracle database
Self-managed Oracle database as the source
Item | Description |
Version | Supports Oracle 10g, 11g, 12c, 18c, and 19c. |
Architecture |
|
Data to be synchronized or migrated |
|
Network bandwidth | Supports a network bandwidth of at least 100 MB/s. |
Business requirements |
|
Access method |
|
Other limits |
|
Amazon RDS for Oracle instance as the source
Item | Description |
Version | Supports Oracle 10g, 11g, 12c, 18c, and 19c. |
Architecture |
|
Data to be synchronized or migrated |
|
Network bandwidth | Supports a network bandwidth of at least 100 MB/s. |
Business requirements |
|
Access method |
|
Other limits |
|
Oracle database as the destination
Item | Description |
Version | Supports Oracle 10g, 11g, 12c, 18c, and 19c. |
Architecture |
|
Network bandwidth | Supports a network bandwidth of at least 100 MB/s. |
Access method |
|
Other limits |
|
Configure an Oracle database
Full data synchronization or migration from an Oracle database: No configurations are required in the source database.
Incremental data synchronization or migration from an Oracle database: To obtain incremental data, you must complete the following configurations in the Oracle database to capture and parse source database logs.
Full or incremental data synchronization or migration to an Oracle database: No configurations are required in the destination database.
Self-managed Oracle database as the source
Enable the log archiving mode
Execute the following statement to check whether the ARCHIVELOG mode is enabled for the source database:
archive log list;
NoteIf the value of the Database log mode parameter is Archive Mode, the ARCHIVELOG mode is enabled. In this case, continue to enable supplemental logging. For more information, see the Enable supplemental logging section of this topic.
Archived logs must be retained for at least three days.
Execute the following statements to restart the database:
ImportantWe recommend that you perform this operation during off-peak hours to prevent service interruption.
shutdown immediate; startup mount;
Execute the following statements to enable the ARCHIVELOG mode:
alter database archivelog; alter database open;
Execute the following statement to check whether the ARCHIVELOG mode is enabled:
archive log list;
Enable supplemental logging
DTS supports supplemental logging at the database or table level. Choose a type of supplemental logging based on your business requirements.
You can enable database-level supplemental logging to ensure the stability of DTS tasks.
You can enable table-level supplemental logging to reduce the disk usage of the source Oracle database. If you select databases as the objects to be migrated, the tables that are created by using DDL statements and for which supplemental logging is not enabled cannot be migrated.
Enable database-level supplemental logging
Execute the following statement to check whether database-level supplemental logging is enabled:
SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_ui FROM v$database;
The following example shows that database-level supplemental logging is enabled. In this case, skip subsequent steps.
SUPPLEME SUP SUP -------- --- --- IMPLICIT YES YES
Execute the following statement to enable minimal database-level supplemental logging:
alter database add supplemental log data;
Execute the following statement to enable database-level supplemental logging for primary keys and unique keys:
alter database add supplemental log data (primary key,unique index) columns;
Execute the following statement to check whether database-level supplemental logging is enabled:
SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_ui FROM v$database;
Enable table-level supplemental logging
Execute the following statement to enable minimal supplemental logging:
alter database add supplemental log data;
Execute one of the following statements to enable table-level supplemental logging:
Execute the following statement to enable table-level supplemental logging for primary keys:
alter table <table_name> add supplemental log data (primary key) columns;
Execute the following statement to enable table-level supplemental logging for all columns:
alter table <table_name> add supplemental log data (all) columns;
Amazon RDS for Oracle instance as the source
Enable the ARCHIVELOG mode
Execute the following statements to query and set the retention period for archived logs:
exec rdsadmin.rdsadmin_util.show_configuration;
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 72);
Enable supplemental logging
DTS supports supplemental logging at the database or table level. Choose a type of supplemental logging based on your business requirements.
You can enable database-level supplemental logging to ensure the stability of DTS tasks.
You can enable table-level supplemental logging to reduce the disk usage of the source Oracle database. If you select databases as the objects to be migrated, the tables that are created by using DDL statements and for which supplemental logging is not enabled cannot be migrated.
Enable database-level supplemental logging
Execute the following statement to check whether database-level supplemental logging is enabled:
SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_ui FROM v$database;
The following example shows that database-level supplemental logging is enabled. In this case, skip subsequent steps.
SUPPLEME SUP SUP -------- --- --- IMPLICIT YES YES
Execute the following statement to enable force logging:
exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);
Execute the following statement to enable database-level 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
Execute the following statement to enable table-level supplemental logging for all columns:
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'ALL');
Execute the following statement to enable table-level supplemental logging for primary keys:
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');
Oracle database as the destination
No configurations are required.
Prepare a database account
Oracle database as the source
When you use DTS to synchronize or migrate data from an Oracle database, you must create an account for data collection and grant permissions to the account. The following permissions are required for the account that is used to collect data:
Schema and full data synchronization or migration: database administrator (DBA) permissions or operation-specific permissions.
Incremental data synchronization or migration: operation-specific permissions.
ImportantIf the source database is an Oracle database in a non-multitenant architecture, you can also grant DBA permissions to the account for data collection during incremental data synchronization or migration.
Grant DBA permissions to an account
# Create a database account named rdsdt_dtsacct and grant permissions to the account.
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant dba to rdsdt_dtsacct;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_tab_privs;
select granted_role from user_role_privs;
Grant fine-grained permissions to an account for schema and full data synchronization or migration
# Create a database account named rdsdt_dtsacct and grant permissions to the account.
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;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_role_privs;
select * from user_sys_privs;
Grant operation-specific permissions to an account for incremental data synchronization or migration
Oracle 10g and 11g
# Create a database account named rdsdt_dtsacct and grant permissions to the account.
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;
-- If the Oracle database is a standby database in the ADG architecture, you must grant the v_$standby_log permission to the account.
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;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;
Oracle 12c to 19c (non-multitenant)
# Create a database account named rdsdt_dtsacct and grant permissions to the account.
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;
-- If the Oracle database is a standby database in the ADG architecture, you must grant the v_$standby_log permission to the account.
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;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;
Oracle 12c to 19c (multitenant)
The account name created in a PDB must be the same as that created in the root container (CDB$ROOT) of the container database (CDB) to which the PDB belongs, excluding the C## prefix of a global account name.
# Switch to a PDB. Create a database account named rdsdt_dtsacct and grant permissions to the account.
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;
-- If the Oracle database is a standby database in the ADG architecture, you must grant the v_$standby_log permission to the account.
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;
# Switch to the CDB$ROOT. Create an account and grant permissions to the account.
alter session set container = CDB$ROOT;
# Create a database account named rdsdt_dtsacct and grant permissions to the account. If you use this method, you must modify the default parameters of the Oracle database.
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;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;
Amazon RDS for Oracle instance (non-multitenant)
We recommend that you use Oracle SQL Developer to grant permissions.
# Create a database account named RDSDT_DTSACCT and grant permissions to the account.
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');
# Use the RDSDT_DTSACCT account to log on to the database and check whether the required permissions are granted.
select * from user_role_privs;
select * from user_sys_privs;
select * from user_tab_privs;
Oracle database as the destination
When you use DTS to synchronize or migrate data to an Oracle database, you must create an account for data replication and grant permissions to the account. The following permissions are required for the account that is used to replicate data:
Schema and full data synchronization or migration: DBA permissions.
Incremental data synchronization or migration: owner permissions of resources.
Grant DBA permissions to an account
# Create a database account named rdsdt_dtsacct and grant permissions to the account.
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant dba to rdsdt_dtsacct;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_tab_privs;
select granted_role from user_role_privs;
Grant the resource role permissions to an account
# Create a database account named rdsdt_dtsacct and grant permissions to the account.
create user rdsdt_dtsacct identified by rdsdt_dtsacct;
grant create session to rdsdt_dtsacct;
grant connect to rdsdt_dtsacct;
grant resource to rdsdt_dtsacct;
# Use the rdsdt_dtsacct account to log on to the database and check whether the required permissions are granted.
select * from user_tab_privs;
select granted_role from user_role_privs;
What to do next
Configure a DTS task whose source or destination database is an Oracle database. For more information, see Overview of data synchronization scenarios or Overview of data migration scenarios.
Appendix
The following tables describe the Oracle data types and character sets supported for DTS tasks.
Data types
Supported | Not supported |
|
|
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, and AL16UTF16 | Other character sets |