oracle

oracle

Oracle 動的統計(動的サンプリング)

Oracle12cから動的統計と呼称するようになったそうです。ハードパースが行われる際、テーブルやインデックスの統計情報が存在しない又は古くなっている場合、自動的に統計情報をサンプリング(*1)し共有プールに格納され利用されます。通常の統計...
oracle

Oracle SPMベースライン登録

本番稼働後ふとしたきっかけでSQLの実行プランが変更してしまい急に遅くなってしまう事があります。本来であればアプリケーションから発行されるSQLを見直したり、ヒント句を入れて相応のパフォーマンスが出るようにすれば良いのですが、ソースに手を入...
oracle

SQL ordered by User I/O Wait Time (awrレポート)

先日開発環境では満足のいくパフォーマンスになったバッチ処理を検証環境にもっていって確認したところ全体的にひどい結果となっていました。どうせまた統計情報やヒストグラム情報取得ができておらずプランが変わったのだろうと思ったのですがいくつかSQL...
oracle

暗黙の型変換には注意

今日暗黙の型変換に関する部分で、バグを見つけたので紹介します。数値の先頭桁を0埋めしてchar型やvarchar2型で保持しているシーンは案外多いと思いますが、この項目に対して数値で検索すると意外な結果になる場合があるので注意してください。...
oracle

Oracle ストアドプログラム

ストアドプログラムとはPL/SQLという手続き型言語で記載したソースプログラムをOracleサーバへ登録(登録のタイミングでコンパイルがされる)して実行します。ストアドプログラムには大別してファンクション、プロシージャの2つがあります。スト...
oracle

待機イベントは待機イベントクラスを見て概要をつかみます

数多くある待機イベントはとても覚えきれるものではないですが、「待機イベントクラス」に分類されているのでこれをみれば概ねその意味はわかります。AWRレポートの「Top 10 Foreground Events by Total Wait Ti...
oracle

Oracle 動的パフォーマンスビューとデータディクショナリビュー

動的パフォーマンスVIEWOracleデータベースの「パフォーマンスに関する今を調べる」ためのビュー。データディクショナリはDiskに書かれて保存(静的)される事に対し、メモリにしか存在しない今の状態を確認できる(データベースが起動してから...
DDL

Oracle シノニムについて

シノニムとはオブジェクト(テーブル、view、プロシージャなど)につけた別名の事です。活用例としては、別スキーマが持っているオブジェクトを利用する際、通常はスキーマ名.オブジェクト名として利用するところシノニムを利用する事でスキーマ修飾を省...
oracle

インデックス対象カラム名がSYS_XXXと表示されて困る

インデックスの対象カラムを調べる際、dba_ind_columnsを参照しますよね。この時たまに"SYS_XXX"っていうカラム名が出てきて気になりませんか?select t.INDEX_NAME,t.TABLE_OWNER,t.TABLE...
oracle

Oracle 外部結合(ON句とwhere句の違い)

外部結合条件をON句で指定するのとwhere句で指定する場合の違い外部結合時の際に指定する条件をON句に指定する場合と、where句で指定した場合の違いを説明します。参考までにですが、内部結合(INNER JOIN)の場合どちらに指定しても...