PL/SQL

【PL/SQL】トランザクション分離レベル別の一貫性テストと検証パターン

OracleのREAD COMMITTED、SERIALIZABLE、READ ONLYを二セッションで検証し、ORA-08177、ORA-01555、UNDO、FOR UPDATE、再試行設計まで実務向けに整理します。
PL/SQL

【PL/SQL】パッケージ間依存を可視化するメタデータ解析(ALL_DEPENDENCIES活用)

OracleのALL_DEPENDENCIESでPL/SQLパッケージ・プロシージャ・ビューの依存関係を確認し、影響範囲、INVALID、再コンパイル順序を実務目線で整理します。
PL/SQL

【PL/SQL】実行計画と統計情報でSQL性能診断する方法|DBMS_XPLAN・A-Rows・SQLモニタ

PL/SQLとOracle SQLの性能診断を、DBMS_XPLAN、A-Rows/E-Rows、SQLモニタ、統計情報、バインド変数から実務手順で解説します。
PL/SQL

【PL/SQL】コードデプロイの自動化とEdition管理(CI/CD連携)

PL/SQLのコードデプロイをCI/CDへ組み込む方法を解説します。EBR、Editioning View、Crossedition Trigger、SQLcl実行順、品質ゲート、フェイルバックまで実務向けに整理します。
PL/SQL

【PL/SQL】テスト容易性を高めるプロシージャ設計とモック化手法

PL/SQLのプロシージャを自動テストしやすくする設計を解説します。外部依存の分離、モック化、Fake Clock、GTT、utPLSQL、権限とシノニム差し替えの注意点まで実務向けに整理します。
PL/SQL

【PL/SQL】DBMS_PARALLEL_EXECUTEによる大規模バッチの並列化戦略

PL/SQLでDBMS_PARALLEL_EXECUTEを使い、大規模UPDATEをチャンク分割して並列実行する方法を解説します。ROWID分割、RUN_TASK、TASK_STATUS、RESUME_TASK、監視SQL、権限、UNDO対策、再実行設計まで実務向けに整理します。
PL/SQL

【PL/SQL】マルチセッション環境での排他・同時実行制御の高度設計

PL/SQLのマルチセッション環境で必要な排他・同時実行制御を解説します。SELECT FOR UPDATE、SKIP LOCKED、DBMS_LOCK、楽観ロック、ORA-00054/00060/08177、再試行、監視SQLまで実務向けに整理します。
PL/SQL

【PL/SQL】例外をJSON形式で返すREST対応API設計

PL/SQLでREST/API向けに例外をJSON形式へ正規化する設計を解説します。Oracle 19cで動くJSON_OBJECTの書き方、ORA例外マッピング、ORDS公開、HTTPステータス、相関ID、監査ログまで実務向けに整理します。
PL/SQL

【PL/SQL】仮想列とトリガーの整合性設計|制約との使い分け・mutating table・監査

Oracleの仮想列とPL/SQLトリガーは、どちらもデータ整合性をデータベース側に寄せるための仕組みです。ただし、同じ目的で使うものではありません。仮想列は同じ行から計算できる派生値、制約は単純な禁止ルール、トリガーは副作用や監査、複数列更新の補正に使います。この記事では、制約との使い分け、mutating table、compound trigger、監査、INVALID対策、本番チェックまで整理します。
PL/SQL

【PL/SQL】Result Cacheとマテリアライズドビュー併用戦略|鮮度SLA・QUERY REWRITE・監視

Result Cacheとマテリアライズドビューは、どちらも重い処理を再利用して速くする仕組みですが、守備範囲が違います。MVは重い集合処理や集計を前計算し、Result Cacheは同じ引数で何度も呼ばれるPL/SQL関数やSQL結果の再計算を抑えます。この記事では鮮度SLA、QUERY REWRITE、DBMS_MVIEW、V$RESULT_CACHE、更新運用、監視、避ける設計まで実務目線で整理します。
PL/SQL

