Step by step instructions to configure Control-M/Enterprise Manager and Control-M/Server to support UTF8 European character set on Linux against Oracle database |
The below instructions are some additional guidance to configure Control-M/Enterprise Manager and Control-M/server to support UTF8/AL32UTF8 European character set on Linux against an Oracle database. More detailed instructions can be found in the Control-M Language and Customization Guide. Pre-requisites:Database:The Oracle database will need to have the below settings configured:NLS_CHARACTERSET= AL32UTF8 NLS_LENGTH_SEMANTICS= BYTEVerify by running select * from nls_database_parameters; Linux Servers:The desired locale must be present on all involved Linux machines (including the Control-M/Enterprise Manager, Control-M/Server, and Control-M/Agent).my-linux-host% locale -a | grep fr_FR.utf8 fr_FR.utf8 my-linux-host% Process:Step 1:Stop the Control-M/EM, Control-M/Server, and local Control-M/Agent processes
Step 2:The following variables will need to be set on both the Control-M/Enterprise Manager and Control-M/Server:Control-M/Enterprise Manager:Set the following variables in $HOME/ctm_em/etc/em_env_local.shLC_ALL ="" LC_CTYPE=fr_FR.utf8 LANG=fr_FR.utf8 LC_COLLATE=C LC_MESSAGES=C NLS_LENGTH_SEMANTICS=BYTE NLS_LANG=AMERICAN_AMERICA.AL32UTF8 EM_JVM_OPTIONS=GENERIC_-Duser.language=en export EM_JVM_OPTIONS Control-M/Server:Set the following variables in $HOME/.ctmcshrcsetenv LC_ALL "" setenv LC_CTYPE fr_FR.utf8 setenv LANG fr_FR.utf8 setenv LC_COLLATE C setenv LC_MESSAGES C setenv NLS_LENGTH_SEMANTICS BYTE setenv NLS_LANG AMERICAN_AMERICA.AL32UTF8 Make sure the following is set in $HOME/ctm_server/data/config.dat LANGUAGE_TYPE UTF8 Step 3:Verify that the variables have been set by closing your session, reopening and using the env commandStep 4:When the Oracle parameter NLS_CHARACTERSET is set to UTF8 or AL32UTF8 in the nls_database_parameters, the I18N has to be set to cjk:CCM > System Parameters > Advanced > Parameter name : I18N = cjkMake sure to set the cjk string in minus case . Step 5:Make sure in the Control-M/Agent on Unix/Linux that the "Locale (LATIN-1 mode only)" is set to "C", and "Foreign Language Support" is set to "CJK"ctmagcfgOption 7 - Advanced parameters Agent Configuration Utility - advanced menu 1) Days To Retain Log Files. . . . . : [1] 2) Daily Log File Enabled. . . (Y|N): [Y] 3) Tracker Event Port. . . . . . . . : [7293] 4) Logical Agent Name. . . . . . . . : [my-linux-host] 5) Persistent Connection . . . . . . : [N] 6) Allow Comm Init. . . . . . . . . : [Y] 7) Foreign Language Support. . . . . : [CJK] 8) Locale (LATIN-1 mode only) . . .. : [C] 9) Protocol Version. . . . . . . . . : [12] 10) AutoEdit Inline. . . . . . . (Y|N): [Y] 11) Listen to Network Interface . . . : [*ANY] 12) CTMS Address Mode . . . . . (IP|) : [] 13) Timeout for Agent utilities . . . : [120] 14) TCP/IP Timeout. . . . . . . . . . : [60] 15) Tracker Polling Interval. . . . . : [60] r) Return to main menuReturn to the main menu, save your changes and quit the utility. Step 6 :Make sure in the Control-M/Agent on Unix/Linux that the "CJK encoding" is set to UTF8 :ctmunixcfg OS Configuration Utility 1) Bourne Shell Flags . . . .(-x|-v|n): [-x] 2) Korn Shell Flags . . . . .(-x|-v|n): [-x] 3) Sysout Name. . .(MEMNAME|JOBNAME). : [MEMNAME] 4) Temporary Scripts Saving (YES|NO) : [NO] 5) Temporary Scripts Directory. . . . : [] 6) Replace $0 by File Name . (Y/N). . : [Y] 7) CJK Encoding . . . . . . . . . . . : [UTF-8] 8) Default Printer. . . . . . . . . . : [] 9) SMTP Parameters s) Save q) Quit Step 7:Start the Control-M/Enterprise Manager, Control-M/Server, and Control-M/Agent processes:
The configuration below should only be configured if it's is necessary to revert back from UTF8 in environments where UTF8 is not supported:As the settings above should only be set if ALL the Control-M components support UTF8 in some environments it may become necessary to revert back to the original settings., For example, as all Control-M components should use the same character set if an AS/400 Agent exists in the environment, the database and all Control-M components (Control-M/Enterprise Manager, Control-M/Server, and Agents) should not be configured to UTF8. They should be configured to use Latin-1 (the Control-M Agent for AS/400 does not support UTF8 for Western languages as the AS/400 uses EBCDIC in place of ASCII).The following is an example of how the above-mentioned variables would be need to be set in the Control-M/Enterprise Manager and Control-M/Server if there is an AS/400 Agent in the environment that uses Spanish characters: setenv LC_CTYPE es_MX.ISO8859-1 setenv LANG es_MX.ISO8859-1 NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 The LANGUAGE_TYPE parameter in the config.dat file of the Control-M/Server would need to be set to WESTERN for this configuration. The locales of the EM, Control-M/Server, and Agent should be set to: es_MX.ISO8859-1. The parameter I18N in the CCM > System Parameters > Advanced would need to be set to: latin1. "Foreign Language Support" should be set to "LATIN-1" in the ctmagcfg utility. |