| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「DB2」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
==DB2==
+
==[[DB2]]==
 
[[DB2 XML DB (pureXML)]] | [[DB2 SQL PL]] |  
 
[[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逆引きリファレンス]
 
*[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管理者必携
+
*[[DB2]]管理者必携
 
{{amazon|4774145971}}
 
{{amazon|4774145971}}
  
16行目: 16行目:
 
====グループとユーザーの作成====
 
====グループとユーザーの作成====
 
*https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_10.5.0/com.ibm.db2.luw.qb.server.doc/doc/t0006742.html
 
*https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_10.5.0/com.ibm.db2.luw.qb.server.doc/doc/t0006742.html
*ユーザーおよびグループは、インストール・プロセス中に DB2 セットアップ・ウィザードによって作成されます。 希望する場合は、前もってそれらを作成することができます
+
*ユーザーおよびグループは、インストール・プロセス中に [[DB2]] セットアップ・ウィザードによって作成されます。 希望する場合は、前もってそれらを作成することができます
  
 
{|class="wikitable"
 
{|class="wikitable"
31行目: 31行目:
 
|db2fsdm1
 
|db2fsdm1
 
|-
 
|-
|DB2 Administration Server のユーザー
+
|[[DB2]] Administration Server のユーザー
 
|dasusr1
 
|dasusr1
 
|dasadm1
 
|dasadm1
37行目: 37行目:
 
|}
 
|}
  
*Linux オペレーティング・システムでグループを作成するには、以下のコマンドを入力します。
+
*[[Linux]] オペレーティング・システムでグループを作成するには、以下のコマンドを入力します。
 
  # groupadd -g 999 db2iadm1
 
  # groupadd -g 999 db2iadm1
 
  # groupadd -g 998 db2fsdm1
 
  # groupadd -g 998 db2fsdm1
56行目: 56行目:
 
==CLP コマンドライン==
 
==CLP コマンドライン==
 
===コマンドラインオプションの確認===
 
===コマンドラインオプションの確認===
*DB2 CLP コマンドラインオプション
+
*[[DB2 CLP コマンドラインオプション]]
===CLPでバックスペースが文字化け(Linux)===
+
===CLPでバックスペースが文字化け([[Linux]])===
*Linux バックスペースが文字化けしてしまう
+
*[[Linux バックスペースが文字化けしてしまう]]
 
===CLPコマンド===
 
===CLPコマンド===
*[DB2 CLPコマンド] [CLPコマンド]
+
*[[DB2 CLPコマンド|CLPコマンド]]
 
==管理==
 
==管理==
 
===権限===
 
===権限===
 
*http://www.geocities.jp/a1770053/jyoho/db2_512/chapter4.htm
 
*http://www.geocities.jp/a1770053/jyoho/db2_512/chapter4.htm
 
====権限付与====
 
====権限付与====
  GRANT {権限} ON {テーブル名} TO {ユーザー名}
+
  GR[[ANT]] {権限} ON {テーブル名} TO {ユーザー名}
 
====権限削除====
 
====権限削除====
  REVOKE {権限} ON {テーブル名} FROM {ユーザー名}
+
  [[R]]EVOKE {権限} ON {テーブル名} F[[R]]OM {ユーザー名}
 
====オブジェクト権限確認====
 
====オブジェクト権限確認====
  SELECT * FROM SYSCAT.TABAUTH WHERE GRANTEE = '{ユーザー名}'
+
  SELECT * FROM SYSCAT.TABAUTH WHERE GR[[ANT]]EE = '{ユーザー名}'
  
 
===強制終了===
 
===強制終了===
76行目: 76行目:
 
*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
 
*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
+
  db2 ==> FO[[R]]CE APPLICATION ALL
 
===情報===
 
===情報===
 
====テーブル一覧取得====
 
====テーブル一覧取得====
88行目: 88行目:
 
===設定===
 
===設定===
 
====設定情報====
 
====設定情報====
*DB2 設定情報を得る
+
*[[DB2 設定情報を得る]]
 
===トラブル===
 
===トラブル===
 
====エラーコード====
 
====エラーコード====
*DB2 エラーコードの意味を調べる
+
*[[DB2 エラーコードの意味を調べる]]
===その他===
+
===[[その他]]===
*DB2 テーブル名カラム名を取得
+
*[[DB2 テーブル名カラム名を取得]]
==バックアップ==
+
==[[バックアップ]]==
*DB2 バックアップ履歴の確認
+
 
==SQL==
+
===[[DB2 ログと回復管理]]===
 +
*[[DB2 ログと回復管理]]
 +
 
 +
===[[DB2 バックアップ履歴の確認]]===
 +
*[[DB2 バックアップ履歴の確認]]
 +
 
 +
==[[SQL]]==
 
===定義===
 
===定義===
====DB2 テーブル定義をコピーする====
+
====[[DB2 テーブル定義をコピーする]]====
 +
 
 +
====DB2 列のデータタイプ変更====
 +
*https://www.ibm.com/support/knowledgecenter/ja/SSEPEK_10.0.0/admin/src/tpc/db2z_altercolumndatatype.html
 +
<pre>
 +
ALTER TABLE {テーブル名} ALTER COLUMN {列名} SET DATA TYPE {データ型 ex VARCHAR(40)};
 +
</pre>
 +
 
 
===更新===
 
===更新===
====DB2 別のテーブルの値で更新する====
+
====[[DB2 別のテーブルの値で更新する]]====
====[DB2 別のテーブルの値で更新する] [サブクエリで複数項目を更新する]====
+
====[[DB2 別のテーブルの値で更新する|サブクエリで複数項目を更新する]]====
 
===削除===
 
===削除===
====DB2 重複業を削除====
+
====[[DB2 重複業を削除]]====
 
===自動番号付===
 
===自動番号付===
====DB2 ID列に自動採番====
+
====[[DB2 ID列に自動採番]]====
 
===シーケンス===
 
===シーケンス===
 
====次の値を取得====
 
====次の値を取得====
 
  select next value for {SEQUENCE_NAME} from sysibm.sysdummy1;  
 
  select next value for {SEQUENCE_NAME} from sysibm.sysdummy1;  
 
====値のリセット====
 
====値のリセット====
  alter sequence {SEQUENCE_NAME} restart with {NUMBER};
+
  alter sequence {SEQUENCE_NAME} restart with {NUMBE[[R]]};
 
===集合演算・結合===
 
===集合演算・結合===
====DB2 UNIONした結果をSELECTする====
+
====[[DB2 UNIONした結果をSELECTする]]====
====DB2 グループ化したテーブルを結合する====
+
====[[DB2 グループ化したテーブルを結合する]]====
====DB2 外部結合時の検索条件====
+
====DB2 [[外部結合時の検索条件]]====
====DB2 共通の行を見つける====
+
====[[DB2 共通の行を見つける]]====
====DB2 存在しない値を取得する====
+
====[[DB2 存在しない値を取得する]]====
 
===制御===
 
===制御===
====DB2 CASE式とNULL====
+
====[[DB2 CASE式とNULL]]====
  
 
===日付===
 
===日付===
====DB2 日付操作====
+
====[[DB2 日付操作]]====
====DB2 月末を求める====
+
====[[DB2 月末を求める]]====
====DB2 n ヶ月後を求める====
+
====[[DB2 n ヶ月後を求める]]====
 
===書式・データ変換===
 
===書式・データ変換===
====DB2 CHAR関数による書式変換====
+
====[[DB2 CHAR関数による書式変換]]====
====DB2 文字列 数値変換====
+
====[[DB2 文字列 数値変換]]====
====DB2 データ有無をフラグに変換====
+
====[[DB2 データ有無をフラグに変換]]====
  
 
===ダミーテーブル===
 
===ダミーテーブル===
====DB2 ダミーテーブル====
+
====[[DB2 ダミーテーブル]]====
  
 
===データ操作===
 
===データ操作===
====DB2 先頭の1件をFETCHせずに取得する====
+
====[[DB2 先頭の1件をFETCHせずに取得する]]====
  
 
===集計===
 
===集計===
====DB2 GROUP BY 拡張====
+
====[[DB2 GROUP BY 拡張]]====
====DB2 結果に順位をふる====
+
====[[DB2 結果に順位をふる]]====
====DB2 小計と合計と割合====
+
====[[DB2 小計と合計と割合]]====
 
===関数===
 
===関数===
====DB2 関数====
+
====[[DB2 関数]]====
 
===コメント===
 
===コメント===
 
*http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0000901.htm
 
*http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0000901.htm
 
*オブジェクトにコメントをつける
 
*オブジェクトにコメントをつける
  
  COMMENT ON TABLE SETTINGS_MST IS '設定マスター'
+
  [[COM]]MENT ON TABLE SETTINGS_MST IS '設定マスター'
 
  ;
 
  ;
  COMMENT ON SETTINGS_MST(
+
  [[COM]]MENT ON SETTINGS_MST(
 
     "DIVIDE_CD"    IS '区分コード',
 
     "DIVIDE_CD"    IS '区分コード',
     "COMMON_CD"    IS '共通コード'
+
     "[[COM]]MON_CD"    IS '共通コード'
 
  )
 
  )
 
  ;
 
  ;
 
===再帰===
 
===再帰===
====DB2 再帰====
+
====[[DB2 再帰]]====
====DB2 再帰で区切りリストを作成====
+
====[[DB2 再帰で区切りリストを作成]]====
===Oracle===
+
===[[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]====
 
====[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}}
 
*{{ref ora_db2_ref.pdf}}
 
==パフォーマンス==
 
==パフォーマンス==
===DB2 EXPLAIN の実行===
+
===[[DB2 EXPLAIN の実行]]===
*DB2 EXPLAIN の実行
+
*[[DB2 EXPLAIN の実行]]
===DB2 SELECTステートメント最適化===
+
===[[DB2 SELECTステートメント最適化]]===
*DB2 SELECTステートメント最適化
+
*[[DB2 SELECTステートメント最適化]]
===DB2 索引スキャン===
+
===[[DB2 索引スキャン]]===
*DB2 索引スキャン
+
*[[DB2 索引スキャン]]
===DB2 SQLアクセスパスのチューニング===
+
===[[DB2 SQLアクセスパスのチューニング]]===
*DB2 SQLアクセスパスのチューニング
+
*[[DB2 SQLアクセスパスのチューニング]]
===DB2 マテリアライズ照会表の作成===
+
===[[DB2 マテリアライズ照会表の作成]]===
*DB2 マテリアライズ照会表の作成
+
*[[DB2 マテリアライズ照会表の作成]]
 
==ロック==
 
==ロック==
*DB2 ロッキングの問題
+
*[[DB2 ロッキングの問題]]
*DB2 ロック属性
+
*[[DB2 ロック属性]]
*DB2 ロック・イベントのモニター
+
*[[DB2 ロック・イベントのモニター]]
 
*分離レベル (Isolation Level)
 
*分離レベル (Isolation Level)
 
==モニター==
 
==モニター==
*DB2 アクティビティ・モニターの利用
+
*[[DB2 アクティビティ・モニターの利用]]
 
==制限==
 
==制限==
  
184行目: 197行目:
 
==データ移行==
 
==データ移行==
 
====エクスポート、インポート====
 
====エクスポート、インポート====
*DB2 エクスポート、インポートで文字化け
+
*[[DB2 エクスポート、インポートで文字化け]]
*DB2 自動生成列のインポート
+
*[[DB2 自動生成列のインポート]]
  
 
====CSVとして出力====
 
====CSVとして出力====
  EXPORT TO "c:\work\test.csv" OF DEL SELECT * FROM TEST
+
  EXPORT TO "c:\work\test.csv" OF DEL SELECT * FROM [[TEST]]
==XML DB (pureXML)==
+
==[[XML]] DB (pure[[XML]])==
===[DB2 XML DB (pureXML)] [XML DB (pureXML)]===
+
===[[DB2 XML DB (pureXML)|XML DB (pureXML)]]===
  
==[DB2 SQL PL] [SQL PL]==
+
==[[DB2 SQL PL|SQL PL]]==
*[DB2 SQL PL] [SQL PL]
+
*[[DB2 SQL PL|SQL PL]]
==Tips==
+
==[[Tips]]==
 
===サンプルデータベースの作成===
 
===サンプルデータベースの作成===
 
  $ db2sampl -xml -sql
 
  $ db2sampl -xml -sql
200行目: 213行目:
 
   Creating database "SAMPLE"...
 
   Creating database "SAMPLE"...
 
   Connecting to database "SAMPLE"...
 
   Connecting to database "SAMPLE"...
   Creating tables and data in schema "DB2INST1"...
+
   Creating tables and data in schema "[[DB2]]INST1"...
   Creating tables with XML columns and XML data in schema "DB2INST1"...
+
   Creating tables with [[XML]] columns and [[XML]] data in schema "DB2INST1"...
 
   
 
   
 
   'db2sampl' processing complete.
 
   'db2sampl' processing complete.
  
===CLPでバックスペースが文字化け(Linux)===
+
===CLPでバックスペースが文字化け([[Linux]])===
*Linux バックスペースが文字化けしてしまう
+
*[[Linux バックスペースが文字化けしてしまう]]
 
====Data Studio 4.1.2 が起動しない====
 
====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]
 
  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
 
*.eclipse\org.eclipse.platform_4.4.2_2131968962_win32_win32_x86_64\configuration\org.eclipse.osgi\.manager\.fileTalbeLock

2021年2月8日 (月) 09:45時点における最新版

目次

DB2

DB2 XML DB (pureXML) | DB2 SQL PL |

  • DB2管理者必携

Express-C

インストール


グループとユーザーの作成

ユーザー サンプル・ユーザー名 サンプル・グループ名
インスタンス所有者 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

接続とSQLの発行

CLP コマンドライン

コマンドラインオプションの確認

CLPでバックスペースが文字化け(Linux)

CLPコマンド

管理

権限

権限付与

GRANT {権限} ON {テーブル名} TO {ユーザー名}

権限削除

REVOKE {権限} ON {テーブル名} FROM {ユーザー名}

オブジェクト権限確認

SELECT * FROM SYSCAT.TABAUTH WHERE GRANTEE = '{ユーザー名}'

強制終了

db2stop force

すべてのプロセスの停止

接続しているアプリケーションを切断

db2 ==> FORCE APPLICATION ALL

情報

テーブル一覧取得

select tabschema,tabname,owner,tbspace from syscat.tables

インスタンス

デフォルトインスタンスを確認と変更

確認
>db2 get instance
変更
>set DB2INSTANCE=[インスタンス名]

設定

設定情報

トラブル

エラーコード

その他

バックアップ

DB2 ログと回復管理

DB2 バックアップ履歴の確認

SQL

定義

DB2 テーブル定義をコピーする

DB2 列のデータタイプ変更

ALTER TABLE {テーブル名} ALTER COLUMN {列名} SET DATA TYPE {データ型 ex VARCHAR(40)};

更新

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 関数

コメント

COMMENT ON TABLE SETTINGS_MST IS '設定マスター'
;
COMMENT ON SETTINGS_MST(
    "DIVIDE_CD"     IS '区分コード',
    "COMMON_CD"     IS '共通コード'
)
;

再帰

DB2 再帰

DB2 再帰で区切りリストを作成

Oracle

Oracle開発者のためのDB2 SQLリファレンス.pdf

パフォーマンス

DB2 EXPLAIN の実行

DB2 SELECTステートメント最適化

DB2 索引スキャン

DB2 SQLアクセスパスのチューニング

DB2 マテリアライズ照会表の作成

ロック

モニター

制限


データ移行

エクスポート、インポート

CSVとして出力

EXPORT TO "c:\work\test.csv" OF DEL SELECT * FROM TEST

XML DB (pureXML)

XML DB (pureXML)

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)

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