• ベストアンサー

ORACLE9i→11gにバージョンアップでアプリケーションの速度が下がる

Oracle9iを使用したアプリケーションのOracleのみ11gにバージョンアップしました。 OSはWindowsXP SP2 アプリケーションのほうはVB6.0SP6で作成したもので前と同じものです。 9iを使用していたときは、すぐに応答がある処理も、 11gの場合は、30秒待ってやっと応答するという具合です。 (どのSQLかまだ特定はできてないのですが、単純なSELECT文を使っているところやレコード移動で起こっている気がします) 11gになって、追加された機能とかのせいであれば、いらない機能なので、 OFFにしたりすれば早くなったりするのでしょうか? なにか思い当たることがあれば教えてください。

  • Yocha
  • お礼率96% (132/137)
  • Oracle
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • lond_nag
  • ベストアンサー率57% (4/7)
回答No.2

まず、大雑把でもボトルネック(遅くなっている原因)を突き止めましょう。 ネットワークなのか、DiskのIOなのか、特定の処理なのかSQLなのか。 記載された内容だけでは対象が広すぎてアドバイスも貰いにくいと 思います。 インフラ系は複雑なので、特定の操作しかした覚えがなくとも、 思わぬ所に弊害が出ていたりするものです。 9iから11iの変更でメモリやDiskの管理方法も大きく変わっている 点もあります。 Enterprise Manager を御使用であれば、GUIでもある程度のことは 判りますし、ORACLEには、この手の解析をするツールや手法の情報も 多く、OTNのドキュメント「2日でデータベース管理者」や 「2日でパフォーマンス・チューニング・ガイド」などを参考に、 もう少し頑張って解析されることをオススメします。 tyome2さんのおっしゃっているのは、SQL実行時の実行計画を立てる ためにデフォルトでは1時間置きに実行される統計情報収集(自動 ワークロード・リポジトリ(AWR))のことだと思いますが、あて ずっぽうを承知で言えば、例えば対象データが数万件程度の規模で SQLの実行時間が変わらないなら、LOGIN時のセッション確立 のためのコストのほうが怪しいと思います。 御参考までに。

Yocha
質問者

お礼

ありがとうございます。 使っているうちに前ほど応答が悪いことはなくなってきたようです。 それ以外の障害が起こったため、パフォーマンスの調査は別の人に お願いすることになったため、そのように伝えてみます。

その他の回答 (1)

  • tyome2
  • ベストアンサー率21% (28/132)
回答No.1

こんばんわ。 うる覚えですが、11gだと、「STATUSPACK」に似た機能があってどのSQLがパフォーマンスが悪いだとか判断する機能があったかと思います。 あと、旧システムのままのようですが、SQL文でヒント文など記述してませんか?

Yocha
質問者

お礼

ありがとうございます。 hint句は使っていますがごく一部です。 hint句は使うとまずいのでしょうか?

