Table des matières
1. Remarques IBM DB2
1.1. Commandes communes
db2 list db directory
db2 connect to SAMPLE
db2 "select substr(bpname,1,12) as bpname from syscat.bufferpools"
1.2. Utilisation du processeur de ligne de commande Db2
# 输入进入命令
db2
# 进入后
db2 => connect to testdb
Pour en savoir plus : Tutoriel : Utilisation du processeur de ligne de commande Db2
1.3. problème
1.3.1. db2: command not found
/SQL10007N Message "-1390" could not be retreived. Reason code: "3".
- Configuration d'une ligne de commande pour exécuter des commandes Db2 : Linux ou UNIX – Recherche du profil Db2
Si vous avez accès à l'identifiant propriétaire de l'instance, connectez-vous et émettez :
echo $INSTHOME
Sur le serveur, essayez ceci :
cat /etc/passwd |grep db2inst1
Regardez les fichiers .profile
, .bash_profile
et du propriétaire de l'instance .bashrc
pour trouver les lignes ajoutées automatiquement par Db2 lors de l'installation.
Une fois que vous avez le bon emplacement, vous pouvez le remplacer par les lignes ci-dessus dans les fichiers .profile, .bash_profile et/ou .bashrc de chaque utilisateur souhaitant exécuter des commandes Db2 :
if [ -f /db2home/db2inst1/sqllib/db2profile ]; then
. /db2home/db2inst1/sqllib/db2profile
fi
Utilisez directement la commande :source /db2home/db2inst1/sqllib/db2profile
- Configuration d'une ligne de commande pour exécuter des commandes Db2 : Windows
Utilisez la procédure suivante :db2cmd.exe
db2cmdadmin.exe
PowerShell :set-item -path env:DB2CLP -value "**$$**"
1.3.2. Erreur SQL5001N signalée lorsque db2 modifie dbm cfg. Analyse et solutions
Aujourd'hui, j'avais l'habitude de update
mettre à jour dbm cfg et une erreur SQL5001N s'est produite. Je vais donc l'analyser brièvement et donner une solution :
Commande d'opération :db2 update dbm cfg using DFT_MON_STMT on
Message d'erreur:SQL5001N "KEVIN" does not have the authority to change the database manager configuration file.
kevin
C'est le nom d'utilisateur de ma base de données DB2. Évidemment, kevin
l'utilisateur n'est pas autorisé à modifier la configuration DBM.
Commençons par présenter les éléments les plus élémentaires :
Autorisations au niveau de l'instance :
- Autorité administrative la plus élevée du SYSADM, généralement utilisée par le DBA
- SYSCTRL possède la plus haute autorité de contrôle du système, avec la pleine autorité de SYSMAINT et SYSMON
- Autorité de contrôle du système secondaire SYSMAINT
- SYSMON Privilèges administratifs minimaux au niveau de l'instance
Commande Afficher sous Unix/Linux :
db2 get dbm cfg|grep "SYSADM"
db2 get dbm cfg|grep "SYSCTRL"
db2 get dbm cfg|grep "SYSMAINT"
db2 get dbm cfg|grep "SYSMON"
Après avoir pris connaissance des connaissances ci - dessus, vous saurez que la modification de dbm cfg nécessite la plus haute autorité sysadm
.
Ensuite, dans mon terminal, j'utilisedb2 get dbm cfg | grep SYSADM
SYSADM group name (SYSADM_GROUP) = DB2IADM1
Sachant que seuls les membres DB2IADM1
du groupe ont l'autorisation d'exécuter, mon exemple d'utilisateur estdb2inst1
:
Utilisez ensuite la commande terminalid db2inst1
uid=801(db2inst1) gid=901(db2iadm1) 组=901(db2iadm1),903(db2dadm1)
Il est évident db2inst1
que les utilisateurs peuvent effectuer la mise à jour de dbm cfg en utilisant
Utilisez ensuite su
la commande pour passer à db2inst1
l'utilisateur :su - db2inst1
Enfin, utilisez à nouveau la commande :db2 update dbm cfg using DFT_MON_STMT on
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
1.4. Pilote DB2 ODBC/CLI
1.5. docker
https://hub.docker.com/r/ibmcom/db2
- Nom d'utilisateur par défaut :
db2inst1
- Base de données par défaut :
testdb