UJP - Db2カテゴリのエントリ

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

ブログ - Db2カテゴリのエントリ

 DB2のユーザ管理はOSユーザと統合?されているのだけれど,OSユーザのパスワードに使えても,DB2のユーザとしては使えない文字があります.

ユーザー ID とパスワードに有効な文字
https://www.ibm.com/support/knowledgecenter/ja/SSNE44_4.2.0/com.ibm.tpc_V42.doc/fqz0_r_valid_userids_and_passwords.html

ユーザー ID には以下の文字を使用できます。

A から Z (大文字)
a から z (小文字)
0 から 9 (数字)
特殊文字: - _ .

以下の特殊文字は使用しないでください。

! @ $ * = + [ ] \ | ; : " , < > / ? .
 これで,OSログインはできるのに,DB2に接続できないという事象が発生してしまう.当然,5回ほどパスワードを間違えるとアカウントロックされてしまうので,気をつけないとね...
 去年(2018年)の8月にうやりかけた作業の続き.ほぼ忘れてしまっていた.

 前回は本体のダウンロードが始まったところで終わっていたけれど,それらが終了するとこのように表示される.


 右下のLaunch Db2 Developer Cをクリック.


 Get Startedを選択.


 ユーザは,インストールした時に作成したもの(ここではscott/tiger)を使ってログイン.


 起動できたことが確認できた.
 データベース管理ツールで(OTNに会員登録が必要だが)無料のOracle SQL Developerは,Oracle Databaseだけでなく他のデータベースにも対応している. その1つがDb2.ということで接続してみる.

 前提としては,Db2用のJDBCドライバを入手してあること.SQL Developerの導入も済んでいること.ここでは,Mac用のOracle SQL Deverloperで操作をするが,Windows版でも方法は同じ.

 まずは,SQL DeverloperにDb2用のJDBCドライバを登録するところから始まる.

...続きを読む

DB2 JDBC Driverの入手

カテゴリ : 
コンピュータ » サーバソフト » Db2
ブロガー : 
ujpblog 2019/2/4 23:15
 JavaアプリからDb2に接続するためのドライバ.My IBMに登録が必要.

DB2 JDBC Driver Versions and Downloads
http://www-01.ibm.com/support/docview.wss?uid=swg21363866

 JDBC 3.0 driver (db2jcc.jar)と,JDBC 4.0 Driver (db2jcc4.jar)がある.今回は,DB2 Version 11.1を入手.


 ダウンロードしたファイルを確認.
$ ls -la🆑
total 10576
drwxr-xr-x   4 ujpadmin staff      128  2  4 23:04  .
drwx------+ 46 ujpadmin staff     1472  2  4 23:05  ..
-rw-r--r--   1 ujpadmin staff     6148  2  4 23:05  .DS_Store
-rw-r--r--   1 ujpadmin staff 10821468  2  4 22:58 'db2_db2driver_for_jdbc_sqlj_v11.1 2.zip'🈁
$
 ZIPファイルを展開.
$ unzip db2_db2driver_for_jdbc_sqlj_v11.1\ 2.zip🆑
Archive:  db2_db2driver_for_jdbc_sqlj_v11.1 2.zip
  inflating: db2jcc.jar🈁
  inflating: db2jcc4.jar🈁
  inflating: sqlj.zip
  inflating: sqlj4.zip
  inflating: jdbc_REDIST.txt
  inflating: jdbc4_REDIST.txt
  inflating: jdbc_LI_zh_TW
  inflating: jdbc4_LI_zh_TW
  inflating: jdbc_LI_zh
  inflating: jdbc4_LI_zh
  inflating: jdbc_LI_tr
  inflating: jdbc4_LI_tr
  inflating: jdbc_LI_pt
  inflating: jdbc4_LI_pt
  inflating: jdbc_LI_pl
  inflating: jdbc4_LI_pl
  inflating: jdbc_LI_ko
  inflating: jdbc4_LI_ko
  inflating: jdbc_LI_ja
  inflating: jdbc4_LI_ja
  inflating: jdbc_LI_it
  inflating: jdbc4_LI_it
  inflating: jdbc_LI_fr
  inflating: jdbc4_LI_fr
  inflating: jdbc_LI_es
  inflating: jdbc4_LI_es
  inflating: jdbc_LI_de
  inflating: jdbc4_LI_de
  inflating: jdbc_LI_cs
  inflating: jdbc4_LI_cs
  inflating: jdbc_LI_en
  inflating: jdbc4_LI_en
  inflating: jdbc_LI_tw.rtf
  inflating: jdbc4_LI_tw.rtf
  inflating: jdbc_LI_cn.rtf
  inflating: jdbc4_LI_cn.rtf
  inflating: jdbc_LI_tr.rtf
  inflating: jdbc4_LI_tr.rtf
  inflating: jdbc_LI_br.rtf
  inflating: jdbc4_LI_br.rtf
  inflating: jdbc_LI_pl.rtf
  inflating: jdbc4_LI_pl.rtf
  inflating: jdbc_LI_kr.rtf
  inflating: jdbc4_LI_kr.rtf
  inflating: jdbc_LI_jp.rtf
  inflating: jdbc4_LI_jp.rtf
  inflating: jdbc_LI_it.rtf
  inflating: jdbc4_LI_it.rtf
  inflating: jdbc_LI_fr.rtf
  inflating: jdbc4_LI_fr.rtf
  inflating: jdbc_LI_es.rtf
  inflating: jdbc4_LI_es.rtf
  inflating: jdbc_LI_en.rtf
  inflating: jdbc4_LI_en.rtf
  inflating: jdbc_LI_de.rtf
  inflating: jdbc4_LI_de.rtf
  inflating: jdbc_LI_cz.rtf
  inflating: jdbc4_LI_cz.rtf
