Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

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

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

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

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

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

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

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

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

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

機能

コマンド

占有資源

論理

格納

物理

利用者認可
識別子

ROLE

DB

SCH

SEQ

TBL

RTN

TRG

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

EX

SH

EX

順序
定義

rdbddlex

CREATE
SEQUENCE

SH

SH

EX

順序
削除

rdbddlex

DROP
SEQUENCE

SH

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

EX

SH

EX

ビュー定義

rdbddlex

CREATE VIEW

SH

SH

EX

ビュー消去

rdbddlex

DROP VIEW

SH

SH

EX

ルーチン定義

rdbddlex

CREATE PROCEDURE

SH

SH

EX

CREATE
FUNCTION

SH

SH

EX

ルーチン削除

rdbddlex

DROP PROCEDURE

SH

SH

EX

DROP
FUNCTION

SH

SH

EX

トリガ定義

rdbddlex

CREATE TRIGGER

SH

SH

EX/SH
(注1)

EX

トリガ削除

rdbddlex

DROP TRIGGER

SH

SH

EX/SH
(注1)

EX

表定義変更

rdbddlex

ALTER TABLE

SH

SH

EX
(注2)

EX
(注2)

EX
(注2)

EX
(注2)

EX
(注2)

表交換

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
(注3)

EX
(注3)

EX

EX
(注3)

SH

EX
(注3)

CREATE DSI
(IX)

SH

SH

EX
(注3)

EX
(注3)

EX
(注3)

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

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
(注5)

EX
(注5)

EX
(注5)

SH

スコープ適用

rdbddlex

APPLY SCOPE

SH

EX

EX

スコープ解除

rdbddlex

RELEASE SCOPE

SH

EX

EX

スペース定義

rdbddlex

CREATE DBS

SH

EX

スペース消去

rdbddlex

DROP DBS

SH

EX

権限情
報定義

rdbddlex

GRANT (SCH)

SH

MOD

SH

MOD

GRANT (TBL)

SH

SH

MOD

SH

MOD

GRANT (DBS)

SH

MOD

SH

MOD

GRANT
(ROUTINE)

SH

SH

MOD

SH

MOD

GRANT (TRG)

SH

SH

MOD

SH

MOD

GRANT
(SEQUENCE)

SH

SH

MOD

SH

MOD

GRANT(ROLE)

SH

MOD

権限情
報削除

rdbddlex

REVOKE (SCH)

SH

MOD

SH

MOD

REVOKE (TBL)

SH

SH

MOD

SH

MOD

REVOKE (DBS)

SH

MOD

SH

MOD

REVOKE
(ROUTINE)

SH

SH

MOD

SH

MOD

REVOKE (TRG)

SH

SH

MOD

SH

MOD

REVOKE
(SEQUENCE)

SH

SH

MOD

SH

MOD

REVOKE(ROLE)

SH

MOD

利用者定義

rdbddlex

CREATE USER

EX

利用者変更

rdbddlex

ALTER USER

MOD

利用者削除

rdbddlex

DROP USER

EX

ロール定義

rdbddlex

CREATE ROLE

EX

ロール削除

rdbddlex

DROP ROLE

EX

パラメタ設定

rdbddlex

SET SYSTEM
PARAMETER

SH

MOD

最適化情報の設定

rdbddlex

SET STATISTICS
(TBL)

SH

SH

SH

MOD

MOD

MOD

MOD

SH

SET STATISTICS
(DSO IX)

SH

SH

SH

MOD

SH

SH

SET STATISTICS
(DSI)

SH

SH

SH

MOD

SH

SET STATISTICS
(DSI IX)

SH

SH

SH

MOD

SH

最適化情報の表示

rdbddlex

PRINT STATISTICS (TBL)

SH

SH

SH

SH

SH

SH

SH

SH

PRINT STATISTICS (DSO IX)

SH

SH

SH

SH

SH

SH

PRINT STATISTICS (DSI)

SH

SH

SH

SH

SH

