概要 12.2よりPDBレベルでAWRレポートを作成できるようになりました。 その方法を記載します。 手順 PDB レベルで awr_pdb_autoflush_enabled=true を設定する SQL> conn /as sysdba 接続されました。 SQL> show con_name CON_NAME ------------------------…
概要 19cより前のバージョンでは、SQL*Plusを使ってPluggable Database (PDB)に接続する際には以下の方法がありました tnsname.oraを設定し、リスナー経由で接続 CDB$ROOTからALTER SESSION SET CONTAINER文を実行し、接続 今回は、19cからPDBへのOS認証がサ…
概要 Oracle 18cまではヒント句の使用有無や記述の正誤を簡単に判断する方法はありませんでした。 これまでは、イベントの10053(CBOトレース)を取得し、出力されたトレース内の「Dumping Hints」というセクションで確認していました。 ただし、それも実際に…
INDEX SKIP SCAN 概要 INDEX SKIP SCANの概要について記載します。 INDEX SKIP SCAN INDEX SKIP SCAN(9i~)により第1キーが抽出条件に無くてもインデックスを使用する機能がありますが、この実行計画が選択される条件として 第1キーのカーディナリティが非…
概要 フラッシュバックログが見積もりより大きい場合、フラッシュバックに時間を要することがあります。 事前にDatapumpでデータをExportしている場合、表領域再作成⇒IMPDPの方が早い場合があるため、再作成の手順を整理しておきます。 現在の状況確認(DBは…
概要 表領域レベルの圧縮の動作を確認していきます。 マニュアル Oracle® Database 管理者ガイド 19c 13.2.4 デフォルト圧縮属性を持つ表領域 表領域の作成時に、表領域に作成されるすべての表と索引またはそれらのパーティションをデフォルトで圧縮するよう…
概要 表領域のフラッシュバックデータベースのONとOFFについて検証してみました マニュアル Oracle® Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c 7.5.1 フラッシュバック・データベースの有効化 ALTER DATABASEコマンドを使用して、フラッ…
概要 12.2から導入されたPDB レベルでフラッシュバックを実行する方法について説明します。 前提 ・本手順はローカルUNDOであることを前提にしています。 ローカル/共有の確認および有効化は下記で可能です。 UNDOモードの確認(TRUE:ローカルUNDO FALSE:共…
概要 ASM使用環境下でRMANでバックアップした場合などにバックアップセットのOSグループがasmadminグループとなります。 ※oracleユーザーの所属するグループは、asmadminグループには属していない # id oracle uid=54321(oracle) gid=54321(oinstall) groups…
データタイプANYDATAの参照方法 概要 Oracle Databaseには複数のデータ型(VARCHAR2、NUMBER等々)のデータを格納することができるANYDATAという特殊なデータ型が存在しています。 Oracle Database PL/SQLパッケージおよびタイプ・リファレンス 19c 272 ANYDAT…
概要 バインド変数を使用することで、大きく以下のようなメリットが得られます。 * 共有プールの節約 * SQLインジェクション対策になる バインド変数の関連箇所 バインド変数の使用 バインド変数の問題点 バインドピークとその問題点
概要 ハードパースとソフトパースについての解説 ハードパース 様々な実行計画を生成し、最適な実行計画を選択 統計情報が収集済みのとき(ソフトパース) * 統計情報を利用 * 統計情報:表、列、索引、システム 統計がない時or古い時(ハードパース) * 動…
概要 SQL文を実行した際のメモリ上の動作を説明 SQL実行時のメモリ上の動作 SQL文を発行した後、メモリ上では大きく以下のような流れとなる 1. SQLリクエストを受信 ↓ 2. カーソルのオープン ↓ 3. 実行計画の生成/再利用 ↓ 4. SQL文の実行 ↓ 5. カーソルのク…
概要 SQLや実行計画を解析する際の最低限知っておくべきと考える情報を記載します。 SQL_ID(SQL識別子) 意味 Oracleは実行されたSQL文を13桁の「文字列」で管理していますが、この文字列のことをSQL識別子(SQL_ID)と呼びます。 特徴 SQL識別子(SQL_ID)はSQL…
主な待機イベント一覧 Category Wait Class Event RAC Cluster gc cr/current (multi block) request Cluster gc cr/current grant 2-way Cluster gc cr/current block 2-way/3-way Cluster gc buffer busy acquire/release インターコネクト RACにはインタ…
主な待機イベント一覧 Category Wait Class Event I/O User I/O db file sequential read User I/O db file scattered read User I/O direct path read Commit log file sync System I/O db file parallel write Memory Configuration free buffer waits N/W…
待機イベント 待機イベントは、プロセスがCPUを使用できず、待機させられるイベントのこと。 待機の要因に基づき細分化されているため、この点を利用してパフォーマンス分析・チューニングの実施が可能 AWR/StatspackのDB CPUと待機イベントの関係性は以下の…
Oracle ヒント句 ヒント句 オプティマイザが適切な実行計画を選択してくれない、または不具合の影響等で性能要件を満たせない実行計画になることを抑止・安定化させる。 ただし、ヒントは融通が利かないため最終手段と考えるべき。 理由としてヒントで実行計…
SMCO スペース管理コーディネータープロセス(SMCO)は、事前のスペース割り当てやスペースの再利用など、さまざまなスペース管理タスクの実行をスケジュールするバックグラウンドプロセス。 SMCOは動的にスペース管理スレーブプロセス(Wnnn)を生成して、…
FBDA フラッシュバックデータアーカイバープロセス(FBDA)は、テーブルの存続期間中のトランザクションの変更を追跡および保存する機能を提供するバックグラウンドプロセス。 このようにして、テーブルをフラッシュバックして元の状態に戻すことができる。 …
RVWR リカバリライタープロセス(RVWR)は、データベース全体またはプラガブルデータベースをフラッシュバックするために使用されるバックグラウンドプロセス。 つまり、必要なフラッシュバックログがあれば、データベースの現在の状態から過去の時間までの…
CJQ0 ジョブキューコーディネータープロセス(CJQ0)は、データディクショナリから実行する必要があるジョブを選択し、ジョブキュースレーブプロセス(Jnnn)を起動してジョブを実行するバックグラウンドプロセス。 CJQ0は、Oracle Schedulerによって必要に…
ARCn アーカイバプロセス(ARCn)は、データベースがARCHIVELOGモードであり、自動アーカイブが有効な場合にのみ存在するバックグラウンドプロセス。 この場合、ARCnはオンラインREDOログファイルを自動的にアーカイブする。 ログライタープロセス(LGWR)は…
LGWR ログライタープロセス(LGWR)は、REDOログエントリをREDOログファイルに順次書き込むバックグラウンドプロセス。 REDOログエントリは、システムグローバルエリア(SGA)のREDOログバッファに生成される。 データベースに多重化REDOログがある場合、LGW…
RECO リカバリー・プロセス(RECO)は、分散データベースのネットワークまたはシステムの障害のために保留中の分散トランザクションを解決するバックグラウンド・プロセス。 RECOは、スレッドまたはオペレーティングシステムプロセスとして実行できる。
管理性監視プロセス(MMON)および管理性監視ライトプロセス(MMNL)は、自動ワークロードリポジトリ(AWR)に関連するタスクを実行するバックグラウンドプロセス。 AWRは、システム、セッション、個々のSQLステートメント、セグメント、およびサービスの累…
CKPT チェックポイントプロセス(CKPT)は、特定の時間にデータベースライタープロセス(DBWn)にメッセージを送信してチェックポイント要求を開始し、ダーティバッファーの書き込みを開始するバックグラウンドプロセス。 個々のチェックポイント要求が完了…
DBWn データベースライタープロセス(DBWn)は、主にデータブロックをディスクに書き込むバックグラウンドプロセス。 また、チェックポイント、ファイルオープン同期、ブロック書き込みレコードのロギングも処理する。 フラッシュキャッシュが構成されている…
SMON システムモニタープロセス(SMON)は、以下を含む多くのデータベース保守タスクを実行するバックグラウンドプロセス。 ・一時テーブルスペースのメタデータを作成および管理し、孤立した一時セグメントが使用していたスペースを再利用する。 ・UNDO領域…
LREG リスナー登録プロセス(LREG)は、インスタンス、サービス、ハンドラー、およびエンドポイントについてリスナーに通知するバックグラウンドプロセス。 LREGは、スレッドまたはオペレーティングシステムプロセスとして実行できる。 データベースインスタ…