2

TLDR? 箇条書きにスキップします。

最近、バックエンドに Oracle 11g DB を使用したソリューションをテスト環境にデプロイしましたが、パフォーマンスが非常に悪く、システムが動作しません。低スペックの開発者の方がパフォーマンスが優れていました。環境。これは非常に多くのことが原因である可能性があることを理解していますが、Oracleのセットアップは、私が最も慣れていないコンポーネントであるため(そしてアイデアが不足しているため)、現在発砲ラインにあります.

DB は dbca を使用して作成されました。SQL Developer で DB に対して直接行われる単純な SELECT は問題ありませんが、多くの結合を伴う複雑なクエリを含む内部データ アクセス ドライバーを使用すると、パフォーマンスが低下します。ネットワーク遅延の問題はなく、データ アクセス コードは* 他の場所では問題ありません。

*少しおしゃべりですが、別の日の話です。

参考までに、情報をお願いします。以下について:

  • SQL Developer は、SYSTEM / SYSAUX のテーブルスペース使用率が 99% (それぞれ 710Mb / 600Mb) であることを示しています。これはパフォーマンスに影響を与える可能性がありますか?

  • SQL Developer は、TEMP テーブルスペースの使用量が NULL、割り当て済み NULL、使用済み NULL、空き 0、データファイル NULL であることを示しています。DB に対してクエリを実行して、一時ファイルが存在し、オンラインであることを示しました...一時ファイルを削除/再作成しましたが、データベースの管理画面では NULL と表示されます。これは正常な動作ですか?そうでない場合、これはパフォーマンスに影響を与える可能性がありますか?

前もって感謝します。

4

2 に答える 2

3

TLDR - スペースは問題ではありません。

  • SYSTEM および SYSAUX 表領域はおそらく問題ありません。

あなたの報告はおそらく誤解を招くものです。データ ファイルは、現在割り当てられている領域の 99% を使用している可能性があります。しかし、データ ファイルを見ると、はるかに大きな値に自動拡張できることがわかるはずです。たとえば、ほとんどがデフォルト設定のインストールでは、次のようになります。

select tablespace_name, round(bytes/1024/1024) current_mb,
    round(maxbytes/1024/1024) max_mb, autoextensible
from dba_data_files
where tablespace_name in ('SYSTEM', 'SYSAUX');

TABLESPACE_NAME  CURRENT_MB   MAX_MB  AUTOEXTENSIBLE
SYSAUX           2050         32768   YES
SYSTEM           810          32768   YES

ハードドライブがいっぱいでない限り、多くのスペースが残っている可能性があります。さらに、SYSTEM または SYSAUX スペースが本当に不足している場合は、多くのエラーがスローされます。たとえば、sys.aud$ がいっぱいだったためにログインできなかったり、データを書き込めなかった場合に統計収集で例外がスローされたりします。

12c バージョンの DBCA には、SYSAUX および SYSTEM テーブルスペースを設定するオプションさえありません。

  • 一時テーブルスペースはおそらく問題ありません。

完全に空の一時表領域は異常です。しかし、それは悪いことではありません。一時テーブルスペースは、メモリに十分なスペースがない場合に、並べ替えやハッシュなどに使用されます。システムが小さな OLTP クエリを実行し、十分なメモリがある場合、一時テーブルスペースは必要ありません。

繰り返しますが、DBCA では、必要に応じて一時表領域のサイズを小さくすることはできません。

于 2013-11-09T21:02:38.440 に答える
0

データベースのサイズが正しく設定されていないようです。パフォーマンスの問題を調べるには、statspack または awr を実行し、それぞれのレポートを調べます。さらに、レポートをオンラインで貼り付けて、確認できるようにします。

于 2013-11-09T17:54:59.750 に答える