How to Install Teradata Client 13.10

How to install Teradata Client 13.10 64bit on RedHat 6 x86_64

!!! note
This does not cover installation from the CDROM media.

The procedure below pertains to downloading the software from Teradata, and installing the packages.

I found that installing the Teradata client on RedHat 6 wasn't intuitive, and the install document (from teradata knowledge article KAP1B923E) wasn't straight forward.

Here are some considerations while preparing to install the client:

  1. Where do I download the software?

    1. Login to your account at Teradata Portal site
    2. Click on Software Downloads
    3. Click on “Teradata Client”
    4. Under “TD Client Platform”, click Linux
    5. Select software base. In this case, I’ve downloaded TTU 13.10
    6. Select platform base.
      1. download 64bit x8664
      2. download 32bit i386
      3. (yes - download both as some of the 32bit packages are dependencies to installing the 64bit packages)
    7. Select Current and Submit
    8. Select all packages for download and download them via any of the options provided
      1. Note: Even though the page is subsequently labeled as “patches”. It’s the full client version.
  2. How to install the Teradata Client

    1. gunzip/untar the downloaded packages
    2. copy these packages into a new directory (I created a directory called tdclient). Note; The TTU 12.0 and 13.x packages for Linux work on either RedHat or SuSE. Although they’re labeled as specific to one or the other, each works on both.
      • TeraGSS_redhatlinux-i386-13.10.06.01-1.i386.rpm
      • TeraGSS_suselinux-x8664-13.10.06.01-1.x86_64.rpm
      • tdicu-13.10.00.02-1.noarch.rpm
      • tdodbc-13.10.00.09-1.noarch.rpm
      • cliv2-13.10.00.13-1.noarch.rpm
      • piom-13.10.00.10-1.noarch.rpm
      • npaxsmod-13.10.00.02-1.i386.rpm
      • bteq-13.10.00.10-1.i386.rpm
      • fastexp-13.10.00.15-1.i386.rpm
      • fastld-13.10.00.16-1.i386.rpm
      • mload-13.10.00.10-1.i386.rpm
      • tpump-13.10.00.10-1.i386.rpm
    3. If not installed, install the following packages before proceeding
      • ksh
      • compat-libstdc++-33.i686
    4. create an install script as follows.

Install Procedure

#!/bin/ksh

if [ ! -f /bin/ksh ]; then
echo "Please install ksh before proceeding: 'yum install ksh' exiting..."
exit 1
else
if [ -L /usr/bin/ksh ]; then
echo ok
else
echo "soft linking /bin/ksh -> /usr/bin/ksh"
ln -s /bin/ksh /usr/bin/ksh
echo ok
fi
fi

rpm -q compat-libstdc++-33 >/dev/null 2>&1
if [ $? -eq 1 ]; then
echo "Please install compat-libstdc++-33 before proceeding: 'yum install compat-libstdc++-33.i686' exiting..."
exit 1
fi

rpm -ivh TeraGSS_redhatlinux-i386-13.10.06.01-1.i386.rpm
rpm -ivh TeraGSS_suselinux-x8664-13.10.06.01-1.x86_64.rpm
rpm -ivh tdicu-13.10.00.02-1.noarch.rpm
rpm -ivh tdodbc-13.10.00.09-1.noarch.rpm
rpm -ivh cliv2-13.10.00.13-1.noarch.rpm
rpm -ivh piom-13.10.00.10-1.noarch.rpm
rpm -ivh npaxsmod-13.10.00.02-1.i386.rpm
rpm -ivh bteq-13.10.00.10-1.i386.rpm
rpm -ivh fastexp-13.10.00.15-1.i386.rpm
rpm -ivh fastld-13.10.00.16-1.i386.rpm
rpm -ivh mload-13.10.00.10-1.i386.rpm
rpm -ivh tpump-13.10.00.10-1.i386.rpm

First, we check if ksh is installed. The script will actually fail once it attempts to interpret the shebang if ksh isn’t in the specified location, so you may need to adjust some of the syntax accordingly if ksh is somewhere else besides /bin. Further into the script, a soft link to /usr/bin/ksh is created because the tdodbc package looks for ksh in /usr/bin. If all checks out, packages are installed ==in the order of which they need to be installed==. I put this together rather quickly so there are other ways to invoke the prerequisities, but it works fine for the purposes of getting to the main objective. If something messes up, the packages need to be uninstalled before you can reinstall the packages. See uninstall procedure at the end of this article.

Here is the output after running a successful install:

# ./install.ksh
Preparing... ########################################### [100%]
1:TeraGSS_redhatlinux-i38########################################### [100%]


Output has been written to Binary file "/usr/teragss/redhatlinux-i386/13.10.06.01/bin/../etc/tdgssconfig.bin"

