データベースについて調べてみた

データベースについて調べたことのメモ。Oracle要素多めになる予定。

SQLトレースを用いてSQL実行時の処理過程を調べてみた

システムのテスト工程などでSQLの性能試験を行った際に、SQLの実行計画は悪くないはずなのに、期待していたよりレスポンスが遅かったときなどに、何で遅いのか・何の処理過程で時間を消費しているのか調べたくなる時があります。 今回は、SQLトレースを用い…

参照整合性制約におけるインデックスの効果を調べてみた

最近携わっているシステムでOracle Databaseを使用しており、参照整合性制約(外部キー制約)の構成列に対してインデックスを作成する・しないの話が出ました。 参照整合性制約の構成列に対しては、インデックスを作成することを基本路線として考えた方がよい…

統合監査を使用するための設定などについて調べてみた

過去の記事でも書きましたが、Oracle Database 23cから従来型監査がサポートされなくなり、統合監査を使用しなければいけなくなりました。 今回は統合監査を使用するために必要な設定や、従来型における標準監査相当を行うための監査ポリシーの作成方法など…

SQLを書き換えないでSQLの実行計画を変更する方法について調べてみた

非効率な実行計画が選択されたことで、SQLの性能が悪かった場合、Oracle DatabaseではSQLにヒント句を付与することで、効率的な実行計画を選択させる手段を採ることが多いかと思います。 一方で、パッケージ製品が発行するSQLや、様々な事情によりアプリケー…

テーブル結合時のテーブルアクセスについて調べてみた

Oracle Databaseにはテーブルの結合方法として、以下の3つがあります。 ネステッドループ(Nested Loop)結合 ハッシュ(Hash)結合 ソート/マージ(Sort Merge)結合 Oracle Databaseをご存じの方は、結合結果の1件目を速く返却したい様な逐次処理ではネステッド…

スタンバイデータベースで統合監査がどうなるか調べてみた

Oracle Database 23cから従来型監査がサポートされなくなり、統合監査を使用しなければいけなくなりました。 従来型監査では監査レコードの出力先をOSファイルかDB内にするか選べたのですが、統合監査ではDB内にしか出力できなくなりました。ここで1つの疑問…

PDBを使ったテスト環境の作り方を調べてみた ~ その2 ~

前回に続き、プラガブルデータベース(PDB)を使って繰り返しテストで使用できる様な環境の構築手順について、纏めてみました。 前回は構築準備として、テスト環境のベースとなるPDBの構築手順で終わっていたので、今回はテスト用に繰り返し利用できるPDBの構…

PDBを使ったテスト環境の作り方を調べてみた ~ その1 ~

現在携わっている案件で、テスト環境のデータベース(Oracle Database)部分を設計することになり、プラガブルデータベース(PDB)を使って繰り返しテストで使用できる様な構成を検討した際に、OCI環境を使って構築手順を試したので、その結果を纏めてみました。

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その6~

前回に続き、Oracle Database19cと23cの隠しパラメータを比較した結果を纏めた最終回。今回は19cと比較して23cで新規に登場した隠しパラメータのうち、最後に残った_s~_zから始まる隠しパラメータを記載する。※19cとの比較による新規隠しパラメータの抽出で…

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その5~

前回に続き、Oracle Database19cと23cの隠しパラメータを比較した結果の纏め。今回は19cと比較して23cで新規に登場した隠しパラメータのうち、_l~_rから始まる隠しパラメータを記載する。※19cとの比較による新規隠しパラメータの抽出であるため、20c,21cで…

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その4~

前回に続き、Oracle Database19cと23cと比較して、23cで新規に登場した隠しパラメータのうち_g~_kで始まる隠しパラメータを記載する。※19cとの比較による新規隠しパラメータの抽出であるため、20c,21cで新規登場したものも23cでの新規として記載する。隠し…

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その3~

前回に続き、Oracle Database19cと23cの隠しパラメータを比較した結果のうち、23cで新規に登場した隠しパラメータについての纏め。新規登場のパラメータ数が1388個と非常に多いため、4回に分けて記載することとし、今回は_a~_fで始まる隠しパラメータを記載…

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その2~

前回に続き、Oracle Database19cと23cの隠しパラメータを比較した結果の纏め。今回はデフォルト値や設定範囲(ALTER SESSION/SYSTEM可否)、名称変更されたと思われる隠しパラメータを記載する。 ※文字数が多いためPCでの閲覧を推奨

Oracle19cと23cの隠しパラメータの差分について調べてみた ~その1~

前回はOracle Databaseの初期化パラメータについて19cと23cの比較を行ったが、19cと21cでもやった様に、今度は隠しパラメータの比較を行ってみた。

Oracle19cと23cの初期化パラメータの差分について調べてみた ~その2~

前回の続きで、Oracle Database19cと23cの初期化パラメータを比較して、23cで登場したパラメータを纏めてみた。 ※19cと比較しての新規であるため、20cから新規登場したパラメータも、23cで登場したものとして記載する。パラメータ数が多いため、PCでの閲覧推…

