Teradata 14 sous UBUNTU 12.10

Apres Oracle, Sybase et DB2, on continu notre exploration des SGBD les plus utilisés dans les SI des grosses entreprises, on s’intéressera aujourd’hui a TERADATA, qui est très connu dans le monde de la BI et du datawarehouse. Pour plus de théorie sur TERADATA et son histoire.

Teradata ne fournit pas de version d’évaluation comme c’est le cas pour Oracle, Sybase et DB2, vous devrez vous contentez d’une machine virtuelle (Linux Suse 64 bits) sur la quelle une version d’évaluation de Teradata est déjà preinstallée.

Commencer par récupérer la machine ici (Je vous conseille la machine virtuelle 4Go si vous n’avez pas 16Go de RAM :)) : TDE 14.00.00.01 for VMware (4 GB). Une fois télécharger  dezipper la et installer VMWare Player.

Pour VMWare Player, l’install est simple :

tar -xvf VMware-Player-5.0.1-894247.x86_64.bundle.tar

chmod + x VMware-Player-5.0.1-894247.x86_64.bundle

sudo sh VMware-Player-5.0.1-894247.x86_64.bundle

VMWarePlayer1

Une fois que s’est fait :

VMWare_Player2

Lancer les commandes suivantes :

ln -s /etc/init.d/vmware /etc/rc.d/init.d

vmware-modconfig --console --install-all

Modifier la machine virtuelle si vous le souhaitez (Moi j’ai mis 2GO de RAM, et j’ai mis le réseau en mode bridge, comme ça je profite du DHCP de ma box ), puis lancer la. Le user root a pour mot de passe root. Comme vous allez le constater c’est machine Linux Suse Entreprise 10, 64 bits avec un kernel 2.6.16 :

TDExpress14.0_Sles10:/home # ll
total 4
drwxr-xr-x 8 tdatuser tdatudf 4096 2011-08-22 23:03 tdatuser
TDExpress14.0_Sles10:/home # cat /etc/issue

Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).

TDExpress14.0_Sles10:/home # uname -r
2.6.16.60-0.74.7.3086.1.PTF.657457.TDC.0-smp
TDExpress14.0_Sles10:/home # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             8.7G  6.8G  1.6G  82% /
udev                 1005M  128K 1004M   1% /dev
/dev/sda3             8.7G  227M  8.0G   3% /data
/dev/sda5             2.0G  332M  1.6G  18% /var
/dev/sda7              36G  2.9G   31G   9% /var/opt/teradata
TDExpress14.0_Sles10:/home # free -m
	             total       used       free     shared    buffers     cached
Mem:          2008       1143        864          0         16        694
-/+ buffers/cache:        432       1575
Swap:        15688          0      15688
TDExpress14.0_Sles10:/home #

Teradata_Vmware1
Teradata_Vmware3

Pour configurer le dns, éditer /etc/resolv.conf et ajouter votre serveur DNS, moi ça ressemble a ça :

nameserver  192.168.1.1

Comme c’est une machine Suse, vous pouvez installer des packages en les récupérant ici (par exemple) et en cherchant le paquet qui vous intéresse. Une fois récupérer vous pouvez l’installer par la commande :

rpm -i package_name

L’administrateur de la base de données est le user dbc et son mot de passe est dbc.
Pour connaitre l’état de la base :

TDExpress14.0_Sles10:~ # pdestate -a
PDE state is RUN/STARTED.
DBS state is 5: Logons are enabled - The system is quiescent

Pour les interactions avec la base en mode commande y a l’utilitaire : bteq (Basic TEradata Query). Un premier login peut être fait avec le user : 127.0.0.1/dbc et le password btc (faut toujours taper .logon avant de taper le nom du user) :

TDExpress14.0_Sles10:~/Desktop # bteq

Teradata BTEQ 14.00.00.02 for LINUX.
Copyright 1984-2011, Teradata Corporation. ALL RIGHTS RESERVED.
Enter your logon or BTEQ command:
.logon 127.0.0.1/dbc

.logon 127.0.0.1/dbc
Password:

*** Logon successfully completed.
*** Teradata Database Release is 14.00.00.01
*** Teradata Database Version is 14.00.00.01
*** Transaction Semantics are BTET.
*** Session Character Set Name is 'ASCII'.

*** Total elapsed time was 1 second.