$
 ファイルはたくさんあるけれど,プログラムのご使用条件とあるライセンスに関する文言が各国語分入っている.
 必要なのはこの2つのファイル.
$ ls -la *.jar
-rw-r--r-- 1 ujpadmin staff 3657990  6  9  2016 db2jcc.jar
-rw-r--r-- 1 ujpadmin staff 3894263  6  9  2016 db2jcc4.jar
$
 JDBC3.0を利用する場合は,db2jcc.jarでJDBC4.0を利用する場合はdb2jcc4.jarなのだそうです.これを使うには,CLASSPATHが通る場所に配置する.
 ダウンロードしたファイルを展開して,基本的にはデフォルトでインストールを行う.今回はIBM SSH Serverも同時にインストールする.

...続きを読む

 db2setコマンドを使って,プロファイル変数の表示を行う.
C:\Program Files\IBM\SQLLIB\BIN>db2set -all🆑
[e] DB2PATH=C:\Program Files\IBM\SQLLIB
[i] DB2INSTPROF=C:\ProgramData\IBM\DB2\DB2COPY1
[i] DB2COMM=TCPIP
[g] DB2_COMPATIBILITY_VECTOR=MYS
[g] DB2_EXTSECURITY=NO
[g] DB2_COMMON_APP_DATA_PATH=C:\ProgramData
[g] DB2SYSTEM=WINDOWS81PRO
[g] DB2PATH=C:\Program Files\IBM\SQLLIB
[g] DB2INSTDEF=DB2
[g] DB2ADMINSERVER=DB2DAS00

C:\Program Files\IBM\SQLLIB\BIN>

 先頭の3文字は,次のような意味.

・環境は、[e] で示されます。
・ユーザー・レベル・レジストリーは、[u]
・ノード・レベル・レジストリーは、[n]
・インスタンス・レベル・レジストリーは、[i]
・グローバル・レベル・レジストリーは、[g]

db2set -lrで, サポートされたすべてのレジストリー変数をリストする.

...続きを読む

 DB2のライセンスを確認するには,インストールしたディレクトリで,db2licmコマンドを実行すれば良い.

C:\Program Files\IBM\SQLLIB\BIN>db2licm -l🆑
製品名:                                          "DB2 Express-C"
ライセンス・タイプ:                              "保証なし"
有効期限:                                        "永続"
製品 ID:                                         "db2expc"
バージョン情報:                                  "11.1"
CPU の最大数:                                    "2"
メモリーの最大量 (GB):                           "16"
コアの最大数:                     "2"
制約ポリシー:                                    "ソフト・ストップ"

C:\Program Files\IBM\SQLLIB\BIN>
 db2adminユーザのパスワードがPASSWORDだったとする.
 接続してみる.
db2 =>  connect to HAPPYDB user db2admin using PASSWORD🆑

   データベース接続情報

 データベース・サーバー = DB2/NT64 11.1.4.4
 SQL 許可 ID            = DB2ADMIN
 ローカル・データベース別名 = HAPPYDB

db2 =>
 このパスワードをPASSWORDからdb2adminに変更する.
db2 =>  connect to HAPPYDB user db2admin using PASSWORD new db2admin confirm db2admin🆑

   データベース接続情報

 データベース・サーバー = DB2/NT64 11.1.4.4
 SQL 許可 ID            = DB2ADMIN
 ローカル・データベース別名 = HAPPYDB

db2 => terminate🆑
DB20000I  TERMINATE コマンドが正常に完了しました。

C:\Program Files\IBM\SQLLIB\BIN>
 変更前のパスワードで接続してエラーになることを確認.
