GAGA LIFE.

インフラエンジニアブログ

スポンサーリンク

2018-07-19から1日間の記事一覧

Oracle 問合せ変換(Query Transformation)

はじめに オプティマイザは、多数の問合せ変換を使用して、意味的には同等の新しいSQL文を生成します。 数あるOracleの問合せ変換について主要なものを整理しました。 以下でカテゴリ分けしています。 単純変換:No-brainer Transformations 集合と結合の変…

Oracle SQL言語~なぜ非効率な実行計画が選択され、SQLが性能劣化するのか~

概要 統計情報の必要性について自分なりに整理してみました。なぜ非効率な実行計画が選択され、SQL性能が悪くなるのかもあわせて考えてみました。DBAをしているとアプリケーションのご担当者や上層部への報告でこの点に関する説明を求められる機会が多いため…

Oracle EVENT 10053(CBOトレース)の出力内容について

概要 10053のトレースファイルの内容はあまり文書化されておらず、各リリース毎に変更されています。今回は、バージョン12.2の環境で取得したトレース内容を確認しています。 出力の概要 トレースには以下のようなセクションが表示されています。 セクション…

Oracle CBOトレース(10053)の取得

概要 CBOトレースの取得方法について記載します。event 10053は、CBO(Cost Base Optimizer)の動作をトレースするイベントです。CBOがどのような計算を行い、最終的にその実行計画を選択したのかを調査する際に有用です。主に、CBOが選択した実行計画が最適な…

Oracle アクセスパス

概要 Oracleのアクセス・パスについてまとめた内容を記載します。アクセス・パスは、データを取り出す方法のことです。 アクセス・パス一覧 分類 実行計画(Operation) 説明 Table TABLE ACCESS FULL 全表走査。HWM(High Water Mark)までの全てのブロックにア…

Oracle 実行計画の確認方法(DBMS_XPLAN.DISPLAY_CURSOR)

概要 SQLパフォーマンス調査で使用するDBMS_XPLANについてのまとめを記載します。 DBMS_XPLAN.DISPLAY_CURSORについて:過去にDatabaseで実行されたSQLの実行計画を確認することが可能です。 また、この機能を使用することでSQL文の実行計画とそのSQLを実行…

Oracle SQL解析の前提知識(SQL_ID/PLAN_HASH_VALUE/CURSOR)

概要 SQLや実行計画を解析する際の最低限知っておくべきと考える情報を記載します。 SQL_ID 各SQL文を識別するための文字列。Oracleは実行されたSQL文を13桁の「文字列」で管理しています。この文字列のことをがSQL識別子(SQL_ID)と呼ばれます。SQL_IDは、13…

Oracle 実行計画の取得方法の選択について

概要 Oracleで実行計画を取得する方法をまとめました。※普段は、SQLチューニング依頼を受けた場合にはDBMS_XPLAN.DISPLAY_CURSORを使用しています。 方法 EXPLAIN PLAN+DBMS_XPLAN AUTOTRACE(SQL*Plus) DBMS_XPLANパッケージ(CURSOR/AWR) 動的パフォーマンス…

スポンサーリンク