BTEQ -- Enter your SQL request or BTEQ command:

Si vous essayez de vous authentifier avec le user dbc, vous aurez droit a ça :

.LOGON dbc

.LOGON dbc
Password:

*** CLI error: MTDP: EM_NOHOST(224): name not in HOSTS file or names database.
*** Return code from CLI is: 224
*** Error: Logon failed!

Pour ça il faut modifier le fichier /etc/hosts et autoriser les machines a partir des quelles vous voulez vous connecter, dans mon cas j’ajoute les lignes suivantes (changer les adresses IP par vos adresses, si vous n’êtes intéressé que par un accès local, laisser uniquement l’adresse du localhost) :

# Added for TERADATA
192.168.1.95    dbc     dbccop1
192.168.1.97    dbc     dbccop1
127.0.0.1       dbc     dbccop1

A ce stade vous pouvez donc passer quelques requêtes :

  • Lister les bases :
SELECT * FROM DBC.Databases;

SELECT * FROM DBC.Databases;

 *** Query completed. 30 rows found. 16 columns returned.
 *** Total elapsed time was 1 second.

DatabaseName                   CreatorName                    OwnerName
------------------------------ ------------------------------ -------------
viewpoint                      DBC                            DBC
SQLJ                           DBC                            DBC
PUBLIC                         DBC                            DBC
financial                      DBC                            Samples
twm_results                    DBC                            Samples
tduser                         DBC                            DBC
TDPUSER                        DBC                            DBC
Crashdumps                     DBC                            DBC
tpch                           DBC                            Samples
console                        DBC                            DBC
tdwm                           DBC                            DBC
EXTUSER                        EXTUSER                        EXTUSER
SYSLIB                         DBC                            DBC
All                            DBC                            DBC
twm_source                     DBC                            Samples
DBC                            DBC                            DBC
retail                         DBC                            Samples
twm_md                         DBC                            Samples
manufacturing                  DBC                            Samples
SystemFe                       DBC                            DBC
SYSUDTLIB                      DBC                            DBC
Sys_Calendar                   DBC                            DBC
dbcmngr                        DBC                            DBC
Default                        DBC                            DBC
Samples                        DBC                            DBC
SysAdmin                       DBC                            DBC
SYSSPATIAL                     DBC                            DBC
TD_SYSFNLIB                    DBC                            DBC
transportation                 DBC                            Samples
TDStats                        DBC                            DBC
  • Changer de base (use database sous Oracle) :
BTEQ -- Enter your SQL request or BTEQ command:
database samples;

database samples;

*** New default database accepted.
*** Total elapsed time was 1 second.
  • Lister les tables d’une base :
select * from dbc.tables where databasename='financial';

*** Query completed. 10 rows found. 32 columns returned.
*** Total elapsed time was 1 second.

DatabaseName                   TableName                           Version
------------------------------ ------------------------------ ------------
financial                      trans                                     2
financial                      checking_tran                             2
financial                      accts                                     2
financial                      savings_acct                              2
financial                      customer                                  2
financial                      credit_tran                               2
financial                      savings_tran                              2
financial                      customer_name                             2
financial                      credit_acct                               2
financial                      checking_acct                             2
  • Une requête sur une table :
BTEQ -- Enter your SQL request or BTEQ command:
database financial;

database financial;

*** New default database accepted.
*** Total elapsed time was 1 second.

BTEQ -- Enter your SQL request or BTEQ command:
select count(*) from customer;

select count(*) from customer;

*** Query completed. One row found. One column returned.
*** Total elapsed time was 1 second.

Count(*)
-----------
       1000
  • Créer un user :
 BTEQ -- Enter your SQL request or BTEQ command:
CREATE USER testuser FROM DBC AS
PASSWORD=testuser
PERM = 100000000
SPOOL = 10000000;

CREATE USER testuser FROM DBC AS
PASSWORD=testuser
PERM = 100000000
SPOOL = 10000000;

*** User has been created.
*** Total elapsed time was 1 second.
  • Lui donner les droits :
 BTEQ -- Enter your SQL request or BTEQ command:
GRANT SELECT on financial TO testuser;

GRANT SELECT on financial TO testuser;

*** Grant accepted.
*** Total elapsed time was 1 second.

Dans un prochain article, on va savoir comment on peut accéder a notre base a partir d’un client distant via plusieurs méthodes.

Publicité

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s