db2 =>  connect to HAPPYDB user db2admin using PASSWORD🆑
SQL30082N  セキュリティー処理は、理由 "24" ("USERNAME AND/OR PASSWORD INVALID")
により失敗しました。  SQLSTATE=08001
db2 =>
 エラーになりました.新しいパスワードで接続してみる.
db2 =>  connect to HAPPYDB user db2admin using db2admin🆑

   データベース接続情報

 データベース・サーバー = DB2/NT64 11.1.4.4
 SQL 許可 ID            = DB2ADMIN
 ローカル・データベース別名 = HAPPYDB

db2 =>
 接続できました.
 DB2に接続するためには,クライアント側に接続設定とデータベース(エイリアス)設定が必要なのがわかった.
 じゃぁ,今現在どのような設定が入っているのかを確認するコマンドがある.

 コマンドプロンプトで,LIST NODE DIRECTORYコマンドを発行して,データベースへの接続情報一覧を取得する.Oracleで言うところの,tnsnames.oraの一覧かな.
C:\Program Files\IBM\SQLLIB\BIN>db2 list node directory🆑

 ノード・ディレクトリー

 ディレクトリー中の項目数 = 1

ノード 1 項目:

 ノード名                       = WIN10SVR
 コメント                             =
 ディレクトリー項目タイプ       = LOCAL
 プロトコル                     = TCPIP
 ホスト名                       = 10.0.2.15
 サービス名                     = 50000


C:\Program Files\IBM\SQLLIB\BIN>
 同じコマンドを,DB2 CLPを使って確認する.
C:\Program Files\IBM\SQLLIB\BIN>db2🆑
(c) Copyright IBM Corporation 1993,2007
DB2 クライアント 11.1.4.4 コマンド行プロセッサー

コマンド・プロンプトからデータベース・マネージャーのコマンド、および SQL
ステートメントを呼び出せます。 例:
    db2 => connect to sample
    db2 => bind sample.bnd

一般ヘルプには ? をタイプしてください。
コマンドのヘルプには ? command をタイプしてください。 command
には、データベース・マネージャー・コマンドの
最初のいくつかのキーワードを入力します。 例:
 ? CATALOG DATABASE は CATALOG DATABASE コマンドのヘルプです。
 ? CATALOG          は全 CATALOG コマンドのヘルプです。

db2 対話モードを抜けるには、コマンド・プロンプトで QUIT とタイプしてください。
対話モード以外では、すべてのコマンドに接頭語 'db2' を付ける必要があります。
現在のコマンド・オプションの設定をリストするには、 LIST COMMAND OPTIONS
とタイプしてください。

詳細は、「オンライン・リファレンス」を参照してください。

db2 => list node directory🆑

 ノード・ディレクトリー

 ディレクトリー中の項目数 = 1

ノード 1 項目:

 ノード名                       = WIN10SVR
 コメント                             =
 ディレクトリー項目タイプ       = LOCAL
 プロトコル                     = TCPIP
 ホスト名                       = 10.0.2.15
 サービス名                     = 50000

db2 =>
 同じ結果が得られた.
 DB2をインストールしたサーバ場でローカルでの接続は行って見たが,リモートから接続する手順を試してみる.

 大まかな手順は,

・新しいノード(DB2が稼働するサーバ)を登録
・DBサーバ上のデータベースを登録.

 今回は,DB2をインストールした際に自動的に作られているSAMPLEというデータベースに接続するまでの手順の確認.


 DB2コマンドプロンプトを起動.

C:\Program Files\IBM\SQLLIB\BIN>db2🆑
(c) Copyright IBM Corporation 1993,2007
DB2 クライアント 11.1.4.4 コマンド行プロセッサー

コマンド・プロンプトからデータベース・マネージャーのコマンド、および SQL
ステートメントを呼び出せます。 例:
    db2 => connect to sample
    db2 => bind sample.bnd

一般ヘルプには ? をタイプしてください。
コマンドのヘルプには ? command をタイプしてください。 command
には、データベース・マネージャー・コマンドの
最初のいくつかのキーワードを入力します。 例:
 ? CATALOG DATABASE は CATALOG DATABASE コマンドのヘルプです。
 ? CATALOG          は全 CATALOG コマンドのヘルプです。

db2 対話モードを抜けるには、コマンド・プロンプトで QUIT とタイプしてください。
対話モード以外では、すべてのコマンドに接頭語 'db2' を付ける必要があります。
現在のコマンド・オプションの設定をリストするには、 LIST COMMAND OPTIONS
とタイプしてください。

詳細は、「オンライン・リファレンス」を参照してください。

db2 =>
 DB2のサーバを,新しいノード(win10sv)として登録する.
