• 締切済み

Oracle10g キャッシュヒット率について

uresiiwaの回答

  • uresiiwa
  • ベストアンサー率45% (49/107)
回答No.2

1.SGA_MAX_SIZEの最適化 SGA割当が適切な設定値か、確認してみてください。 マシンの物理メモリと、Oracleにいくらまで使わせることができるか、により決まると思います。 Oracle以外にもメモリを使うので、vmstatコマンドなどで、Freeメモリを確認し、Freeが物理メモリの25%の値になるぐらいがぎりぎり一杯の設定値となります。大きすぎる値は設定しないように気をつけてください。 2.バッファキャッシュ利用効率が悪いSQLがいないか? たくさんメモリを割り当てても、効率の悪いSQLを乱発すると、いくらあっても足りなくなります。 とても効率が悪いSQLがいないかを確認し、いればチューニングしましょう。 1,2ともに実施しても足りない場合、物理メモリが足りないということになりますが、大抵はチューニングによって大幅に効率化できます。 効率の悪いSQL=遅いSQLと考えてほぼ差し支えなく、それを探す方法としてSTATSPACKレポートが簡単でお勧めですが、もっと簡単な方法としては、以下のような手順があります。 (1)アプリを一通り動かす(SQL実行統計情報を生成する) (2)以下のSQLで、バッファアクセスの激しいSQLを調べる select * from v$sql order by BUFFER_GETS desc; (elapsed_timeがSQLの実行経過時間(マイクロ秒)ですので、そっちを見てもよいです) >最終目的は、パフォーマンス最適化を目指していますが、そのために確認しておくべき内容および設定方法を教えてください(あるいは回答にマッチしたサイトがあれば)。sga_targetを攻略すれば達成できるのでしょうか? sga_targetだけで解決するものではなさそうに思いました。 キャッシュバッファがボトルネックとして現れている場合、SGAが少なすぎる(DBインスタンスの問題)の場合と、SQLがバッファを乱用しすぎている(アプリケーションの問題)がともに考えられ、後者である可能性のほうが一般的です。 また、チューニング順序としては、DBインスタンスチューニングよりもアプリチューニングのほうが順番としては先に行うべきものといえます。

yngwie0112
質問者

お礼

お礼が遅くなり申し訳ございません。 一旦、sga_targetを増やすことで90%以上のヒット率となりました。 その他のチューニングは、もう少し勉強してから行ってみたいと思います。 ありがとうございました。

