![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Se connecter avec l’utilisateur db2inst1.
Celui-ci va devoir créer une base. On peut soit passer par le mode interractif en tapant db2 (quit pour sortir) soit lancer les commandes à partir du shell.
On va utiliser le mode interractif :
db2 => create database toto
DB20000I La commande CREATE DATABASE a abouti.
db2 =>
db2 => connect to toto
Informations de connexion à la base de données
Serveur de base de données = DB2/LINUX 8.2.0
ID utilisateur SQL = DB2INST1
Alias local de la base de données = TOTO
Il faut se connecter à la base :
db2 => connect to toto
Informations de connexion à la base de données
Serveur de base de données = DB2/LINUX 8.2.0
ID utilisateur SQL = DB2INST1
Alias local de la base de données = TOTO
Créons une table de test et remplissons la :
db2 => create table telephone (id int, nom char(24), tel char(12) )
DB20000I La commande SQL a abouti.
db2 => insert into telephone values(1,'wbic','66567')
DB20000I La commande SQL a abouti.
db2 => insert into telephone values(2,'wdeg','66619')
DB20000I La commande SQL a abouti.
On peut vérifier la structure et le contenu de la table
db2 => list tables
Table/Vue Schéma Type Création - Horodatage
------------------------------- --------------- ----- --------------------------
TELEPHONE DB2INST1 T 2006-09-27-11.00.51.461097
1 enregistrement(s) sélectionné(s).
db2 => describe table telephone
Nom de Schéma Nom
colonne du type du type Longueur Ech. Null
------------------------------ --------- ------------------ -------- ----- ------
ID SYSIBM INTEGER 4 0 Oui
NOM SYSIBM CHARACTER 24 0 Oui
TEL SYSIBM CHARACTER 12 0 Oui
3 enregistrement(s) sélectionné(s).
db2 => select * from telephone
ID NOM TEL
----------- ------------------------ ------------
1 wbic 66567
2 wdeg 66619
2 enregistrement(s) sélectionné(s).
L’utilitaire qui permet de sauvegarder (et de restaurer) une base s’appelle db2move.
# db2move toto export
***** DB2MOVE *****
Action: EXPORT
Start time: Wed Sep 27 11:05:12 2006
Connecting to database TOTO ... successful! Server: DB2 Common Server V8.2.0
Binding package automatically ...
Bind file: /home/db2inst1/sqllib/bnd/db2move.bnd
Bind was successful!
EXPORT: 2 rows from table "DB2INST1"."TELEPHONE"
Disconnecting from database ... successful!
On retrouve les fichiers suivants:
db2move.lst
EXPORT.out
tab1.ixf
tab1.msg
Ce sont ces fichiers qui peuvent permettre une restauration de la base.
$ls -l
End time: Wed Sep 27 11:05:12 2006
-rw-r--r-- 1 db2inst1 db2grp1 43 sep 27 11:05 db2move.lst
drwx------ 3 db2inst1 db2grp1 1024 sep 26 16:00 Desktop/
-rw-r--r-- 1 db2inst1 db2grp1 316 sep 27 11:05 EXPORT.out
drwxrwsr-t 16 db2inst1 db2grp1 1024 sep 26 16:00 sqllib/
-rw-r----- 1 db2inst1 db2grp1 4455 sep 27 11:05 tab1.ixf
-rw-r----- 1 db2inst1 db2grp1 165 sep 27 11:05 tab1.msg
Pour obtenir extraire la structure des tables de la base toto, il faut utiliser db2look, qui génère un fichier sql permettant de reconstruire la structure de la base.
$ db2look -d toto -e -a -o db2look.sql
-- Générez des statistiques pour tous les créateurs
-- Création de DDL pour une (des) table(s)
-- Résultat envoyé vers le fichier: db2look.sql
-- Liaison automatique de progiciels ...
-- Liaison effectuée
-- Liaison automatique de progiciels ...
-- Liaison effectuée
Le fichier obtenu db2look.sql ,contient ceci:
--
Ce fichier CLP file a été créé avec la
version DB2LOOK 8.2
-- Unité de temps: mer 27 sep 2006 11:06:44 CEST
-- Nom de base de données: TOTO
-- Version de gestionnaire de base de données: DB2/LINUX
Version 8.2.0
-- Pages de codes de base de données: 923
-- L'ordre de classement de la base de données est le suivant:
UNIQUE
CONNECT TO TOTO;
------------------------------------------------
-- Instructions DDL pour table "DB2INST1"."TELEPHONE"
------------------------------------------------
CREATE TABLE "DB2INST1"."TELEPHONE" (
"ID" INTEGER ,
"NOM" CHAR(24) ,
"TEL" CHAR(12) )
IN "USERSPACE1" ;
COMMIT WORK;
CONNECT RESET;
TERMINATE;
db2 => drop table telephone
DB20000I La commande SQL a abouti.
On exécute le script sql généré par db2look par exemple à partir de la ligne de commande.
$ db2 -tvf db2look.sql
CONNECT TO TOTO
Informations de connexion à la base de données
Serveur de base de données = DB2/LINUX 8.2.0
ID utilisateur SQL = DB2INST1
Alias local de la base de données = TOTO
CREATE TABLE "DB2INST1"."TELEPHONE" ( "ID" INTEGER , "NOM" CHAR(24) , "TEL" CHAR(12) ) IN "USERSPACE1"
DB20000I La commande SQL a abouti.
COMMIT WORK
DB20000I La commande SQL a abouti.
CONNECT RESET
DB20000I La commande SQL a abouti.
TERMINATE
DB20000I La commande TERMINATE a abouti.
db2move va permettre le chargement des données dans la base :
$ db2move toto load
***** DB2MOVE *****
Action: LOAD
Start time: Wed Sep 27 14:16:26 2006
Connecting to database TOTO ... successful! Server: DB2 Common Server V8.2.0
* LOAD: table "DB2INST1"."TELEPHONE"
-Rows read: 2
-Loaded: 2
-Rejected: 0
-Deleted: 0
-Committed: 2
Disconnecting from database ... successful!
End time: Wed Sep 27 14:16:27 2006
Il ne reste plus qu’à vérifier :
$ db2 list tables
Table/Vue Schéma Type Création - Horodatage
------------------------------- --------------- ----- --------------------------
TELEPHONE DB2INST1 T 2006-09-27-11.20.18.913099
1 enregistrement(s) sélectionné(s).
$ db2 describe table telephone
Nom de Schéma Nom
colonne du type du type Longueur Ech. Null
------------------------------ --------- ------------------ -------- ----- ------
ID SYSIBM INTEGER 4 0 Oui
NOM SYSIBM CHARACTER 24 0 Oui
TEL SYSIBM CHARACTER 12 0 Oui
3 enregistrement(s) sélectionné(s).
$db2 select “*” from telephone
ID NOM TEL
----------- ------------------------ ------------
1 wbic 66567
2 wdeg 66619
2 enregistrement(s) sélectionné(s).
Il faut noter l’utilisation de guillemets quand on passe un select avec un joker à partir de la ligne de commande.