db2 => catalog tcpip node win10svr remote 10.0.2.15 server 50000🆑
DB20000I  CATALOG TCPIP NODE コマンドが正常に完了しました。
DB21056W  ディレクトリーの変更は、ディレクトリー・キャッシュがリフレッシュされる
まで反映されません。
db2 =>
DBサーバ上のデータベースを登録.
SAMPLEデータベース,HAPPYDBはユニークな名前.接続の時に使う.
win10svrは,先ほど登録したデータベースサーバ.
db2 => catalog db SAMPLE as HAPPYDB at node win10svr
DB20000I  CATALOG DATABASE コマンドが正常に完了しました。
DB21056W  ディレクトリーの変更は、ディレクトリー・キャッシュがリフレッシュされる
まで反映されません。
db2 =>
 登録できた模様.

 リフレッシュされるまで反映されないが,デフォルトではDIR_CACHEがYESになっているので,それなりに(調査不足)反映される模様.
 (念のために)数分置いた後,次のように作成した定義を使って接続してみる.

db2 => connect to HAPPYDB user db2admin using db2admin🆑

   データベース接続情報

 データベース・サーバー = DB2/NT64 11.1.4.4
 SQL 許可 ID            = DB2ADMIN
 ローカル・データベース別名 = HAPPYDB

db2 =>
 接続できました.ありがとうございます.

参考情報
DB2 Express-C 10.1 for Windows クイックインストール
https://www.ibm.com/developerworks/jp/offers/db2express-c/installwin_v10/
 データベースの設定一覧をコマンドで取得できるというので,やってみた.

 今回はコマンド・ウィンドウ - 管理者を使って,db2 get dbm configを実行してみた.

