| Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編 |
目次
索引
![]()
|
データベースの同一資源に対して、応用プログラムおよびRDBコマンドが同時に動作した場合に、それぞれの処理を矛盾なく実行するために、Symfoware/RDBが排他制御を行います。
表:Symfoware/RDBの各機能ごとの占有資源と占有の強さ(ディクショナリ資源の占有)および表:Symfoware/RDBの各機能ごとの占有の資源と占有の強さ(データベース資源の占有)に、各機能が排他する資源と排他の強さを示します。
また、表:占有の強さの関係に排他の強さの関係を示します。
各機能はオプションや入力データで指定された資源を排他して処理を行います。資源を排他する期間は次のとおりです。
応用プログラム
RDBコマンド
資源の占有を行うことによって、各機能を同時に実行した場合、資源の占有エラーとなったり、資源の占有が解除されるまで待ちに入ったりする場合があります。
同一資源に対して各機能を同時に実行した場合の振る舞いについて、表:Symfoware/RDBの同一資源に対する各機能の同時実行時の振る舞いに示します。ただし、以下の処理については、資源の占有に関係なく同一資源に対して他の機能と同時に実行することはできません。
rdbdmpdicコマンドおよびrdbprdicコマンドは他の機能と同時実行可能ですが、定義操作との同時実行においては占有エラーとなる場合があります。
|
機能 |
コマンド |
占有資源 |
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
論理 |
格納 |
物理 |
利用者認可識別子 |
|||||||||||
|
DB |
SCH |
TBL |
PROC |
DSO |
DSO |
DSI |
DSI |
SCOP |
DBS |
|||||
|
データベース定義 |
rdbddlex |
CREATE DB |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
データベース消去 |
rdbddlex |
DROP DB |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
スキーマ定義 |
rdbddlex |
CREATE SCHEMA |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
スキーマ消去 |
rdbddlex |
DROP SCHEMA (CASCADEなし) |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
DROP SCHEMA (CASCADEあり) |
SH |
EX |
EX |
EX |
EX |
EX |
EX |
EX |
EX |
SH |
EX |
|||
|
表定義 |
rdbddlex |
CREATE TABLE |
SH |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
表消去 |
rdbddlex |
DROP TABLE (CASCADEなし) |
SH |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
DROP TABLE (CASCADEあり) |
SH |
SH |
EX |
EX |
EX |
EX |
EX |
EX |
EX |
SH |
EX |
|||
|
ビュー定義 |
rdbddlex |
CREATE VIEW |
SH |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
ビュー消去 |
rdbddlex |
DROP VIEW |
SH |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
権限情報定義 |
rdbddlex |
GRANT (SCH) |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
GRANT (TBL) |
SH |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
|||
|
GRANT (DBS) |
SH |
− |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
|||
|
GRANT (PROC) |
SH |
SH |
− |
EX |
− |
− |
− |
− |
− |
− |
− |
|||
|
権限情報削除 |
rdbddlex |
REVOKE (SCH) |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
REVOKE (TBL) |
SH |
SH |
EX |
− |
− |
− |
− |
− |
− |
− |
− |
|||
|
REVOKE (DBS) |
SH |
− |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
|||
|
REVOKE (PROC) |
SH |
SH |
− |
EX |
− |
− |
− |
− |
− |
− |
− |
|||
|
プロシジャルーチン定義 |
rdbddlex |
CREATE PROCEDURE |
SH |
SH |
− |
EX |
− |
− |
− |
− |
− |
− |
− |
|
|
プロシジャルーチン削除 |
rdbddlex |
DROP PROCEDURE |
SH |
SH |
− |
EX |
− |
− |
− |
− |
− |
− |
− |
|
|
表定義変更 |
rdbddlex |
ALTER TABLE |
SH |
SH |
EX |
− |
EX |
EX |
EX |
EX |
− |
− |
− |
|
|
表交換 |
rdbddlex |
SWAP TABLE |
SH |
SH |
EX |
− |
EX |
EX |
EX |
EX |
− |
− |
− |
|
|
格納構造定義 |
rdbddlex |
CREATE DSO |
SH |
SH |
EX |
− |
EX |
− |
− |
− |
− |
− |
− |
|
|
CREATE DSO(IX) |
SH |
SH |
EX |
− |
EX |
EX |
EX |
− |
− |
− |
− |
|||
|
CREATE DSI |
SH |
SH |
EX |
− |
EX |
− |
EX |
− |
EX |
SH |
EX |
|||
|
CREATE DSI(IX) |
SH |
SH |
EX |
− |
EX |
EX |
SH |
EX |
− |
SH |
− |
|||
|
CREATE SCOPE |
SH |
− |
− |
− |
− |
− |
EX |
− |
EX |
− |
− |
|||
|
格納構造消去 |
rdbddlex |
DROP DSO (CASCADEなし) |
SH |
SH |
EX |
− |
EX |
− |
− |
− |
− |
− |
− |
|
|
DROP DSO (CASCADEあり) |
SH |
SH |
EX |
− |
EX |
EX |
EX |
EX |
EX |
SH |
EX |
|||
|
rdbddlex |
DROP DSO (IX) (CASCADEなし) |
SH |
SH |
EX |
− |
EX |
EX |
− |
− |
− |
− |
− |
||
|
DROP DSO (IX) (CASCADEあり) |
SH |
SH |
EX |
− |
EX |
EX |
− |
EX |
− |
SH |
− |
|||
|
DROP DSI (CASCADEなし) |
SH |
SH |
EX |
− |
EX |
− |
EX |
− |
EX |
SH |
EX |
|||
|
DROP DSI (CASCADEあり) |
SH |
SH |
EX |
− |
EX |
− |
EX |
EX |
EX |
SH |
EX |
|||
|
DROP DSI (IX) |
SH |
SH |
EX |
− |
EX |
EX |
SH |
EX |
EX |
SH |
EX |
|||
|
DROP SCOPE |
SH |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
EX |
|||
|
DSI変更 |
rdbddlex |
ALTER DSI |
SH |
SH |
EX |
− |
EX |
− |
EX |
− |
− |
SH |
− |
|
|
スコープ適用 |
rdbddlex |
APPLY SCOPE |
SH |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
EX |
|
|
スコープ解除 |
rdbddlex |
RELEASE SCOPE |
SH |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
EX |
|
|
スペース定義 |
rdbddlex |
CREATE DBS |
SH |
− |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
|
|
スペース消去 |
rdbddlex |
DROP DBS |
SH |
− |
− |
− |
− |
− |
− |
− |
− |
EX |
− |
|
|
DSI初期化 |
rdbfmt |
DSI |
SH |
SH |
SH |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|
|
DSI (IX) |
SH |
SH |
SH |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|||
|
データロード |
rdbsloader rdbunl |
DSI |
SH |
SH |
SH |
− |
SH |
SH |
SH |
SH |
− |
SH |
− |
|
|
DSI (IX) DSI |
SH SH |
SH SH |
SH SH |
− − |
SH − |
SH − |
SH SH |
SH − |
− − |
SH SH |
− − |
|||
|
rdbunlsql |
DSI |
SH |
SH |
SH |
− |
SH |
SH |
SH |
SH |
SH |
− |
SH |
||
|
データベース再編成 |
rdbgcdsi |
DSI |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|
|
DSI (IX) |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|||
|
自動DSI領域拡張 |
rdbalmdsi |
DSI |
SH |
− |
− |
− |
− |
− |
SH |
− |
− |
− |
− |
|
|
DSI (IX) |
SH |
− |
− |
− |
− |
− |
− |
SH |
− |
− |
− |
|||
|
DSIの除外 |
rdbexdsi |
DSI |
− |
− |
− |
− |
− |
− |
SH |
− |
− |
− |
− |
|
|
最適化情報更新 |
rdbups |
TBL |
SH |
SH |
SH |
− |
MOD |
MOD |
MOD |
MOD |
− |
SH |
− |
|
|
DSO |
SH |
SH |
SH |
− |
MOD |
− |
SH |
− |
− |
SH |
− |
|||
|
DSO (IX) |
SH |
SH |
SH |
− |
− |
MOD |
− |
SH |
− |
SH |
− |
|||
|
DSI |
SH |
SH |
SH |
− |
− |
− |
MOD |
− |
− |
SH |
− |
|||
|
DSI (IX) |
SH |
SH |
SH |
− |
− |
− |
− |
MOD |
− |
SH |
− |
|||
|
管理情報印刷 |
rdbprt |
定義情報 |
SH |
SH |
SH |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
スペース情報印刷 |
rdbspcinf |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
SH |
− |
||
|
DSI使用状況出力 |
rdbudsi |
DSI |
SH |
− |
− |
− |
− |
− |
SH |
− |
− |
− |
− |
|
|
DSI (IX) |
SH |
− |
− |
− |
− |
− |
− |
SH |
− |
− |
− |
|||
|
退避データ作成 |
rdbdmp |
DSI指定 |
− |
− |
− |
− |
− |
− |
SH |
− |
− |
− |
− |
|
|
データベース復旧 |
rdbrcv |
DSI指定 |
− |
− |
− |
− |
− |
− |
EX |
− |
− |
− |
− |
|
|
DBS指定 |
− |
− |
− |
− |
− |
− |
EX |
− |
− |
SH |
− |
|||
|
rdbadjrcv |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|||
|
アーカイブ管理 |
rdblog |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
運用情報取得 |
rdbinf |
DIC指定 |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|
|
DSI指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|||
|
DBS指定 |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|||
|
実行情報表示 |
rdbps |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
資源占有情報表示 |
rdblkinf |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
退避媒体情報表示 |
rdbdvinf |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
利用規定設定 |
rdbrtr |
DIC指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|
|
DSI指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|||
|
DBS指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|||
|
利用規定解除 |
rdbrls |
DIC指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|
|
DSI指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|||
|
DBS指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|||
|
アクセス禁止設定 |
rdbinh |
DSI指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|
|
DBS指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|||
|
アクセス禁止解除 |
rdbpmt |
DSI指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
|
|
DBS指定 |
− |
− |
− |
− |
− |
− |
SH |
SH |
− |
SH |
− |
|||
|
プリプロセッサ |
sqlpc/sqlpcob |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
応用プログラム (動的SQL文なし) |
− |
SH |
SH |
SH |
SH |
SH |
SH |
SH |
SH |
SH |
− |
SH |
||
|
応用プログラム (動的SQL文あり) |
− |
SH |
SH |
SH |
SH |
SH |
SH |
SH |
SH |
SH |
− |
SH |
||
|
Symfoware/RDB起動 |
rdbstart |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
Symfoware/RDB停止 |
rdbstop |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
共用バッファプール |
開設 |
rdbcrbf |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
閉鎖 |
rdbdrbf |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
対応登録 |
rdbconbf |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
||
|
対応解除 |
rdbdisbf |
SH |
− |
− |
− |
− |
− |
SH |
SH |
− |
− |
− |
||
|
表示 |
rdbprtbf |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
インデックス縮退 |
rdbalidx |
SH |
− |
− |
− |
− |
− |
− |
EX |
− |
− |
− |
||
|
定義情報のメモリ展開 |
rdbpldic |
SH |
SH |
SH |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
データベースの更新 |
rdbsaloader |
SH |
SH |
SH |
− |
SH |
SH |
SH |
SH |
− |
SH |
− |
||
|
rdbsuloader |
SH |
SH |
SH |
− |
SH |
SH |
SH |
SH |
− |
SH |
− |
|||
|
rdbupt |
SH |
SH |
SH |
− |
SH |
SH |
SH |
SH |
SH |
− |
SH |
|||
|
データベーススペースの切離しおよび接続 |
rdbexspc |
mdetach |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
mattach |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|||
|
mp |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|||
|
RDBディクショナリ |
作成 |
rdbcrdic |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|
|
容量拡張 |
rdbaldic |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
再配置 |
rdbgcdic |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
領域の状況表示 |
rdbprdic |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
復旧 |
rdbrcvdic |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
退避データ作成 |
rdbdmpdic |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
性能監視 |
rdbsar |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
リカバリポイントの設定 |
rdbsetrp |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
コネクションの回収リカバリ・状態の表示 |
rdbterm |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
|
rdbcninf |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
|||
|
RDBメッセージの表示 |
rdbprtmsg |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
||
DB:データベース
SCH:スキーマ
TBL:実表
PROC:プロシジャルーチン
DSO:表のDSO
DSO(IX):インデックスのDSO
DSI:表のDSI
DSI(IX):インデックスのDSI
SCOP:スコープ
DBS:データベーススペース
DIC:RDBディクショナリ
SH:共用モード
MOD:弱共用モード
EX:非共用モード
−:排他対象外
注)ON句で指定した表をEXで排他。
|
後続 |
EX |
MOD |
SH |
|---|---|---|---|
|
EX |
× |
× |
× |
|
MOD |
× |
× |
○ |
|
SH |
× |
○ |
○ |
○: 2つのプロセス間で、同一資源の 多重処理が許されます。
×: 2つのプロセス間で、同一資源の 多重処理が許されません。
|
機能 |
コマンド |
占有資源(注) |
||
|---|---|---|---|---|
|
表 |
インデックス |
|||
|
応用プログラム |
参照処理 |
SH |
SH |
|
|
更新処理 |
EX |
EX |
||
|
DSI初期化 |
rdbfmt |
DSI |
EX |
EX |
|
DSI(IX) |
- |
EX |
||
|
データロード |
rdbsloader |
DSI |
EX |
EX |
|
DSI(IX) |
SH |
EX |
||
|
データベース更新 |
rdbsuloader |
EX |
EX |
|
|
rdbsaloader |
EX |
EX |
||
|
rdbupt |
EX |
EX |
||
|
データアンロード |
rdbunl |
DSI |
SH |
- |
|
データベース 再編成 |
rdbgcdsi |
DSI |
EX |
EX |
|
DSI(IX) |
SH |
EX |
||
|
最適化情報更新 |
rdbups |
TBL |
SH |
- |
|
DSO |
SH |
- |
||
|
DSO(IX) |
- |
SH |
||
|
DSI |
SH |
- |
||
|
DSI(IX) |
- |
SH |
||
|
DSI使用状況出力 |
rdbudsi |
DSI |
SH |
- |
|
DSI(IX) |
- |
SH |
||
注)占有資源は以下のようになります。
応用プログラムで実行した場合:動作環境ファイルの実行パラメタ(DSO_LOCK)
の設定により、DSIまたはページのいずれかになります。
ユーティリティコマンドで実行した場合:DSIになります。
|
後行機能 |
定義操作のコマンド |
データ操作の |
データ操作の |
運用操作のコマンド |
|---|---|---|---|---|
|
定義操作の コマンド |
× 占有エラー |
× 占有エラー |
× 占有エラー (注1) |
× 占有エラー |
|
データ操作の |
× 占有エラー |
△ 占有待ち |
△ 占有待ち |
○ (注2) |
|
データ操作の |
× 占有エラー(注1) |
△ 占有エラー |
△ 占有エラー (注1) |
△ 占有エラー(注3) |
|
運用操作の コマンド |
× 占有エラー |
○ |
△ 占有エラー (注3) |
○ |
○:同時実行可能
△:参照/参照は同時実行可能。参照/更新は同時実行不可
×:同時実行不可
注1)違う資源に対する処理の場合でもディクショナリ資源の占有によるデッドロックが発生しエラーとなる場合があります。
注2)応用プログラムが更新処理のトランザクション中の場合、rdbdmpコマンドおよびrdbsetrpコマンドは、トランザクション終了まで待ちになります。
注3)rdbdmpコマンドと更新系のユーティリティコマンドは同時に実行できません。
表:Symfoware/RDBの同一資源に対する各機能の同時実行時の振る舞いで示した各機能の詳細を以下に示します。
rdbddlexコマンドまたは応用プログラムによる、Symfoware/RDBの各資源の定義/定義更新/定義削除の処理です。
rdbalidxコマンドはこの分類に属します。
SQL文によりデータベースのデータをアクセスする応用プログラムの処理です。
rdbuptコマンドはこの分類に属します。
データベースの初期化、創成、データの追加/更新、データの抽出または再編成を行うユーティリティコマンドの処理です。
以下のコマンドがあります。
rdbupsコマンドおよびrdbudsiコマンド(データベースの参照)はこの分類に属します。
以下の運用操作コマンドの処理です。
|
運用操作の分類 |
コマンド |
|---|---|
|
データベースの運用操作 |
|
|
データベースの保守・管理 |
|
|
データベースのバックアップ・リカバリ関連 |
|
|
ログ運用操作 |
|
|
データベースのチューニング |
|
|
性能情報出力 |
|
|
運用情報出力 |
|
目次
索引
![]()
|