Preparing... ########################################### [100%]
1:TeraGSS_suselinux-x8664########################################### [100%]


Output has been written to Binary file "/usr/teragss/suselinux-x8664/13.10.06.01/bin/../etc/tdgssconfig.bin"

Preparing... ########################################### [100%]
1:tdicu ########################################### [100%]
Adding TD_ICU_DATA environment variable to /etc/profile file.
Adding TD_ICU_DATA environment variable to /etc/csh.login file.
Preparing... ########################################### [100%]
1:tdodbc ########################################### [100%]
set_default_version -b 32 -v 13.10 -i /opt

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/ODBC_32/lib
target: /opt/teradata/client/13.10/odbc_32/lib

symbolic link trail:
[1] +-> [/opt/teradata/client/ODBC_32/lib]
[2] +-> [/opt/teradata/client/13.10/odbc_32/lib: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/ODBC_32/locale
target: /opt/teradata/client/13.10/odbc_32/locale

symbolic link trail:
[1] +-> [/opt/teradata/client/ODBC_32/locale]
[2] +-> [/opt/teradata/client/13.10/odbc_32/locale: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/ODBC_32/include
target: /opt/teradata/client/13.10/odbc_32/include

symbolic link trail:
[1] +-> [/opt/teradata/client/ODBC_32/include]
[2] +-> [/opt/teradata/client/13.10/odbc_32/include: directory]

.build_pre130_bridge -b 32 -i /opt

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_32_PRE130_BRIDGE/drivers/tdata.so
target: /opt/teradata/client/ODBC_32/lib/tdata.so

symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_32_PRE130_BRIDGE/drivers/tdata.so]
[2] +-> [/opt/teradata/client/ODBC_32/lib/tdata.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_32_PRE130_BRIDGE/lib
target: /opt/teradata/client/ODBC_32/lib

\c
symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_32_PRE130_BRIDGE/lib]
[2] +-> [/opt/teradata/client/ODBC_32/lib]
[3] +-> [/opt/teradata/client/13.10/odbc_32/lib: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_32_PRE130_BRIDGE/locale
target: /opt/teradata/client/ODBC_32/locale

\c
symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_32_PRE130_BRIDGE/locale]
[2] +-> [/opt/teradata/client/ODBC_32/locale]
[3] +-> [/opt/teradata/client/13.10/odbc_32/locale: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_32_PRE130_BRIDGE/odbcinst.ini
target: /opt/teradata/client/ODBC_32/odbcinst.ini

symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_32_PRE130_BRIDGE/odbcinst.ini]
[2] +-> [/opt/teradata/client/ODBC_32/odbcinst.ini: ASCII text]

enable_legacy_installdir -b 32 -i /opt -I /usr/odbc

ADDING SYMBOLIC LINK:
source: /usr/odbc
target: /opt/teradata/client/.ODBC_32_PRE130_BRIDGE

symbolic link trail:
[1] +-> [/usr/odbc]
[2] +-> [/opt/teradata/client/.ODBC_32_PRE130_BRIDGE: directory]

symbolic link trail:
[1] +-> [/usr/odbc/drivers/tdata.so]
[2] +-> [/opt/teradata/client/ODBC_32/lib/tdata.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/odbcinst.ini]
[2] +-> [/opt/teradata/client/ODBC_32/odbcinst.ini: ASCII text]

symbolic link trail:
[1] +-> [/usr/odbc/locale/en_US/LC_MESSAGES/odbc.po: ASCII English text, with very long lines]

symbolic link trail:
[1] +-> [/usr/odbc/locale/en_US/LC_MESSAGES/odbc.m: GLF_BINARY_LSB_FIRST]

symbolic link trail:
[1] +-> [/usr/odbc/lib/libtdparse.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/vscnctdlg.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/odbccurs.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/libtdsso.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/odbctrac.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/tdata.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/libodbc.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/tdconndlg.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/libodbcinst.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/usr/odbc/lib/libivicu24.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped]

set_default_version -b 64 -v 13.10 -i /opt

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/ODBC_64/lib
target: /opt/teradata/client/13.10/odbc_64/lib

symbolic link trail:
[1] +-> [/opt/teradata/client/ODBC_64/lib]
[2] +-> [/opt/teradata/client/13.10/odbc_64/lib: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/ODBC_64/locale
target: /opt/teradata/client/13.10/odbc_64/locale

symbolic link trail:
[1] +-> [/opt/teradata/client/ODBC_64/locale]
[2] +-> [/opt/teradata/client/13.10/odbc_64/locale: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/ODBC_64/include
target: /opt/teradata/client/13.10/odbc_64/include

symbolic link trail:
[1] +-> [/opt/teradata/client/ODBC_64/include]
[2] +-> [/opt/teradata/client/13.10/odbc_64/include: directory]

.build_pre130_bridge -b 64 -i /opt

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_64_PRE130_BRIDGE/drivers/tdata.so
target: /opt/teradata/client/ODBC_64/lib/tdata.so

symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_64_PRE130_BRIDGE/drivers/tdata.so]
[2] +-> [/opt/teradata/client/ODBC_64/lib/tdata.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_64_PRE130_BRIDGE/lib
target: /opt/teradata/client/ODBC_64/lib

\c
symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_64_PRE130_BRIDGE/lib]
[2] +-> [/opt/teradata/client/ODBC_64/lib]
[3] +-> [/opt/teradata/client/13.10/odbc_64/lib: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_64_PRE130_BRIDGE/locale
target: /opt/teradata/client/ODBC_64/locale

\c
symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_64_PRE130_BRIDGE/locale]
[2] +-> [/opt/teradata/client/ODBC_64/locale]
[3] +-> [/opt/teradata/client/13.10/odbc_64/locale: directory]

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/.ODBC_64_PRE130_BRIDGE/odbcinst.ini
target: /opt/teradata/client/ODBC_64/odbcinst.ini

symbolic link trail:
[1] +-> [/opt/teradata/client/.ODBC_64_PRE130_BRIDGE/odbcinst.ini]
[2] +-> [/opt/teradata/client/ODBC_64/odbcinst.ini: ASCII text]

enable_legacy_installdir -b 64 -i /opt -I /opt/teradata/client/odbc

ADDING SYMBOLIC LINK:
source: /opt/teradata/client/odbc
target: /opt/teradata/client/.ODBC_64_PRE130_BRIDGE

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc]
[2] +-> [/opt/teradata/client/.ODBC_64_PRE130_BRIDGE: directory]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/drivers/tdata.so]
[2] +-> [/opt/teradata/client/ODBC_64/lib/tdata.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/odbcinst.ini]
[2] +-> [/opt/teradata/client/ODBC_64/odbcinst.ini: ASCII text]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/locale/en_US/LC_MESSAGES/odbc.po: ASCII English text, with very long lines]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/locale/en_US/LC_MESSAGES/odbc.m: GLF_BINARY_LSB_FIRST]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/libtdparse.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/vscnctdlg.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/odbccurs.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/libddicu24.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/libtdsso.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/odbctrac.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/tdata.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/libodbc.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/tdconndlg.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]