C:\Program Files\IBM\SQLLIB\BIN>db2 get dbm config🆑

          データベース・マネージャー構成

     ノード・タイプ                                      = ローカルとリモート・クライアントを持つデータベース・サーバー

 データベース・マネージャー構成リリース・レベル          = 0x1400

 CPU 速度 (ミリ秒/命令)                       (CPUSPEED) = 1.180861e-007

 並行アクティブ・データベースの最大数            (NUMDB) = 32
 フェデレーテッド・データベース・システム・サポート (FEDERATED) = NO
 トランザクション・プロセッサー・モニター名 (TP_MON_NAME) =

 デフォルトのチャージ・バック・アカウント (DFT_ACCOUNT_STR) =

 Java 開発キット・インストール・パス          (JDK_PATH) = C:\PROGRA~1\IBM\SQLLIB\java\jdk

 診断エラーのキャプチャー・レベル            (DIAGLEVEL) = 3
 通知レベル                                (NOTIFYLEVEL) = 3
 診断データのディレクトリー・パス             (DIAGPATH) = C:\ProgramData\IBM\DB2\DB2COPY1\DB2\
 現行メンバーの解決済の DIAGPATH                         = C:\ProgramData\IBM\DB2\DB2COPY1\DB2\
 代替診断データのディレクトリー・パス (ALT_DIAGPATH)     =
 現行メンバーの解決済みの ALT_DIAGPATH                   =
 循環 db2diag および通知ログのサイズ (MB)     (DIAGSIZE) = 0

 デフォルトのデータベース・モニター・スイッチ
   バッファー・プール                  (DFT_MON_BUFPOOL) = OFF
   ロック                                 (DFT_MON_LOCK) = OFF
   ソート                                 (DFT_MON_SORT) = OFF
   ステートメント                         (DFT_MON_STMT) = OFF
   表                                    (DFT_MON_TABLE) = OFF
   タイム・スタンプ                  (DFT_MON_TIMESTAMP) = ON
   作業単位                                (DFT_MON_UOW) = OFF
 インスタンスとデータベースの状況をモニター (HEALTH_MON) = OFF

 SYSADM グループ名                        (SYSADM_GROUP) =
 SYSCTRL グループ名                      (SYSCTRL_GROUP) =
 SYSMAINT グループ名                    (SYSMAINT_GROUP) =
 SYSMON グループ名                        (SYSMON_GROUP) =

 クライアント・ユーザー ID/パスワード・プラグイン (CLNT_PW_PLUGIN) =
 クライアント Kerberos プラグイン      (CLNT_KRB_PLUGIN) = IBMkrb5
 グループ・プラグイン                     (GROUP_PLUGIN) =
 ローカル許可のための GSS プラグイン   (LOCAL_GSSPLUGIN) =
 サーバー・プラグイン・モード          (SRV_PLUGIN_MODE) = UNFENCED
 GSS プラグインのサーバー・リスト (SRVCON_GSSPLUGIN_LIST) =
 サーバー・ユーザー ID/パスワード・プラグイン (SRVCON_PW_PLUGIN) =
 サーバー接続認証                          (SRVCON_AUTH) = NOT_SPECIFIED
 クラスター・マネージャー                                =

 データベース・マネージャー認証         (AUTHENTICATION) = SERVER
 代替認証           (ALTERNATE_AUTH_ENC) = NOT_SPECIFIED
 権限なしで許可されるカタログ処理       (CATALOG_NOAUTH) = NO
 すべてのクライアントを承認             (TRUST_ALLCLNTS) = YES
 承認済みのクライアント認証             (TRUST_CLNTAUTH) = CLIENT
 フェデレーテッド・データベース認証をバイパス (FED_NOAUTH) = NO

 デフォルトのデータベース・パス              (DFTDBPATH) = C:

 データベース・モニター・ヒープ・サイズ (4KB) (MON_HEAP_SZ) = AUTOMATIC(66)
 Java VM ヒープ・サイズ (4KB)             (JAVA_HEAP_SZ) = 2048
 監査バッファー・サイズ (4KB)             (AUDIT_BUF_SZ) = 0
 グローバル・インスタンス・メモリー (% または 4KB)     (INSTANCE_MEMORY) = AUTOMATIC(1744455)
 メンバー・インスタンス・メモリー (% または 4KB)                       = GLOBAL
 エージェント・スタック・サイズ         (AGENT_STACK_SZ) = 16
 ソート・ヒープしきい値 (4KB)               (SHEAPTHRES) = 0

 ディレクトリー・キャッシュ・サポート        (DIR_CACHE) = YES

 アプリケーション・サポート層ヒープ・サイズ (4KB) (ASLHEAPSZ) = 15
 リクエスター入出力ブロック・サイズの最大数 (バイト) (RQRIOBLK) = 65535
 スロットル・ユーティリティーによるワークロードの影響 (UTIL_IMPACT_LIM) = 10

 エージェントの優先順位                       (AGENTPRI) = SYSTEM
 エージェント・プール・サイズ           (NUM_POOLAGENTS) = AUTOMATIC(100)
 プールにあるエージェントの初期化数      NUM_INITAGENTS) = 0
 コーディネーター・エージェントの最大数 (MAX_COORDAGENTS) = AUTOMATIC(200)
 クライアント接続の最大数              (MAX_CONNECTIONS) = AUTOMATIC(MAX_COORDAGENTS)

 fenced プロセスの保持                      (KEEPFENCED) = YES
 fenced プロセスの最大値                   (FENCED_POOL) = AUTOMATIC(MAX_COORDAGENTS)
 fenced プロセスの初期数                (NUM_INITFENCED) = 0

 索引再作成時期と索引作成の再実行             (INDEXREC) = RESTART

 トランザクション・マネージャー・データベース名 (TM_DATABASE) = 1ST_CONN
 トランザクション再同期インターバル (秒) (RESYNC_INTERVAL) = 180

 SPM 名                                       (SPM_NAME) = WINDOWS8
 SPM ログ・サイズ                      (SPM_LOG_FILE_SZ) = 256
 SPM 再同期エージェント制限             (SPM_MAX_RESYNC) = 20
 SPM ログ・パス                           (SPM_LOG_PATH) =

 TCP/IP サービス名                            (SVCENAME) = db2c_DB2
 ディスカバリー・モード                       (DISCOVER) = SEARCH
 ディスカバー・サーバー・インスタンス    (DISCOVER_INST) = ENABLE

 SSL サーバー keydb ファイル             (SSL_SVR_KEYDB) =
 SSL サーバー stash ファイル             (SSL_SVR_STASH) =
 SSL サーバー証明書ラベル                (SSL_SVR_LABEL) =
 SSL サービス名                           (SSL_SVCENAME) =
 SSL 暗号仕様                          (SSL_CIPHERSPECS) =
 SSL バージョン                           (SSL_VERSIONS) =
 SSL クライアント keydb ファイル        (SSL_CLNT_KEYDB) =
 SSL クライアント stash ファイル        (SSL_CLNT_STASH) =

 並列処理の最大照会度                  (MAX_QUERYDEGREE) = ANY
 パーティション内並列処理を有効にする   (INTRA_PARALLEL) = NO

 FCM バッファー数                 (FCM_NUM_BUFFERS) = AUTOMATIC(1024)
 FCM バッファー・サイズ                       (FCM_BUFFER_SIZE) = 32768
 FCM チャネル数               (FCM_NUM_CHANNELS) = AUTOMATIC(512)
 db2start/db2stop タイムアウト (分)    (START_STOP_TIME) = 10

 WLM ディスパッチャーを有効にする       (WLM_DISPATCHER) = NO
 WLM ディスパッチャー並行性            (WLM_DISP_CONCUR) = COMPUTED
 WLMディスパッチャーで CPU 共有を有効にする (WLM_DISP_CPU_SHARES) = NO
 WLM ディスパッチャー最小使用率 (%) (WLM_DISP_MIN_UTIL) = 5

 通信バッファー出口のライブラリー・リスト (COMM_EXIT_LIST) =
 現在の有効なアーキテクチャー・レベル (CUR_EFF_ARCH_LVL) = V:11 R:1 M:4 F:4 I:0 SB:0
 現在の有効なコード・レベル           (CUR_EFF_CODE_LVL) = V:11 R:1 M:4 F:4 I:0 SB:0

 鍵ストア・タイプ                           (KEYSTORE_TYPE) = NONE
 鍵ストアのロケーション                   (KEYSTORE_LOCATION) =


