タグ

ブックマーク / oha-yo.com (4)

  • Oracle統計情報について(正式にはオプティマイザ統計)

    統計情報とは 統計情報とはオプティマイザが正確な実行計画を作成するために必要な情報です。統計情報の収集方法は自動と動的、そして手動があります。基的には自動+動的に任せてフレッシュな状態を維持しておけば良いのですがイレギュラーに大量データの更新や追加が発生した時などは、手動での統計情報取得を実施しないとオプティマイザが正しいプランを選択されない場合が出てきます。 Oracleのサイトをみると統計情報には以下1~4の分類があり、これらをまとめて「オプティマイザ統計」と呼称するのが正しいようです。つまりオプティマイザが最適な実行計画を導出するためには以下4種類の統計情報がフレッシュな状況である必要があります。表統計の取得は行っているけど列統計(ヒストグラム)の取得がされていない事で適切な実行プランが選択されていないような事や、表統計の取得は出来ているように見えるも、実は失効していて利用されてい

    Oracle統計情報について(正式にはオプティマイザ統計)
  • SQLclのインストール

    2021/12/04追記 2021/07/01にあたらしいバージョン(21.2)がリリースされていたようです。早速インストールしてみましたが以下作業手順で問題なしです。以前はOTNへログインしないとダウンロードできませんでしたが現在はログインしなくとも誰でもダウンロードできます。 https://www.oracle.com/jp/tools/downloads/sqlcl-downloads.html SQL*Plusを初めて使った時、誰もが「なんて使い辛いんだ!」と思った事でしょう。しかしこの(後継機能と思われる)SQLclは随分よくなったようです。Javaで動作しているので、ログインした時など少し「もっさり」感じますが、個人的には、こちらに乗り換えてもOKです。SQL*Plusで最も不満であった、結果セットの表示レイアウトが「なかなか思うようにいかない」件も、ほぼ「set sqlfo

    SQLclのインストール
  • SQL Developerからのデバッグ

    デフォルトでは繋がりません デフォルトの状態(当環境はOracle12c)では利用できません。利用を試みた場合以下のようなエラーになります。 データベースvm013に接続中です。 PL/SQLの実行中: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( ‘192.168.3.8’, ‘52172’ ) ORA-01031: 権限が不足しています。 ORA-06512: “SYS.DBMS_DEBUG_JDWP”, 行68 ORA-06512: 行1 このセッションでは、DEBUG CONNECT SESSIONおよびDEBUG ANY PROCEDUREユーザー権限が必要です。 プロセスが終了しました。 データベースvm013から切断中です。 権限を付与します デバッグ実施ユーザに以下2つのシステム権限を付与します。 GRANT DEBUG CONNECT SESSION

    SQL Developerからのデバッグ
  • 表統計と列統計(ヒストグラム)の取得と削除確認

    DBMS_STATS.GATHER_TABLE_STATSで表統計と列統計を取得する 手動で表統計情報の取得を行うにはDBMS_STATS.GATHER_TABLE_STATS(プロシージャ)を使います。こちら勘違いされがちなのですが列統計(ヒストグラムの収集)の収集も同プロシージャにて行います。どのカラムを対象に列統計の取得を行うのかを METHOD_OPT パラメータで制御します。(ヒストグラムだけの取得はできません。ヒストグラムの収集には表統計の取得が伴います) 通常お勧めするOracle任せでの取得方法 Oracleは、かつて実行されてきたSQLをもとに取得すべき対象カラムを選別します。以下例では「METHOD_OPT」「CASCADE」パラメータを冗長的に指定していますが、それぞれのデフォルト値がFOR ALL COLUMNS SIZE AUTO、DBMS_STATS.AUTO_

    表統計と列統計(ヒストグラム)の取得と削除確認
  • 1