「DB2」の版間の差分
ナビゲーションに移動
検索に移動
(→定義) |
|||
(同じ利用者による、間の4版が非表示) | |||
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 バックアップ履歴の確認 | + | |
− | ==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 { | + | 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行目: | 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 ( | + | ==[[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行目: | 213行目: | ||
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 |
2021年2月8日 (月) 09:45時点における最新版
目次
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 {ユーザー名}
権限削除
オブジェクト権限確認
- 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 関数
コメント
- http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0000901.htm
- オブジェクトにコメントをつける
再帰
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
サンプルデータベースの作成
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 矢木浩人