C:\Program Files\IBM\SQLLIB\BIN>
 謎の言葉もたくさんあるなぁ.
 コマンド・ウィンドウ - 管理者を使って接続できたので,コマンドラインで停止と開始を行う.

DB2を停止する db2stop

C:\Program Files\IBM\SQLLIB\BIN>db2 "CONNECT TO SAMPLE"🆑

   データベース接続情報

 データベース・サーバー = DB2/NT64 11.1.4.4
 SQL 許可 ID            = UJPADMIN
 ローカル・データベース別名 = SAMPLE


C:\Program Files\IBM\SQLLIB\BIN>

 C:\Program Files\IBM\SQLLIB\BIN>db2stop🆑
SQL1064N  DB2STOP の処理が正常に終了しました。

C:\Program Files\IBM\SQLLIB\BIN>

DB2を開始する db2start

C:\Program Files\IBM\SQLLIB\BIN>db2start🆑
SQL1063N  DB2START の処理が正常に終了しました。

C:\Program Files\IBM\SQLLIB\BIN>
 インストールしたIBM DB2 Express-Cに,コマンドラインで接続して,SQL文が発行できるまで.

コマンド・ウィンドウ - 管理者を使ってバージョンを確認


 スタートメニューから,DB2のメニューを選択し「DB2 コマンド・ウィンドウ - 管理者」を選択.


 IBM Canadaが署名しているという事かな. 


 普通にコマンドプロンプトのようなものが起動する.

まずは,DB2のバージョンをdb2levelコマンドで確認する.
C:\Program Files\IBM\SQLLIB\BIN>db2level🆑
DB21085I  このインスタンスまたはインストール (該当する場合のインスタンス名:
"DB2") は "64" ビットおよび DB2 コード・リリース "SQL11014" をレベル ID
"0205010F" で使用します。
情報トークンは、"DB2
v11.1.4040.491"、"s1811091400"、"DYN1811091400WIN64"、およびフィックスパック "4"
です。
DB2 コピー名 "DB2COPY1" で製品は "C:\PROGRA~1\IBM\SQLLIB"
にインストールされています。


C:\Program Files\IBM\SQLLIB\BIN>
 謎のバージョン番号と,インストールディレクトリなどが表示された.
 次にデータベースをdb2startコマンドで開始してみる.
C:\Program Files\IBM\SQLLIB\BIN>db2start🆑
SQL1026N  データベース・マネージャーはすでにアクティブになっています。

C:\Program Files\IBM\SQLLIB\BIN>
 インストール時に起動している.

DB2に接続してみる

C:\Program Files\IBM\SQLLIB\BIN>db2 "CONNECT TO SAMPLE"

   データベース接続情報

 データベース・サーバー = DB2/NT64 11.1.4.4
 SQL 許可 ID            = UJPADMIN
 ローカル・データベース別名 = SAMPLE


C:\Program Files\IBM\SQLLIB\BIN>
 無事つながった.
 まず最初に,テーブル一覧を取得してみる.
C:\Program Files\IBM\SQLLIB\BIN>db2 "LIST TABLES FOR ALL"🆑

