2006-03-01から1ヶ月間の記事一覧

行連鎖と行移行

行連鎖と行移行。ややこしいのでまとめておく。 行連鎖 データサイズが大きすぎて一つのブロックに収まらず、複数のブロックに 分散されてデータが格納されていること。 ブロックサイズを大きくすることで、回避可能。どうしても無理な場合もある。 行移行 …

統計情報収集

うちの会社の運用しているシステムは、ほぼルールベースオプティマイザで 動いている。というか全部?仕事でコストベースさわったことない。。 だから、この機会に統計情報収集の方法を理解し解きます。 ANALYZEコマンド これは知ってた。けど2パターンある…

使っていない索引を調べる

システムによっては索引を無駄に作ってあって、一度も使用されたことがない索引がある場合もある。それを見つけるための手順をまとめておく。 ALTER INDEX インデックス名 MONITORING USAGE で監視開始 しばらく通常業務 V$OBJECT_USAGE で結果を確認(USERD…

ファイルI/Oのチューニング

フルスキャンのチューニング DB_FILE_MULTIBLOCK_READ_COUNT初期化パラメータで、 一度に読み込むデータブロック数を調整できる。 これを大きくすれば、フルスキャンは早くなる。 ただし、CBO(コストベースオプティマイザ)を使っている場合は、 フルスキャン…

SEの読書術

本屋で見つけて、役に立ちそうなんで衝動買いしました。 この業界で著名な人が、自分の読書感について語っています。 書かれていた内容の中で、これからの自分に役立てたいことは 洋書嫁 言語仕様書嫁 毎月嫁 わからなかったら、間を置いてから嫁 本を読んだ…

共有プールのチューニング2

共有プール続き。 データディクショナリキャッシュ データディクショナリから読み込まれたデータが、格納される。 キャッシュミスは、「V$ROWCACHE」で確認する。 ユーザーグローバル領域 セッションデータとカーソル情報のことをいう。 専用サーバ接続では…

共有プールのチューニング1

共有プール概要 一度利用したSQLやデータディクショナリ等を再利用するために確保しておく場所。 Oracle9iから、動的に値が変更できるようになったが、SGA_MAX_SIZEより大きい値は指定できない。 また、SGA_MAX_SIZEは静的パラメータなので、変更するには…