sooni

oracle

V$SQLSTATS 共有プールからエージアウトしたSQLを確認する

以前「インスタンス起動してからのSQLを確認する」と記載していましたが、こちら誤りでした。V$SQLやV$SQLAREAで確認できなくなった後も確かに、V$SQLSTATSを見るとまだ情報が残っている事もありますが、決して「インスタンスが起...
oracle

統計情報が失効した(無効になった)事を確認する

一度取得された統計情報(表統計、索引統計)は10%を超えるレコード更新がされると無効(失効)になるのでこれを確認しました。注意点として、レコード更新がされ無効になるには少しタイムラグがあります。これを直ぐに反映するには DBMS_STATS...
oracle

Oracle REDOログスイッチの影響を検証する

検証に至った経緯 大量データ件数をもつ(今回の例では以下の通り約174万件、336M)のテーブルを単純にinsert&selectしたところ約65027ミリ秒(3回実施した平均)でした。「これ少し遅くない??」と調べてみると、ログスイッチが...
oracle

Oracle REDOログファイルグループの追加と既存ログファイルの拡張

現状確認 v$logとv$logfileで現状を確認する select group#, thread#, sequence#, bytes/1024/1024 M_bytes, members, status from v$log t or...
JDBC

実行可能JARファイルを作る際に躓いた件、、

久しぶりにJDBCドライバを使ってOracleへのアクセスをしたのですが、実行可能JARファイルを作成する際に苦労したのでこの記事書くこととしました。Eclipseからは正常にJDBCでアクセスできるのに、実行可能JARファイルからの実行で...
動的パフォーマンス・ビュー

V$SESSION 現在のセッション情報を確認する

「なんかおかしいから見てよ!」とか「ぜんぜんSQLが返ってこない!」とか言われてとりあえず、どんな状況なのかまずはV$SESSIONをとっかかりとして、見たくなります。いろいろ動的パフォーマンス・ビューを結合していますので以下簡単に解説しま...
JDBC

Oracle JDBC Thinドライバ接続URL

JDBC Thinドライバ接続URL 一般的にサービス名をスラッシュ(/)で区切った後に指定して接続していると思いますが、コロン(:)で区切るとインスタンス指定で接続する事ができます。 // サービス名指定での接続 jdbc:oracle:...
oracle

パッケージのコンパイル

開発環境あるあるなのですが、いつのまにかにパッケージのステータスがINVALIDになっている事があります。パッケージ内で使っているオブジェクト(テーブルが主ですね)の再作成(drop&create)等を行う事で発生し、都度コンパイルしてあげ...
データ・ディクショナリ

Oracle カラム一覧(テーブルのカラム情報)

DBA_TAB_COLS DBA_TAB_COLSはDBA_TAB_COLUMNSと異なり、非表示列(HIDDEN_COLUMN=YES)も保持しています。普段から何かとテーブルのカラム情報を確認する事がありまして、毎回必要な項目を探して打...
oracle

Oracle LONG型をVARCHAR型へ変換する

SQLだけでLONG型をVARCHAR2型へ変換する事はできないようです。LONGデータをTO_LOBファンクションで変換してCLOBカラムへINSERTします。そのCLOBをTO_CHARファンクションでVARCHAR型へ変換する。といったイレギュラーな方法をとらないと実現できません。