表/ビュー                       スキーマ        タイプ 作成時刻
------------------------------- --------------- ----- --------------------------
ACT                             UJPADMIN         T     2019-01-22-00.13.09.080015
ADEFUSR                         UJPADMIN         S     2019-01-22-00.13.10.281002
CATALOG                         UJPADMIN         T     2019-01-22-00.13.12.478017
CL_SCHED                        UJPADMIN         T     2019-01-22-00.13.08.658001
CUSTOMER                        UJPADMIN         T     2019-01-22-00.13.12.366007
DEPARTMENT                      UJPADMIN         T     2019-01-22-00.13.08.703002
DEPT                            UJPADMIN         A     2019-01-22-00.13.08.766010
EMP                             UJPADMIN         A     2019-01-22-00.13.08.817000
EMPACT                          UJPADMIN         A     2019-01-22-00.13.09.080008
EMPLOYEE                        UJPADMIN         T     2019-01-22-00.13.08.766013
EMPMDC                          UJPADMIN         T     2019-01-22-00.13.10.885002
EMPPROJACT                      UJPADMIN         T     2019-01-22-00.13.09.062017
EMP_ACT                         UJPADMIN         A     2019-01-22-00.13.09.080012
EMP_PHOTO                       UJPADMIN         T     2019-01-22-00.13.08.817003
EMP_RESUME                      UJPADMIN         T     2019-01-22-00.13.08.885011
INVENTORY                       UJPADMIN         T     2019-01-22-00.13.12.335007
IN_TRAY                         UJPADMIN         T     2019-01-22-00.13.09.112014
ORG                             UJPADMIN         T     2019-01-22-00.13.09.127001
PRODUCT                         UJPADMIN         T     2019-01-22-00.13.12.255002
PRODUCTSUPPLIER                 UJPADMIN         T     2019-01-22-00.13.12.614010
PROJ                            UJPADMIN         A     2019-01-22-00.13.09.029015
PROJACT                         UJPADMIN         T     2019-01-22-00.13.09.029018
PROJECT                         UJPADMIN         T     2019-01-22-00.13.08.997004
PURCHASEORDER                   UJPADMIN         T     2019-01-22-00.13.12.432010
SALES                           UJPADMIN         T     2019-01-22-00.13.09.144005
STAFF                           UJPADMIN         T     2019-01-22-00.13.09.144002
STAFFG                          UJPADMIN         T     2019-01-22-00.13.10.013002
SUPPLIERS                       UJPADMIN         T     2019-01-22-00.13.12.526007
VACT                            UJPADMIN         V     2019-01-22-00.13.09.175014
VASTRDE1                        UJPADMIN         V     2019-01-22-00.13.09.192014
VASTRDE2                        UJPADMIN         V     2019-01-22-00.13.09.207002
VDEPMG1                         UJPADMIN         V     2019-01-22-00.13.09.192006
VDEPT                           UJPADMIN         V     2019-01-22-00.13.09.160002
VEMP                            UJPADMIN         V     2019-01-22-00.13.09.175006
VEMPDPT1                        UJPADMIN         V     2019-01-22-00.13.09.192010
VEMPLP                          UJPADMIN         V     2019-01-22-00.13.09.223007
VEMPPROJACT                     UJPADMIN         V     2019-01-22-00.13.09.192002
VFORPLA                         UJPADMIN         V     2019-01-22-00.13.09.207018
VHDEPT                          UJPADMIN         V     2019-01-22-00.13.09.175002
VPHONE                          UJPADMIN         V     2019-01-22-00.13.09.223003
VPROJ                           UJPADMIN         V     2019-01-22-00.13.09.175010
VPROJACT                        UJPADMIN         V     2019-01-22-00.13.09.175018
VPROJRE1                        UJPADMIN         V     2019-01-22-00.13.09.207006
VPSTRDE1                        UJPADMIN         V     2019-01-22-00.13.09.207010
VPSTRDE2                        UJPADMIN         V     2019-01-22-00.13.09.207014

〜略〜

USER_VIEW_COLUMNS               SYSPUBLIC       A     2019-01-22-00.12.45.683017
COLDIST                         SYSSTAT         V     2019-01-22-00.12.40.112007
COLGROUPDIST                    SYSSTAT         V     2019-01-22-00.12.40.112015
COLGROUPDISTCOUNTS              SYSSTAT         V     2019-01-22-00.12.40.112023
COLGROUPS                       SYSSTAT         V     2019-01-22-00.12.40.128006
COLUMNS                         SYSSTAT         V     2019-01-22-00.12.40.128014
FUNCTIONS                       SYSSTAT         V     2019-01-22-00.12.40.128022
INDEXES                         SYSSTAT         V     2019-01-22-00.12.40.144005
ROUTINES                        SYSSTAT         V     2019-01-22-00.12.40.159006
TABLES                          SYSSTAT         V     2019-01-22-00.12.40.159014
HMON_ATM_INFO                   SYSTOOLS        T     2019-01-22-23.32.21.306001
HMON_COLLECTION                 SYSTOOLS        T     2019-01-22-23.32.21.336007
POLICY                          SYSTOOLS        T     2019-01-22-23.32.20.992001

  693 レコードが選択されました。



C:\Program Files\IBM\SQLLIB\BIN>
 ここでUJPADMINユーザになっているものは,SAMPLEデータベースで作成されたもの.

 お決まりの?EMPテーブルがあったので参照してみる.
C:\Program Files\IBM\SQLLIB\BIN> db2 "SELECT FIRSTNME,LASTNAME FROM EMP"🆑