【PL/SQL】例外設計と再試行パターン|一時障害・冪等性・SAVEPOINT・DBMS_SCHEDULER

大規模PL/SQLでは、例外を握りつぶすのではなく、再試行できる一時障害と即失敗すべき恒久障害に分け、冪等性、部分ロールバック、監査ログ、ジョブ再実行を含めて設計する必要があります。
PL/SQL

【PL/SQL】インストゥルメンテーション設計|DBMS_APPLICATION_INFO・ログトレース

PL/SQLの障害対応と性能調査を楽にするには、ログ、トレース、監査、メトリクスを分けて設計し、相関ID、MODULE/ACTION、CLIENT_IDENTIFIER、エラー情報を一貫して残す必要があります。
PL/SQL

【PL/SQL】ユーザー定義集計関数の作り方|ODCIAggregate・CLOB対応・並列実行

Oracleのユーザー定義集計関数は、ODCIAggregateインターフェースを実装したオブジェクト型をSQL集計関数として登録する仕組みです。LISTAGGで足りない集約、CLOB集約、独自統計、JSON配列化などの実装に使えます。
PL/SQL

【PL/SQL】権限分離とセキュリティパッケージ設計|Invoker Rights・直接GRANT・RLS

PL/SQLで最小権限と実装効率を両立するには、DATAスキーマとAPIスキーマを分け、読み取りはInvoker Rights、更新はSecure Definer、共通条件はセキュリティコンテキストやRLSへ寄せる設計が有効です。
PL/SQL

【PL/SQL】依存オブジェクトとINVALID再コンパイルの制御|USER_DEPENDENCIES・UTL_RECOMP

PL/SQLのデプロイでは、パッケージ仕様、型、ビュー、権限、シノニムの変更によって依存オブジェクトがINVALID化します。影響範囲の確認、再コンパイル順序、エラー診断、デプロイ後の収束手順を整理します。
PL/SQL

【PL/SQL】カーソルキャッシュとメモリ管理|OPEN_CURSORS・ORA-01000対策

PL/SQLで大量トランザクションや動的SQLを扱う場合、ハードパースを減らし、開いたカーソルを漏らさず閉じ、PGAを圧迫しないフェッチ設計にすることが重要です。
PL/SQL

【PL/SQL】大量データ処理のコミット頻度とUNDO最適化|チャンク設計・ORA-01555対策

PL/SQLで大量データを更新・投入するときは、COMMITを細かく刻めば安全というわけではありません。UNDO、REDO、再実行、ロック、長時間SELECTとの干渉を踏まえて、業務キーや期間でチャンクを設計する必要があります。
PL/SQL

【PL/SQL】トランザクション設計パターン|COMMIT境界・ロック・再処理まで

PL/SQLでデータ整合性を守るには、COMMIT/ROLLBACKの書き方だけでなく、処理単位、ロック順序、部分失敗、監査ログ、再実行、バッチ再処理まで含めて設計する必要があります。この記事では実務で使うトランザクション設計パターンを整理します。
PL/SQL

【PL/SQL】OBJECT TYPEとメンバーメソッドの使い方|MAP・継承・ネスト表まで

Oracle PL/SQLのOBJECT TYPEとメンバーメソッドを使った設計を解説。TYPE BODY、SELF、コンストラクタ、MAP/ORDERメソッド、継承、FINAL/NOT FINAL、ネスト表、メタデータ確認、使うべき場面と避けるべき場面まで整理します。
PL/SQL

【PL/SQL】パッケージ仕様と本体の分離設計|依存関係・再コンパイル・デプロイ順序まで

PL/SQLパッケージの仕様と本体を分離して保守性を高める設計を解説。公開API、private実装、依存関係、再コンパイル、ACCESSIBLE BY、AUTHID、package state、ORA-04068、デプロイ順序まで整理します。