Oracle19cと23cの初期化パラメータの差分について調べてみた ~その1~

先日からOCIのOracle Base Database Serviceで、新しいロングタームリリースであるOracle Database 23cが選択できるようになっていたため、1つ前のロングタームリリースの19cと23cで初期化パラメータの差を調べてみた。

Oracle Autonomous DatabaseでAWRやアラートログの取り方を調べてみた

前回はOracle Autonomous Databaseの構築をしたが、Autonomous DatabaseではOS領域に直接アクセス(例:SSHでログイン、ファイルへのアクセス)できないことから、以下のやり方について疑問を持ったため、今回調べてみた。 AWRレポートの取得 アラートログの確…

OCIのOracle Autonomous Databaseを構築してみた

前回までは、Oracle Cloud Infrastructure(OCI)のOracle Base Database Serviceを自宅からインターネット経由で接続するまでの構築手順を調べたが、今回はOracle Autonomous Databaseの構築手順を調べてみた。

OCIのOracle Base Database Serviceを構築してみた ~その3~

前回に続き、Oracle Base Database Serviceを使用するまでの構成手順を紹介する。 コンパートメントの作成 仮想ネットワークの作成/設定 Oracle Base Database Serviceの作成 DBシステム情報 データベース情報 ← 今回はここの紹介 DBサーバへの接続 ← 今回は…

OCIのOracle Base Database Serviceを構築してみた ~その2~

前回に続き、Oracle Base Database Serviceを使用するまでの構成手順を紹介する。 コンパートメントの作成 仮想ネットワークの作成/設定 Oracle Base Database Serviceの作成 ← 今回はここの前半を紹介 DBサーバへの接続

OCIのOracle Base Database Serviceを構築してみた ~その1~

Oracle Cloud Infrastructure(OCI)を触れる機会があったので、今回はOracle Base Database Serviceを自宅からインターネット経由で接続できるようにするまでの構築手順を調べてみた。

IN句を含むSQLの実行計画を調べてみた

かなり前にOracle9iR2環境で、IN句を含んだSQLの性能問題に遭遇した時のことをふと思い出したので、そのときのSQLの実行計画を再現させて、色々調べてみた。

Oracle19cと21cの隠しパラメータの差分について調べてみた ~その5~

前回に続き、Oracle Database19cと21cの隠しパラメータを比較した結果の纏め。今回は19cと比較して21cで新規に登場した隠しパラメータのうち、_o~_zから始まる隠しパラメータを記載する。※19cとの比較による新規隠しパラメータの抽出であるため、20cで新規…

Oracle19cと21cの隠しパラメータの差分について調べてみた ~その4~

前回に続き、Oracle Database19cと21cと比較して、21cで新規に登場した隠しパラメータのうち_g~_nで始まる隠しパラメータを記載する。※19cとの比較による新規隠しパラメータの抽出であるため、20cで新規登場したものも21cでの新規として記載する。隠しパラ…

Oracle19cと21cの隠しパラメータの差分について調べてみた ~その3~

前回に続き、Oracle Database19cと21cの隠しパラメータを比較した結果のうち、21cで新規に登場した隠しパラメータについての纏め。新規登場のパラメータ数が625個と非常に多いため、3回に分けて記載することとし、今回は_a~_fで始まる隠しパラメータを記載…

Oracle19cと21cの隠しパラメータの差分について調べてみた ~その2~

前回に続き、Oracle Database19cと21cの隠しパラメータを比較した結果の纏め。今回はデフォルト値や設定範囲(ALTER SESSION/SYSTEM可否)、名称変更されたと思われる隠しパラメータを記載する。

Oracle19cと21cの隠しパラメータの差分について調べてみた ~その1~

前回はOracle Databaseの初期化パラメータについて19cと21cの比較を行ったが、今度は隠しパラメータについて同様の比較を行ってみた。

Oracle19cと21cの初期化パラメータの差分について調べてみた ~その2~

前回の続きで、Oracle Database19cと21cの初期化パラメータを比較して、21cで登場したパラメータを纏めてみた。 ※19cと比較しての新規であるため、20cから新規登場したパラメータも、21cで登場したものとして含む。

Oracle19cと21cの初期化パラメータの差分について調べてみた ~その1~

そろそろ次のロングタームリリースであるOracle Database 23cがリリースされるが、よく考えてみたら21cすら触ったことがなかったので、23cがリリースされた後に19cとの比較をする練習として、19cと21cの初期化パラメータの差を調べてみた。

データパッチにおけるUPDATE vs INSERT方式について調べてみた ~ その3 ~

前回は検証方法について記載したため、今回は検証結果について纏めた。 1.検証結果まとめ 検証結果は以下の通り。真面目にやるなら複数回実行して平均値を取って比較とかするところだが、面倒なので今回は1発勝負。