Reese Knowledgebase

Installing Teradata Client 13.10 on RedHat 6 x86_64

View Kristian Reese's profile on LinkedIn


If you like this article, please +1 or Recommend via FB with the provided buttons above:

Article ID: 94
by: Reese K.
Posted: 20 Mar, 2013
Last updated: 01 Oct, 2013
Views: 9493

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

Note that the procedure below pertains to downloading the software from Teradata, and installing the packages.  This does not cover installation from the CDROM media.

I found that installing the Teradata client on RedHat 6 wasn't very intuitive, and the install document (from teradata knowledge article KAP1B923E) wasn't straight forward.  Here are some things to take into consideration while preparing to install the client:

1. Where do I download the software?

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

2.) How to install the Teradata Client

  • gunzip/untar the downloaded packages
  • 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, so even though they are 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
  • If not installed, install the following packages before proceeding
    • ksh
    • compat-libstdc++-33.i686
  • create an install script as follows.

#!/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 just 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

This article was:   Helpful | Not Helpful
Also listed in
folder MISC

Prev   Next
Sort IP Addresses in bash     sed one liners

Showing: 1-2 of 2  
Comments
Egyas | 28 Sep, 2013 01:00 AM
Kristian, this page was VERY helpful! Thanks. With this page's help, I was able to create a semi-automated installer for my company's TDU packages.
ktreese | 30 Sep, 2013 11:48 AM
Good! Glad it was of help.
Prev   Next
Sort IP Addresses in bash     sed one liners

RSS