sql >> データベース >  >> RDS >> Oracle

Oracleで大規模なトランザクションを処理するにはどうすればよいですか?

    Oracleは、すべての結果セットにカーソルを作成し、結果セットを閉じるとカーソルを解放します(jdbc ResultSet.close()など)。適切に設計されたアプリケーションでは、セッションごとにデフォルトの50のオープンカーソルで十分です(一度測定すると、本番モードでは20を超えることはありません)。

    フェッチ後に結果セットを閉じるようにHibernateを作成する方法を確認する必要があります。一般に、実際に1000個のオープンカーソルが必要な場合、セッションで何をすべきか想像できません。 max_open_cursorsが1000セットを超えることは一度も見たことがないので、設計の悪いアプリケーションにも十分だと思います(ただし、実際には完璧に制限はなく、Hibernateを使用することもありません)。

    すべてのカーソルはある程度のメモリを意味するため、max_open_cursorsを増やすことはゼロ価格の回避策ではありません。



    1. mysqlで正しいinnodb_log_file_sizeを設定する

    2. ORACLE / ASP.NET:ORA-2020-データベースリンクが多すぎます...これの原因は何ですか?

    3. MySQLのローリングアップグレードを実行する方法

    4. SQL、参加に関する質問