7,890 バイト追加
、 2020年2月15日 (土) 07:31
==DB2==
[DB2 XML DB (pureXML)][DB2 SQL PL]
*[http://db2watch.com/wiki/index.php/DB2%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E7%9B%AE%E6%AC%A1 DB2逆引きリファレンス]
*DB2管理者必携
{{amazon|4774145971}}
==Express-C==
===インストール===
*[http://typea.info/blg/glob/2011/05/db2-express-c.html CentOSにExpress-C v9.7をインストール]
*[http://typea.info/blg/glob/2012/01/db2-express-c-97-centos-6.html DB2 Express-C 9.7 を CentOS 6 にインストール再び]
*[http://typea.info/blg/glob/2018/08/db2-express-c-111-vagrantcentos7.html DB2 Express-C 11.1 をVagrant上のCentOs7にインストール]
====グループとユーザーの作成====
*https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_10.5.0/com.ibm.db2.luw.qb.server.doc/doc/t0006742.html
*ユーザーおよびグループは、インストール・プロセス中に DB2 セットアップ・ウィザードによって作成されます。 希望する場合は、前もってそれらを作成することができます
{|class="wikitable"
!ユーザー
!サンプル・ユーザー名
!サンプル・グループ名
|-
|インスタンス所有者
|db2inst1
|db2iadm1
|-
|fenced ユーザー
|db2fenc1
|db2fsdm1
|-
|DB2 Administration Server のユーザー
|dasusr1
|dasadm1
|-
|}
*Linux オペレーティング・システムでグループを作成するには、以下のコマンドを入力します。
# groupadd -g 999 db2iadm1
# groupadd -g 998 db2fsdm1
# groupadd -g 997 dasadm1copy to clipboard
*グループごとにユーザーを作成します。
# useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1 db2inst1
# useradd -u 1003 -g db2fsdm1 -m -d /home/db2fenc1 db2fenc1
# useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1copy to clipboard
*次のように、初期パスワードを設定します。
# passwd db2inst1
# passwd db2fenc1
# passwd dasusr1
==IBM Data Studio==
===[http://typea.info/blg/glob/2011/05/db2-ibm-data-studio-sql.html 接続とSQLの発行]===
*[http://typea.info/blg/glob/2011/05/db2-ibm-data-studio-sql.html 接続とSQLの発行]
==CLP コマンドライン==
===コマンドラインオプションの確認===
*DB2 CLP コマンドラインオプション
===CLPでバックスペースが文字化け(Linux)===
*Linux バックスペースが文字化けしてしまう
===CLPコマンド===
*[DB2 CLPコマンド] [CLPコマンド]
==管理==
===権限===
*http://www.geocities.jp/a1770053/jyoho/db2_512/chapter4.htm
====権限付与====
GRANT {権限} ON {テーブル名} TO {ユーザー名}
====権限削除====
REVOKE {権限} ON {テーブル名} FROM {ユーザー名}
====オブジェクト権限確認====
SELECT * FROM SYSCAT.TABAUTH WHERE GRANTEE = '{ユーザー名}'
===強制終了===
db2stop force
===すべてのプロセスの停止===
*http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.qb.server.doc/doc/t0024969.html?resultof=%22%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E5%81%9C%E6%AD%A2%22%20
===接続しているアプリケーションを切断===
db2 ==> FORCE APPLICATION ALL
===情報===
====テーブル一覧取得====
select tabschema,tabname,owner,tbspace from syscat.tables
===インスタンス===
====デフォルトインスタンスを確認と変更====
=====確認=====
>db2 get instance
=====変更=====
>set DB2INSTANCE=[インスタンス名]
===設定===
====設定情報====
*DB2 設定情報を得る
===トラブル===
====エラーコード====
*DB2 エラーコードの意味を調べる
===その他===
*DB2 テーブル名カラム名を取得
==バックアップ==
*DB2 バックアップ履歴の確認
==SQL==
===定義===
====DB2 テーブル定義をコピーする====
===更新===
====DB2 別のテーブルの値で更新する====
====[DB2 別のテーブルの値で更新する] [サブクエリで複数項目を更新する]====
===削除===
====DB2 重複業を削除====
===自動番号付===
====DB2 ID列に自動採番====
===シーケンス===
====次の値を取得====
select next value for {SEQUENCE_NAME} from sysibm.sysdummy1;
====値のリセット====
alter sequence {SEQUENCE_NAME} restart with {NUMBER};
===集合演算・結合===
====DB2 UNIONした結果をSELECTする====
====DB2 グループ化したテーブルを結合する====
====DB2 外部結合時の検索条件====
====DB2 共通の行を見つける====
====DB2 存在しない値を取得する====
===制御===
====DB2 CASE式とNULL====
===日付===
====DB2 日付操作====
====DB2 月末を求める====
====DB2 n ヶ月後を求める====
===書式・データ変換===
====DB2 CHAR関数による書式変換====
====DB2 文字列 数値変換====
====DB2 データ有無をフラグに変換====
===ダミーテーブル===
====DB2 ダミーテーブル====
===データ操作===
====DB2 先頭の1件をFETCHせずに取得する====
===集計===
====DB2 GROUP BY 拡張====
====DB2 結果に順位をふる====
====DB2 小計と合計と割合====
===関数===
====DB2 関数====
===コメント===
*http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0000901.htm
*オブジェクトにコメントをつける
COMMENT ON TABLE SETTINGS_MST IS '設定マスター'
;
COMMENT ON SETTINGS_MST(
"DIVIDE_CD" IS '区分コード',
"COMMON_CD" IS '共通コード'
)
;
===再帰===
====DB2 再帰====
====DB2 再帰で区切りリストを作成====
===Oracle===
====[http://www-06.ibm.com/jp/domino01/mkt/dminfo.nsf/499721c3388537bd49256b1a001aab28/4925722f004efcee492570e3002bf8b0/$FILE/Oracle%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDB2%20SQL%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9.pdf Oracle開発者のためのDB2 SQLリファレンス.pdf]====
*{{ref ora_db2_ref.pdf}}
==パフォーマンス==
===DB2 EXPLAIN の実行===
*DB2 EXPLAIN の実行
===DB2 SELECTステートメント最適化===
*DB2 SELECTステートメント最適化
===DB2 索引スキャン===
*DB2 索引スキャン
===DB2 SQLアクセスパスのチューニング===
*DB2 SQLアクセスパスのチューニング
===DB2 マテリアライズ照会表の作成===
*DB2 マテリアライズ照会表の作成
==ロック==
*DB2 ロッキングの問題
*DB2 ロック属性
*DB2 ロック・イベントのモニター
*分離レベル (Isolation Level)
==モニター==
*DB2 アクティビティ・モニターの利用
==制限==
*[http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html SQL と XML の制限]
==データ移行==
====エクスポート、インポート====
*DB2 エクスポート、インポートで文字化け
*DB2 自動生成列のインポート
====CSVとして出力====
EXPORT TO "c:\work\test.csv" OF DEL SELECT * FROM TEST
==XML DB (pureXML)==
===[DB2 XML DB (pureXML)] [XML DB (pureXML)]===
==[DB2 SQL PL] [SQL PL]==
*[DB2 SQL PL] [SQL PL]
==Tips==
===サンプルデータベースの作成===
$ db2sampl -xml -sql
Creating database "SAMPLE"...
Connecting to database "SAMPLE"...
Creating tables and data in schema "DB2INST1"...
Creating tables with XML columns and XML data in schema "DB2INST1"...
'db2sampl' processing complete.
===CLPでバックスペースが文字化け(Linux)===
*Linux バックスペースが文字化けしてしまう
====Data Studio 4.1.2 が起動しない====
org.osgi.framework.BundleException: モジュールの状態変更ロックを取得できませんでした:osgi.identity; osgi.identity="org.eclipse.core.runtime"; type="osgi.bundle"; version:Version="3.10.0.v20140318-2214"; singleton:="true" [id=1902] STARTED [STARTED]
以下を削除
*.eclipse\org.eclipse.platform_4.4.2_2131968962_win32_win32_x86_64\configuration\org.eclipse.osgi\.manager\.fileTalbeLock