Symfoware Parallel Server RDBユーザーズガイド データベース定義編
目次 索引 前ページ次ページ

付録F 応用プログラムおよびRDBコマンド間の排他

データベースの同一資源に対して、応用プログラムおよびRDBコマンドが同時に動作した場合に、それぞれの処理を矛盾なく実行するために、Symfoware/RDBが排他制御を行います。

表:Symfoware/RDBの各機能ごとの占有資源と占有の強さ(ディクショナリ資源の占有)および表:Symfoware/RDBの各機能ごとの占有の資源と占有の強さ(データベース資源の占有)に、各機能が排他する資と排他の強さを示します。

また、表:占有の強さの関係に排他の強さの関係を示します。

各機能はオプションや入力データで指定された資源を排他して処理を行います。資源を排他する期間は次のとおりです。

資源の占有を行うことによって、各機能を同時に実行した場合、資源の占有エラーとなったり、資源の占有が解除されるまで待ちに入ったりする場合があります。

同一資源に対して各機能を同時に実行した場合の振る舞いについて、表:Symfoware/RDBの同一資源に対する各機能の同時実行時の振る舞いに示します。ただし、以下の処理については、資源の占有に関係なく同一資源に対して他の機能と同時に実行することはできません。

rdbdmpdicコマンおよびrdbprdicコマンは他の機能と同時実行可能ですが、定義操作との同時実行においては占有エラーとなる場合があります。

[表:Symfoware/RDBの各機能ごとの占有資源と占有の強(ディクショナリ資源の占)]

機能

コマンド

占有資源

論理

格納

物理

利用者認可識別子

DB

SCH

TBL

PROC

DSO

DSO
(IX)

DSI

DSI
(IX)

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 ROCEDURE

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

DSI

SH

SH

SH

SH

SH

SH

SH

SH

DSI (IX)

SH

SH

SH

SH

SH

SH

SH

SH

データアンロード

rdbunl

DSI

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つのプロセス間で、同一資源の多重処理が許されません。

[表:Symfoware/RDBの各機能ごとの占有の資と占有の強(データベース資源の占)]

機能

コマンド

占有資源(注)

インデックス

応用プログラム(データベースのデータ操作)

参照処理

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になります。

[表:Symfoware/RDBの同一資源に対する各機能の同時実行時の振る舞]

後行機能

先行機能

定義操作のコマンド

データ操作の 応用プログラム

データ操作の ユーティリティコマンド

運用操作のコマンド

定義操作のコマンド

×

占有エラー

×

占有エラー

×

占有エラー

(注1)

×

占有エラー

データ操作の応用プログラム

×

占有エラー

占有待ち

占有待ち

(注2)

データ操作のユーティリティ コマンド

×

占有エラー

(注1)

占有エラー

占有エラー

(注1)

占有エラー

(注3)

運用操作のコマンド

×

占有エラー

占有エラー

(注3)

○:同時実行可能

△:参照/参照は同時実行可能。参照/更新は同時実行不可

×:同時実行不可

注1) 違う資源に対する処理の場合でもディクショナリ資源の占有によるデッドロックが発生しエラーとなる場合があります。

注2) 応用プログラムが更新処理のトランザクション中の場合、rdbdmpコマンドおよびrdbsetrpコマンドは、トランザクション終了まで待ちになります。

注3) rdbdmpコマンドと更新系のユーティリティコマンドは同時に実行できません。

表:Symfoware/RDBの同一資源に対する各機能の同時実行時の振る舞いで示した各機能の詳細を以下に示します。

定義操作

rdbddlexコマンまたは応用プログラムによる、Symfoware/RDBの各資源の定義/定義更新/定義削除の処理です。

rdbalidxコマンはこの分類に属します。

データ操作の応用プログラム

SQL文によりデータベースのデータをアクセスする応用プログラムの処理です。

rdbuptコマンはこの分類に属します。

データ操作のユーティリティコマンド

データベースの初期化、創成、データの追加/更新、データの抽出または再編成を行うユーティリティコマンドの処理です。

以下のコマンドがあります。

rdbupsコマンおよびrdbudsiコマン(データベースの参照)はこの分類に属します。

運用操作のコマンド

以下の運用操作コマンドの処理です。

運用操作の分類

コマンド

データベースの運用操作

  • rdbinhコマンド

  • rdbpmtコマンド

  • rdbrtrコマンド

  • rdbrlsコマンド

データベースの保守・管理

  • rdbalmdsiコマンド

  • rdbexdsiコマンド

データベースのバックアップ・
リカバリ関連

  • rdbdmpコマンド

  • rdbdvinfコマンド

  • rdbsetrpコマンド

ログ運用操作

  • rdblogコマンド

データベースのチューニング

  • rdbcrbfコマンド

  • rdbdrbfコマンド

  • rdbconbfコマンド

  • rdbdisbfコマンド

  • rdbprtbfコマンド

  • rdbpldicコマンド

性能情報出力

  • rdbsarコマンド

  • rdbpsコマンド

  • rdblkinfコマンド

運用情報出力

  • rdbinfコマンド

  • rdbprtコマンド

  • rdbspcinfコマンド

  • rdbprdicコマンド

  • rdbprtmsgコマンド



目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006