関連するQ&A

  • 確認コマンド

    今までObject Browserに頼ってばかりだったのですが、 下記のような内容をコマンドで調べることは可能でしょうか? 主にOracle8i以上を使用しております。  空き表領域  空きエクステント数  デットロック数  SGA(バッファーキャッシュヒット率)  SGA(ディクショナリーヒット率)  SGA(ライブラリーキャッシュヒット率)  セッションのオープンカーソル率 お手数ですがよろしくお願い致します。

  • なぜoracle11gはlinux版から発売するのか

    Oracle11gの体験版がないかなと思いoracleサイトに行ってみて気づいたのですが、oracle11gってlinux版から発売でした。オラクルがlinuxに力をいれているのは知っていましたが、シェアからいくとウィンドウズ、Unixが圧倒的に多いと思います。それをなぜウィンドウズ版から発売するのではなく、linux版から発売したんでしょうか?

  • CentOsにoracle10g

    こんにちは。 タイトル通りなのですが、CentOSにoracle10gを入れたいと思っています。 CentOSのバージョンは4.3です。 超初心者なので、どうしたらいいのかまったくわからず RedHatにoracle9iをインストールする手順書が手元にあるので それに従ってやってみてもうまくいきません・・・。 LINUXに関してもoracleに関しても、ほとんど初めてさわった状態です。 用語もわからないのでネット検索しながらやっていますが、限界です・・・。 初心者でもわかるサイトとか、何か重要なポイントとか、 ありましたらお教えください。 せめて、CentOS4.3にoracle10gがインストールできるかどうか。 それだけでも知りたいです・・・。 よろしくお願いいたします。

  • EUCのORACLE10gデータベースに、ODBCにてACCESSで接続すると問題ありますか?

    このたび、社内のシステムでOracle10gが導入されまして、OSがRedhat Enterprise Linux v5で、Oracleは文字コードがEUCになるのですが、このデータベースに対して、ODBCを経由してMS ACCESSから接続したいと考えています。 この構成で、問題なく動作できるものでしょうか?既知の問題などありましたら、教えていただけますでしょうか。よろしくお願いします。

  • バッファ・キャッシュの変更方法

    基本的な質問かもしれませんが、 Oracle(9.2)のEnterpriseManagerコンソールで、 SGAのバッファ・キャッシュを大きくしたいのですが、 以下のようなメッセージが出て、変更できません。 どうしたら変更できるのでしょうか? いろいろ調べてみたのですが、わからなくて 困っています。どうかご教示の程、宜しく お願い致します。 「動的パラメータの適用に失敗しました。ORA-02097: 指定した値が無効なので、パラメータを変更でき ません。ORA-00384:キャッシュを大きくするには メモリーが足りません。」

  • Oracle10gインストール手順の質問です(Linux)

    HP-UNIXからLinuxへ移行作業をするのですが、 同時に、LinuxにOracle10gをインストールします。 LinuxとOracleのバージョンは以下のとおりです。  ・RedHat Linux Enterprise3  ・Oracle10g Database Relese2 <以降が質問内容です。> インストール作業で、シェル制限を行う手順があると思いますが、 その際、HP-UNIXの.chrcの内容をLinuxのcsh.loginにコピーして も、問題ないでしょうか。 コピーが問題なければ、コピー後に、シェル制限を行うロジックを Linuxのcsh.loginに追加しようと思っています。

  • 異なるOracleサーバ上のテーブルを結合する方法

    異なるOracleサーバ上のテーブルを結合する方法 IPアドレスが異なるOracleのテーブルを結合して出力したいのですが可能でしょうか?2つのテーブルをローカルにダウンロードして結合表示するとパフォーマンスが悪いので、2つのサーバから直接データをダウンロードしたいのです。2つのOracleサーバは読み取り権限しか与えられておらず、SELECT文ぐらいしか使えません。 Oracle 10G Windows 2003 Server

  • Windows XP Professional と Oracle 10g

    お世話になります。 WindowsにOracleソフトウェアをインストールする際には UNIXやLinuxと違って環境変数を指定しなくてもインストールできると聞きました。 そこで何の準備もせず、 ソフトウェアのインストールを開始し、 同時に初期データベースも作成して検証してみたのですが。。。 幾つか分からない動きをする部分があるのです。 ORACLE:Oracle Database 10g Release 1(10.1.0.2) OS :Windows XP Professional Version 2002 Service Pack2 Windowsのレジストリを確認したところ、 ORACLE_BASE、ORACLE_SID、NLS_LANGなど自動でちゃんと書き込まれていました。 しかしOEMのプロセス状況を確認しようとして コマンドプロンプトにて「emctl status dbconsole」などと入力すると 「Environment variable ORACLE_SID not defined. Please define it.」と出ます。 そこで「set」として確認したところ、 確かにORACLE_SIDは定義されておりませんでした。 もちろん「set ORACLE_SID=xxx」と入力してから 「emctl status dbconsole」などと入力すると、ちゃんと動くのですが。 どのようにすれば ORACLE_SIDを登録することができるのでしょうか。 もしや「.cshrc」のようなファイルがWindowsにもあるのでしょうか? お教え頂ければ幸いです。

  • ストアド実行でORA-4030エラー

    PACKAGE(ストアド)実行中に以下のエラー ORA-04030 XXバイトを割り当てようとしてプロセス・メモリーが不足)しました。 XXバイトは64KBぐらい 対処方法をどなたかご教示ください! (環境) OS:Red Hat Linux Advaced Server 2.1 Oracle9i Databese Release 2 SGA  物理メモリ:13GB  共有プール:512MB  バッファ・キャッシュ:256MB  ラージ・プール:128MB  Javaプール:160MB PGA 128MB

  • Linuxについて。

    Linuxについて。 サーバーをレンタルしようと考えているのですが、OSが「CentOS」と「Red Hat Enterprise Linux」がります。この二つは機能やパフォーマンス面で大きな違いがあるのでしょうか?