symbolic link trail:
[1] +-> [/opt/teradata/client/odbc/lib/libodbcinst.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped]


============================================================================
*** IMPORTANT ODBC USER BULLETIN ***
============================================================================

The TTU 13.0 release has introduced a new TTU directory tree structure
which has unified all the TTU products under a common TTU release directory.
The ODBC 13.0 installation package has taken steps to make this new tree
structure transparent to the existing ODBC users that have selected the
default install directory when installing an ODBC release prior to 13.0.
In the case where the user has selected a non-default install directory,
the user will need to follow the instructions that are documented in the
ODBC README file.

In either case, it is strongly recommended that the user read the ODBC README
file to understand the new TTU tree structure and how it relates to the
ODBC Driver and its odbc.ini and odbcinst.ini files.

============================================================================
*** IMPORTANT ODBC USER BULLETIN ***
============================================================================

Preparing... ########################################### [100%]
1:cliv2 ########################################### [100%]
Adding cliv2 COPLIB environment variable to /etc/profile file.
Adding cliv2 COPERR environment variable to /etc/profile file.
Adding tdmst entry to /etc/services file.
Preparing... ########################################### [100%]
1:piom ########################################### [100%]
Preparing... ########################################### [100%]
1:npaxsmod ########################################### [100%]
Preparing... ########################################### [100%]
1:bteq ########################################### [100%]
Preparing... ########################################### [100%]
1:fastexp ########################################### [100%]
Preparing... ########################################### [100%]
1:fastld ########################################### [100%]
Preparing... ########################################### [100%]
1:mload ########################################### [100%]
Preparing... ########################################### [100%]
1:tpump ########################################### [100%]

Uninstall Procedure

rpm -e tpump-13.10.00.10-1.i386
rpm -e tdodbc-13.10.00.09-1.noarch
rpm -e bteq-13.10.00.10-1.i386
rpm -e mload-13.10.00.10-1.i386
rpm -e fastld-13.10.00.16-1.i386
rpm -e fastexp-13.10.00.15-1.i386
rpm -e cliv2-13.10.00.13-1.noarch
rpm -e tdicu-13.10.00.02-1.noarch
rpm -e TeraGSS_suselinux-x8664-13.10.06.01-1.x86_64
rpm -e TeraGSS_redhatlinux-i386-13.10.06.01-1.i386
rpm -e piom-13.10.00.10-1.noarch
rpm -e npaxsmod-13.10.00.02-1.i386

rm -rf /opt/teradata
Share