関連するQ&A

  • Oracle9iからOracle10gへ変更

    Oracle9iからOracle10gへデータベースを変えようとしています。 データベースのみの変更のためアプリには手を入れなくても動くだろうと安易に考えていますが 何か変更しなければいけないところ(例:ロジックやコントロール)はあるのでしょうか? [現在の環境] WindowsXPPro Oracle9i VB6 SP5 [今後の環境] WIndows7Pro Oracle10g VB6 SP5 補足) VBフォーム上にORADCコンポーネントを使用してグリッドにDB情報を表示しています。 このあたりのコントロールもそのまま使用することはできるのでしょうか? ご存知の方ご教授いただければと思います。

  • Oracle 9iで英字を含まないレコードの検索

    SQL初心者です。 oracle 9iの環境で「あるカラムに英字を含まないレコードを取得する」というのがあります。 私は10gを使用しているのでREGEXP_LIKE(カラム名_NO,'[A-Z]')とするつもりでした。 ところが9iはREGEXP_LIKEをサポートしていないということです。 ではどうすればできるのかというので困っています。 10gのselect文 select * from table_a where regexp_like(item_a,'[A-Z]') これを9i環境ではどのように記述すればよいのでしょうか?

  • oracle10gと9iの違いについて

    お世話様です。 最近、DBサーバをoracle9iからoracle10gに変えることになったのですが、 oracle9iで select LEVEL, 項目1, 項目2 FROM テーブル1 のSQLが動いていたのですが、 oracle10gでは、このSQLが動かなくなり、 connect by区を指定するようにエラーが出てくるようになってしまいました。 oracleのバージョンによって、動かなくなると言うことはあるのでしょうか? それともORACLEの設定を変更すると動くようになるのでしょうか。 ご教授よろしくお願い致します。

  • Oracle9i SQLについて

    Oracle9i SQLについて 環境:WinXP(SP3),Oracle9i,VB2005 受注のテーブルから未出荷で品番毎に一番早い納期の 受注数を取得したいのですが上手くいきません ご教授願います。 SQL出力結果イメージ 品番  納期   受注数 A 2010/06/01 6 B 2010/05/26 10 C 2010/05/24 1

  • Oracle 10g以降 ユーザーインターフェース

    質問いたします。 Oracle 10gの正規版(やすいもの)を買って Oracleを使用するつもりなのですが、 (1)グラフィカルユーザーインターフェース SQL Server 2000やAccessのような、SQL(SQLServerではSelect文) をGUIで作成できる機能はOracle10g以降では提供されているのでしょか? (会社ではOracleのDBは扱ったことはありますが、Accessからの リンクテーブルやVB.Netからのアクセスが主、直接は操作していません)あるいは、GUIインターフェースで操作できるものは Oracleではオプションで買うことになるのでしょうか? (2)日本語名 SQL Server 2000やAccessでは日本語名称が使用できますが、 MySQLやPostgresは英文字(日本語で作ったことがない)しかし要したことがありません。 Oracle 10g以降では日本語名称は使用できるでしょうか? ※おそらく、Unicodeかなんかの関係でタブーではあると思いますが。 よろしくお願いします。

  • ORACLE MASTER Silver 9i か 10g

    現在、サーバー管理系の仕事をしております。 会社の指示でORACLE MASTER Silverを取得しなければいけないことになりました。 バージョンは9iと10gのどちらでも良いのですが、出来るだけ早く取得しなければいけません。 現在では 10gの場合、Bronze SQL基礎→DBA10g→Silver DBA 10g 9iの場合、SQL、Oracle入門→DBAI のパターンがあると思いますが、一番簡単に取得する方法はどちらでしょうか?

  • アプリケーション毎に使用するバージョンを使い分ける

    オラクル9iを用いて開発されたクラインアント・サーバ型のアプリケーションAがあります。そして、オラクル10gを用いて開発されたクラインアント・サーバ型のアプリケーションBがあります。 AとBのサーバは異なるハードウェア上で動作しているのですが、同一のクライアントでAとBを動作させたいと思っています。 このクライアントにオラクルクライアント9iと10gを両方インストールし、Aからは9iを、Bからは10gを利用することは可能でしょうか? よろしくお願いします。

  • オラクルのバージョン

    会社にoracleの8iがあるのですが、使用したことはありませんでした。この度、勉強をはじめようと思い、「オラクルビギナーズガイド」を買いに行ったのですが、最新版が9iのようなので、9iを購入しました。しかし、考えてみると近々10gが発売されるようなので、うちの会社で仮に次に買うとしたら9iを飛ばして10gになると思われるので、9iの勉強をしても意味が無いような気がしてきました。この場合、8iのビギナーズガイドを買いなおしたほうがいいでしょうか?8iと9iで操作性などに大きな変更はありますでしょうか?ご教示ください。

  • オラクル10g,9iのクライアントを入れたましたが、oracleホームが一つしかありません。

    オラクルの10gクライアントが入っているところへ、 9iのクライアントをインストールしました。 VBの OracleInProcSever.XOraSession オブジェクトを使い、 .DbOpenDataBaseメソッド利用すると、 10gの設定を見ているようで、9iの方の設定は参照されません。 ツールのhome selector を利用してみると、 「オラクルホームが一つしかない」という感じの メッセージが表示されます。 レジストリでは、ホームの設定はoo4oの方だけ10g に設定されているようです。 何か、VBの中で9iのクライアントを利用するように設定する方法はありませんでしょうか? 10gで9iのDBにバインドした設定ができればいいのですが、接続したときにバージョンが違うといわれてしまいます。 宜しくお願い致します。

  • オラクル11gでMAXを使うとエラーになった。

    お世話になります。 WIN7 Oracle11g の環境で dim rs as new adodb.recordset sql = "select max(sal) from file_name where pcname= '" & PCN & "'" rs.open sql,cn,adopenstatic,adlockoptimistic を実行すると ora-00937 のエラーになってしまいます。 oracle9iでは、エラーにならなかったのですが、なにか変ったのでしょうか。 どなたかご教授頂ければ助かります。