「DB2」の版間の差分
ナビゲーションに移動
検索に移動
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]]管理者必携 |
{{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コマンド] | + | *[[DB2 CLPコマンド|CLPコマンド]] |
==管理== | ==管理== | ||
===権限=== | ===権限=== | ||
*http://www.geocities.jp/a1770053/jyoho/db2_512/chapter4.htm | *http://www.geocities.jp/a1770053/jyoho/db2_512/chapter4.htm | ||
====権限付与==== | ====権限付与==== | ||
− | + | GR[[ANT]] {権限} ON {テーブル名} TO {ユーザー名} | |
====権限削除==== | ====権限削除==== | ||
− | + | [[R]]EVOKE {権限} ON {テーブル名} F[[R]]OM {ユーザー名} | |
====オブジェクト権限確認==== | ====オブジェクト権限確認==== | ||
− | SELECT * FROM SYSCAT.TABAUTH WHERE | + | 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 ==> | + | db2 ==> FO[[R]]CE APPLICATION ALL |
===情報=== | ===情報=== | ||
====テーブル一覧取得==== | ====テーブル一覧取得==== | ||
88行目: | 88行目: | ||
===設定=== | ===設定=== | ||
====設定情報==== | ====設定情報==== | ||
− | *DB2 設定情報を得る | + | *[[DB2 設定情報を得る]] |
===トラブル=== | ===トラブル=== | ||
====エラーコード==== | ====エラーコード==== | ||
− | *DB2 エラーコードの意味を調べる | + | *[[DB2 エラーコードの意味を調べる]] |
− | ===その他=== | + | ===[[その他]]=== |
− | *DB2 テーブル名カラム名を取得 | + | *[[DB2 テーブル名カラム名を取得]] |
− | ==バックアップ== | + | ==[[バックアップ]]== |
− | *DB2 バックアップ履歴の確認 | + | *[[DB2 バックアップ履歴の確認]] |
− | ==SQL== | + | ==[[SQL]]== |
===定義=== | ===定義=== | ||
− | ====DB2 テーブル定義をコピーする==== | + | ====[[DB2 テーブル定義をコピーする]]==== |
===更新=== | ===更新=== | ||
− | ====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 { | + | 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 | ||
*オブジェクトにコメントをつける | *オブジェクトにコメントをつける | ||
− | + | [[COM]]MENT ON TABLE SETTINGS_MST IS '設定マスター' | |
; | ; | ||
− | + | [[COM]]MENT ON SETTINGS_MST( | |
"DIVIDE_CD" IS '区分コード', | "DIVIDE_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行目: | 184行目: | ||
==データ移行== | ==データ移行== | ||
====エクスポート、インポート==== | ====エクスポート、インポート==== | ||
− | *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 ( | + | ==[[XML]] DB (pure[[XML]])== |
− | ===[DB2 XML DB (pureXML) | + | ===[[DB2 XML DB (pureXML)|XML DB (pureXML)]]=== |
− | ==[DB2 SQL PL | + | ==[[DB2 SQL PL|SQL PL]]== |
− | *[DB2 SQL PL | + | *[[DB2 SQL PL|SQL PL]] |
− | ==Tips== | + | ==[[Tips]]== |
===サンプルデータベースの作成=== | ===サンプルデータベースの作成=== | ||
$ db2sampl -xml -sql | $ db2sampl -xml -sql | ||
200行目: | 200行目: | ||
Creating database "SAMPLE"... | Creating database "SAMPLE"... | ||
Connecting to database "SAMPLE"... | Connecting to database "SAMPLE"... | ||
− | Creating tables and data in schema " | + | 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 |
2020年2月16日 (日) 04:24時点における版
目次
DB2
DB2 XML DB (pureXML) | DB2 SQL PL |
- DB2管理者必携
Express-C
インストール
- CentOSにExpress-C v9.7をインストール
- DB2 Express-C 9.7 を CentOS 6 にインストール再び
- 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 セットアップ・ウィザードによって作成されます。 希望する場合は、前もってそれらを作成することができます
ユーザー | サンプル・ユーザー名 | サンプル・グループ名 |
---|---|---|
インスタンス所有者 | 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=[インスタンス名]
設定
設定情報
トラブル
エラーコード
その他
バックアップ
SQL
定義
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
Oracle開発者のためのDB2 SQLリファレンス.pdf
パフォーマンス
DB2 EXPLAIN の実行
DB2 SELECTステートメント最適化
DB2 索引スキャン
DB2 SQLアクセスパスのチューニング
DB2 マテリアライズ照会表の作成
ロック
- DB2 ロッキングの問題
- DB2 ロック属性
- DB2 ロック・イベントのモニター
- 分離レベル (Isolation Level)
モニター
制限
データ移行
エクスポート、インポート
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
© 2006 矢木浩人