PRINT STATISTICS (DSI IX)

SH

SH

SH

SH

SH

一時表
定義

rdbddlex

CREATE GLOBAL
TEMPORARY
TABLE

SH

SH

EX

SH

一時表
インデ
ックス
定義

rdbddlex

CREATE INDEX

SH

SH

EX

SH

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

SH

SH

SH

SH

SH

SH

SH

SH

SH

データベース再編成

rdbgcdsi

DSI

SH

SH

SH

DSI (IX)

SH

SH

SH

データベースの更新

rdbupt

SH

SH

SH

SH

SH

SH

SH

SH

SH

rdbsaloader

SH

SH

SH

SH

SH

SH

SH

SH

rdbsuloader

SH

SH

SH

SH

SH

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

データベーススペースの切離しおよび接続

rdbexspc

mdetach

MOD

mattach

MOD

mp

SH

RDBデ
ィレクトリファイルの切離しおよび接続

rdbexdir

 

機能

コマンド

占有資源

論理

格納

物理

利用者認可
識別子

ROLE

DB

SCH

SEQ

TBL

RTN

TRG

DSO

DSO
(IX)

DSI

DSI
(IX)

SCOP

DBS

応用プログラム
(動的SQL文あり)

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

応用プログラム
(動的SQL文なし)

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

RDBの起動

rdbstart

RDBの停止

rdbstop

RDBの動作確認

rdbchksanity

共用バッファプール

開設

rdbcrbf

閉鎖

rdbdrbf

対応登録

rdbconbf

SH

SH

SH

対応解除

rdbdisbf

SH

SH

SH

表示

rdbprtbf

DSIの常駐/常駐解除

rdbresident

SH

SH

SH

インデックス縮退

rdbalidx

SH

EX

定義情報のメモリ展開

rdbpldic

SH

SH

SH

RDBディクショナリの作成

rdbcrdic

RDBディクショナリの容量拡張

rdbaldic

RDBディクショナリの再配置

rdbgcdic

RDBディクショナリの領域の状況表示

rdbprdic

RDBディクショナリの復旧

rdbrcvdic

RDBディクショナリの退避データ作成

rdbdmpdic

性能監視

rdbsar

リカバリポイントの設定

rdbsetrp

コネクションの回収復旧・状態の表示

rdbterm

rdbcninf

SQL文の実行

rdbexecsql

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

SH

XA配下のリカバリ

rdbxarcv

XA配下のXID一覧表示

rdbprxid

RDBメッセージの表示(注4)

rdbprtmsg

リソースの登録、変更、表示、削除

rdbhsrsc

rdbpcrsc

ホットスタンバイの宣言・プレオープン情報出力

rdbhsuty

SH

SH

SH

Advanced Backup Controllerでの退避データの取得

rdbmrdmp

MOD

MOD

MOD

Advanced Backup Controllerで退避したリカバリ制御ファイルの表示

rdbmrinf

Advanced Backup Controllerでの退避データによる復旧

rdbmrrcv

MOD

MOD

MOD

ユーザロググループ用RDBディレクトリファイルの運用

rdbscldir

Textアダプタ定義の登録、削除、登録内容の表示

rdbtadef

eAccela BizSearchインデックス作成用定義ファイルの作成

rdbtais

-r all

SH

SH

SH

SH

SH

-r diff

DB : データベース

SCH : スキーマ

SEQ:順序

TBL : 実表

RTN : ルーチン

TRG : トリガ

DSO : 表のDSO

DSO(IX): インデックスのDSO

DSI : 表のDSI

DSI(IX): インデックスのDSI

SCOP : スコープ

DBS : データベーススペース

DIC : RDBディクショナリ

SH : 共有モード

MOD : 弱共有モード

EX : 非共有モード

- : 排他対象外

注1) ON句で指定した表をEXで排他します。被トリガSQL文で指定した表をSHで排他します。

注2) rdbddlexコマンドの準備モード(-lオプション)で列定義を追加した場合は、MODになります。

