On Redhat Linux when files or directories contain characters from another language, the Tivoli Storage Manager client will not recognize these characters during schedule backups, or when trying to view them using the Web Client.
During a scheduled backup the dsmsched.log will report ANS4042E errors, and the Tivoli Storage Manager server activity log will report ANE4042E. In addition when attempting to use the Web Client to select files that contain characters from another language they will not be displayed.
During system bootup the Tivoli Storage Manager Scheduler, or the Client Acceptor Daemon (CAD), are started before the locale variables LANG, and LC_ALL, are defined to a language set. Applications such as the Scheduler, and the CAD, can be configured to run automatically during system boot time through an entry in the /etc/inittab, or by placing a script in /etc/init.d directory. In Redhat Linux these services start applications before the language locale variables LANG, and LC_ALL, are defined to use the default locale "en_US".
Redhat Linux, and possibly other versions of Linux, and UNIX
Diagnosing The Problem
Tivoli Storage Manager Scheduler, and or Client Acceptor Daemon are started during system boot, report backup error ANS4042E, and do not report the error when started manually from a system console.
Resolving The Problem
The following language locale settings must be set before the Tivoli Storage Manager Scheduler, or CAD processes are started:
export LANG LC_ALL
The method of exporting variables in UNIX depends on what UNIX shell is running when the variables are exported. In addition keep in mind there are many different flavors of Linux for example Redhat, and SUSE; please know the above behavior was seen on Redhat Linux. Note this may or may not be an issue on other versions of Linux, or versions of UNIX such as AIX and Solaris. In Linux manually run the command "locale" to determine what language is used by the TSM applications dsmc, dsmj, and dsmcad. To validate that the current language setting can be used to backup non-English characters, manually perform a backup on directories or files that contain characters from another language. To see how LANG, and LC_ALL, variables are being set during a
system boot do the following:
1. Put the following line in the /etc/inittab:
- "lng:5:once:/usr/bin/locale > /tmp/locale.txt"
Normally when the Scheduler, and CAD, are started manually from a console prompt the "LANG" locale is set to "en_US", and the characters from other languages are supported when a backup is executed. During a system boot in order to define the language locale to "en_US" (or another language set), a script will need to start the Scheduler, and or CAD, either from inittab, or the init.d directory. The script will need to export the two locale variables LANG, and LC_ALL, before executing the Scheduler or CAD application(s). The Scheduler and CAD processes should be started in the following manner when executed from a startup script:
- /opt/tivoli/tsm/client/ba/bin/dsmc sched > /dev/null 2>&1
/opt/tivoli/tsm/client/ba/bin/dsmcad > /dev/null 2>&1
Note: Writing scripts is the responsibility of the customer, this does not fall under the scope of Support. However starting with Client version 6.3, the client installation process will create a script called dsmcad for stopping and starting the scheduler in /etc/init.d. For more information see the version 6.3 client documentation under the title: "Set the client scheduler process to run as a background task and start automatically at startup".
17 June 2018