Commandes DB2
From Tuxunix
- Récupérer les informations de la version de DB2
db2licm -l
- Récupérer les informations de configuration de DB2
db2 get dbm cfg
- Récupérer les informations de configuration de la base de données XXXX
db2 get db cfg for XXXX
- Afficher les requêtes SQL
db2 get snapshot for dynamic sql on XXXX
- Afficher l'état de la mémoire DB2
db2mtrk -i -d -v -r 10
ajouter une adresse email pour recevoir les mails d'alertes (se connecter avec l'utilisateur db2inst1 avec putty)
db2cc -hc
- Rotation des logs de débug
db2diag -A
- Afficher l'historique des logs
db2diag -H
- Afficher les logs d'une date précise
db2diag -t 2009-08-26
- Correspondance message d'erreur DB2
db2 ? sql1218
- Surveillance DB2
db2top
- Exécution des requêtes via un fichier
time db2 -tf xxx.sql
- Afficher la version db2
#> db2ls
- Afficher la version db2text
#> db2nsels
- Lister les bases disponibles
#> db2 list db directory
- Lister les Tables et les vues
#> db2 list tables
- Lister les indexes
#> db2 "SELECT NAME, TBCREATOR FROM SYSIBM.SYSINDEXES where TBCREATOR = 'nomSchema'"
- Ajouter les droits SELECT à un utilisateur sur un schéma précis :
#!/bin/sh
DBNAME="test"
SCHEMANAME="TOTO"
USERNAME="loginTest"
db2 "CONNECT TO $DBNAME"
TABLES=`db2 -x "SELECT tabname FROM syscat.tables WHERE tabschema=UPPER('$SCHEMANAME')"`
for TABLENAME in $TABLES;
do db2 "GRANT SELECT ON $SCHEMANAME.$TABLENAME TO USER $USERNAME"
done
db2 "DISCONNECT $DBNAME"
- Description de table
#> db2 describe table syscat.tables
Data type Column Column name schema Data type name Length Scale Nulls ------------------------------- --------- ------------------- ---------- ----- ------ TABSCHEMA SYSIBM VARCHAR 128 0 No TABNAME SYSIBM VARCHAR 128 0 No OWNER SYSIBM VARCHAR 128 0 No OWNERTYPE SYSIBM CHARACTER 1 0 No TYPE SYSIBM CHARACTER 1 0 No STATUS SYSIBM CHARACTER 1 0 No BASE_TABSCHEMA SYSIBM VARCHAR 128 0 Yes
- Liste des processus en background
#> db2pd -utilites
- Arrêter un processus DB2
#> db2 list applications show detail | grep Backup
Récuperer le "Application Id", puis stopper le process :
#> db2 "force application (application_id)"
- Lister le schéma de la table
#> db2look -d nombase >fichier.out
- Exporter la configuration DB2 sur un autre environnement
#> db2cfexp exportConfDb2.conf template
- Importer la configuration DB2 sur un autre environnement
Attention à modifier le nom du HOST (DB2SYSTEM) avant l'import (si sur machine différente avec un nom différent)
#> db2cfimp exportConfDb2.conf
- Quelques requêtes :
#> db2 "CREATE TABLE PERSON (SSN INTEGER NOT NULL, NAME CHAR (30))" #> db2 "insert into PERSON (SSN, NAME) VALUES (1, 'TERRIER')" #> db2 "select NAME from PERSON" #> db2 -x "select NAME from PERSON"
- Commit/Rollback
Un commit et un rollback prend effet seulement sur la connexion active!!