注3) rdbddlexコマンドの準備モード(-lオプション)で、分割運用を適用する表のDSIを定義した場合、またはインデックスのDSIを定義した場合は、MODになります。

注4) UNIX系でのみ使用可能です。

注5) 動的定義変更を行うためにrdbexdsiコマンドですべての人に対してDSIが運用から除外されている場合はSHとなります。

[表:占有の強の関係]

 

後続

EX

MOD

SH

先行

EX

×

×

×

MOD

×

×

SH

×

○:2つのプロセス間で、同一資源の多重処理が許されます。

×:2つのプロセス間で、同一資源の多重処理が許されません。

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

機能

コマンド

占有資源(注)

インデックス

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

参照処理

SH

SH

更新処理

EX

EX

DSI初期化

rdbfmt

DSI

EX

EX

DSI(IX)

SH

EX

データロード

rdbsloader

DSI

EX

EX

DSI(IX)

SH

EX

データベース更新

rdbsuloader

EX

EX

rdbsaloader

EX

EX

rdbupt

EX

EX

データアンロード

rdbunl

DSI

SH

-

rdbunlsql

SH

SH

データベース再編成

rdbgcdsi

DSI

EX

EX

DSI(IX)

SH

EX

最適化情報更新

rdbups

TBL

SH

-

DSO

SH

-

DSO(IX)

-

SH

DSI

SH

-

DSI(IX)

-

SH

注)占有資源は以下のようになります。

応用プログラムで実行した場合:動作環境ファイルの実行パラメタ(DSO_LOCKまたはR_LOCK)の設定により、DSI、ページ、レコードのいずれかになります。

ユーティリティコマンドで実行した場合:DSIになります。

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

 

後行機能

定義操作のコマンド

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

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

運用操作のコマンド

先行機能

定義操作のコマンド

×
占有待ち

×
占有エラー

×
占有エラー

×
占有エラー

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

×
占有エラー


占有待ち


占有エラー


(注1)

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

×
占有エラー


占有待ち
(注3)


占有エラー


占有エラー
(注2)

運用操作のコマンド

×
占有エラー


占有エラー
(注2)

○ : 同時実行可能

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

× : 同時実行不可

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

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

注3) 先行が更新系のユーティリティコマンドの場合、後行の応用プログラムは、利用規定されている旨のエラーとなります。更新系のユーティリティコマンドとは、rdbfmtコマンド、rdbsloaderコマンド、rdbsaloaderコマンド、rdbsuloaderコマンド、rdbgcdsiコマンドを示します。

 

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

定義操作

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

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

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

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

rdbuptコマン、rdbunlsqlコマンおよびrdbexecsqlコマンはこの分類に属します。

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

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

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

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

運用操作のコマンド

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

運用操作の分類

コマンド

データベースの運用操作

  • rdbinhコマン

  • rdbpmtコマン

  • rdbrtrコマン

  • rdbrlsコマン

  • rdbtermコマン

  • rdbhsutyコマンド

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

  • rdbalmdsiコマン

  • rdbexdsiコマンド

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

  • rdbdmpコマン

  • rdbmrdmpコマン

  • rdbdvinfコマン

  • rdbsetrpコマンド

ログ運用操作

  • rdblogコマン(アーカイブログ関連)

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

  • rdbcrbfコマン

  • rdbdrbfコマン

  • rdbconbfコマン

  • rdbdisbfコマン

  • rdbprtbfコマン

  • rdbpldicコマンド

  • rdbresidentコマンド

性能情報出力

  • rdbsarコマン

  • rdbpsコマン

  • rdblkinfコマンド

運用情報出力

  • rdbinfコマン

  • rdbprtコマン

  • rdbspcinfコマン

  • rdbprdicコマン

  • rdbmrinfコマン

  • rdbcninfコマン

  • rdbprtmsgコマン

  • rdbchksanityコマン

  • rdbprxidコマンド


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

All Rights Reserved, Copyright (C) 富士通株式会社 2003-2004