FIRSTNME     LASTNAME
------------ ---------------
CHRISTINE    HAAS
MICHAEL      THOMPSON
SALLY        KWAN
JOHN         GEYER
IRVING       STERN
EVA          PULASKI
EILEEN       HENDERSON
THEODORE     SPENSER
VINCENZO     LUCCHESSI
SEAN         O'CONNELL
DELORES      QUINTANA
HEATHER      NICHOLLS
BRUCE        ADAMSON
ELIZABETH    PIANKA
MASATOSHI    YOSHIMURA
MARILYN      SCOUTTEN
JAMES        WALKER
DAVID        BROWN
WILLIAM      JONES
JENNIFER     LUTZ
JAMES        JEFFERSON
SALVATORE    MARINO
DANIEL       SMITH
SYBIL        JOHNSON
MARIA        PEREZ
ETHEL        SCHNEIDER
JOHN         PARKER
PHILIP       SMITH
MAUDE        SETRIGHT
RAMLAL       MEHTA
WING         LEE
JASON        GOUNOT
DIAN         HEMMINGER
GREG         ORLANDO
KIM          NATZ
KIYOSHI      YAMAMOTO
REBA         JOHN
ROBERT       MONTEVERDE
EILEEN       SCHWARTZ
MICHELLE     SPRINGER
HELENA       WONG
ROY          ALONZO

  42 レコードが選択されました。


C:\Program Files\IBM\SQLLIB\BIN>
 WATSONとか,CODDいないのね.

データベース接続を切断する

 データベース接続テストが終わったので,切断する.切断する場合は,TERMINATEコマンドを発行する.

C:\Program Files\IBM\SQLLIB\BIN>db2 "TERMINATE"🆑
DB20000I  TERMINATE コマンドが正常に完了しました。

C:\Program Files\IBM\SQLLIB\BIN>
 試しに,データベースに接続してみる.
C:\Program Files\IBM\SQLLIB\BIN> db2 "SELECT * FROM EMP"🆑
SQL1024N  データベース接続が存在しません。  SQLSTATE=08003

C:\Program Files\IBM\SQLLIB\BIN>
 切断されているのでエラーとなった.
 Windows 10に,無償版のDB2 Express-Cを入れてみようと思う.

 まずは評価版のダウンロード.

IBM Db2(for Linux, UNIX, and Windows) 評価版
https://www.ibm.com/analytics/jp/ja/technology/db2/db2-trials.html

 選択できるエディションは次の通り.


 Db2はふとっぱらですね.世の中的にはOracleとSQL Server,そしてMariaDB,PostgreSQLなので.用途に縛りがないそうなので,商用利用も可能.ただしノウハウの蓄積がベンチャー企業には無いだろうなぁ.

 まずはダウンロード.

...続きを読む

 Db2も色々なエディションがあるようだけれど,macOSで動くものがあると聞いて調べてみた.

 以下のURLからIBM Db2 Developer Community Editionというのを入手できる.

Trials and Downloads:
https://www.ibm.com/analytics/us/en/db2/trials/

 Fully featured version for non-production environments. Ideal for developers.本番じゃつかちゃダメだけれど,メモリ16GBでデータベースサイズは100GBまでのものだけれど,無期限で使えるって.
 
 ダウンロードするには,IBMに無料登録する必要があります.その部分は割愛.My IBMにログインしてください.


 IBM Db2 Developer Community Editionは,Mac用とLinux用がある模様.Windows版とかは,IBM Db2 Developer-Cのようです.どう違うのかは,今現在私も理解していないけれど,Dockerを使うかどうかという点なのかな.

...続きを読む

DB2はDb2になっていた

カテゴリ : 
コンピュータ » サーバソフト » Db2
ブロガー : 
ujpblog 2018/8/8 19:50
 IBM Db2.久々に聞いた言葉だったのだけれど,「Db2」とはスペルミスがオートコレクトのお節介で修正されたみえるという表現だが,リブランディングで1年ほど前から変わったらしい.


「DB2」から「Db2」へ
https://www.ibm.com/blogs/solutions/jp-ja/ibm-db2-rebranding/

 スペルは別にして「でーびーつー」と読んでいたけれど,IBMの人は「ディービィーツー」と発音していたな.SQLも「えすきゅーえる」じゃなくて「シークェル」と発音してた.これはIBMの人ならではの歴史からのことだね.

 IBMのデータベースといえば,IMS-DBだったけれど,IBMのコッド博士のデザインした関係データベースの実装が,DB2.最初にDB2を使ったのは1992年の事だった.MVS場で動いていたけれど,オンライン処理で使うにはスピードが遅いと言われていた時代,試験的に社内の簡単なリソース申請システムの開発で用いたのです.

 IBMのコッド博士が作った論文を,IBMより先に実装して売り出したのが,Oracleなのは有名な話.Db2も無料版があるので,ダウンロードしてみることにしました.

広告スペース
Google