Open13

ロックとかトランザクション分離とか

DellgreenDellgreen
DellgreenDellgreen

共有ロックはSelectが終わったタイミングで解放しているふうに見受けられる

DellgreenDellgreen

Select発行直後にロックは解放されるんか

→READ COMITTEDはそう
→REPEATABLE READは共有ロックかかりっぱなし。トランザクション終了で解放。

DellgreenDellgreen
DellgreenDellgreen

非マルチテナント環境での複数データベース構築方法

1. マルチプルデータベース(別々のデータベース)

特徴

  • 個別のデータベースインスタンスを作成
  • 独立したSID(システム識別子)
  • 完全に分離された環境

作成コマンド例

dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname PROD1 -sid PROD1 \
-responseFile NO_VALUE \
-characterSet AL32UTF8

2. スキーマ単位の分離

特徴

  • 1つのデータベース内に複数のスキーマを作成
  • 論理的な分離
  • リソース共有が容易

スキーマ作成例

CREATE USER schema1 IDENTIFIED BY password;
CREATE USER schema2 IDENTIFIED BY password;
GRANT CONNECT, RESOURCE TO schema1, schema2;

3. 表領域による分離

特徴

  • 1つのデータベース内で複数の表領域を作成
  • 異なるアプリケーションやプロジェクト間の論理的分離
  • リソース管理が比較的容易

表領域作成例

CREATE TABLESPACE app1_data 
DATAFILE '/oradata/app1_data01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

CREATE TABLESPACE app2_data
DATAFILE '/oradata/app2_data01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

推奨事項

  • 用途と要件に応じて方法を選択
  • セキュリティ要件を考慮
  • リソース利用を最適化
  • バックアップ戦略を明確にする

注意: 各アプローチには利点と制限があるため、具体的な要件に基づいて最適な方法を選択してください。