Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
目次 索引 前ページ次ページ

付録I アプリケーションおよび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 DATABASE

EX

データベース消去

rdbddlex

DROP DATABASE

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指定

MOD

DBS指定

MOD

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

監査ログデータの退避

rdbunladt

-mb

-mc

SH

SH

SH

SH

SH

監査ログエレメントの初期化

rdbunladt

-mb

-mf

SH

SH

SH

SH

SH

監査ログデータベース定義

rdbaudit

-c

EX

EX

EX

EX

EX

EX

EX

EX

監査ログデータベース削除

rdbaudit

-d

EX

EX

EX

EX

EX

EX

EX

EX

監査ログエレメントの追加

rdbaudit

-a

SH

SH

EX

EX

EX

EX

EX

EX

監査ログエレメントの切替

rdbaudit

-e

MOD

MOD

MOD

監査ログエレメントの表示

rdbaudit

-v

SH

SH

SH

SH

監査ログエレメントの復旧

rdbrcvadt

MOD

SH

アプリケーション
(動的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

システムの性能情報の表示

rdbpmreport

SQL文、アクセスプランの表示

rdbpmsqllist

パフォーマンスモニタの環境設定

rdbpmsetup

リカバリポイントの設定

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

Accela 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) SolarisおよびLinuxで使用可能です。

注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

監査ログデータの退避

rdbunladt

DSI

SH

-

監査ログエレメントの初期化

rdbunladt

DSI

EX

EX

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

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

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

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

 

後行機能

定義操作のコマンド

データ操作のアプリケーション

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

運用操作のコマンド

先行機能

定義操作のコマンド

×
占有待ち

×
占有エラー

×
占有エラー

×
占有エラー

データ操作のアプリケーション

×
占有エラー


占有待ち


占有エラー(注4)


(注1)

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

×
占有エラー


占有待ち
(注3)(注4)


占有エラー


占有エラー
(注2)

運用操作のコマンド

×
占有エラー


占有エラー
(注2)


(注5)

○ : 同時実行可能

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

× : 同時実行不可

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

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

注3) 先行が更新系のユーティリティコマンドの場合、後行のアプリケーションは、利用規定されている旨のエラーとなります。更新系のユーティリティコマンドとは、rdbfmtコマンド、rdbsloaderコマンド、rdbsaloaderコマンド、rdbsuloaderコマンド、rdbgcdsiコマンド、rdbunladtコマンド(mbオプションまたはmfオプション)を示します。

注4) rdbudsiコマンドおよびrdbupsコマンドとデータ操作のアプリケーションは、同時実行可能です。

注5) 以下の場合、同時実行は不可となります。

 

後行コマンド

rdbinh -i

rdbpmt -i

rdbrtr -i

rdbrls -i

rdbinf -i

rdbexdsi -i

先行コマンド

rdbinh -i

×

×

×

×

×

×

rdbpmt -i

×

×

×

×

×

×

rdbrtr -i

×

×

×

×

×

×

rdbrls -i

×

×

×

×

×

×

rdbinf -i

×

×

×

×

×

rdbexdsi -i

×

×

×

×

×

×

 

 

後行コマンド

rdbinh -p

rdbpmt -p

rdbrtr -p

rdbrls -p

rdbinf -p

rdbexdsi -p

先行コマンド

rdbinh -p

×

×

×

×

×

×

rdbpmt -p

×

×

×

×

×

×

rdbrtr -p

×

×

×

×

×

×

rdbrls -p

×

×

×

×

×

×

rdbinf -p

×

×

×

×

×

×

rdbexdsi -p

×

×

×

×

×

×

 

 

後行コマンド

rdbresident

先行コマンド

rdbalmdsi(容量拡張指定)

×

 

 

後行コマンド

rdbinf -i

先行コマンド

rdbgcdsi -E(容量拡張)

×

 

 

後行コマンド

rdbinf -p

先行コマンド

rdbgcdsi -c(拡張域返却)

×

 

 

後行コマンド

rdbinf -i

rdbinf -p

先行コマンド

rdbfmt -c(拡張域返却)

×

×

 

 

後行コマンド

rdbrtr -z

rdbrls -z

rdbinf -z

先行コマンド

rdbgcdic

×

×

×

 

 

後行コマンド

rdbudsi

先行コマンド

データ更新UTYコマンド

×

 

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

定義操作

rdbddlexコマンまたはアプリケーションによる、Symfoware/RDBの各資源の定義/定義更新/定義削除の処理です。

rdbalidxコマンはこの分類に属します。また、監査ログデータベースの作成/削除を行うrdbauditコマンもこの分類に属します。

データ操作のアプリケーション

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) 富士通株式会社 2007-2008