Oracle では、select ステートメントを「v$recovery_file_dest」とともに使用して、Oracle アーカイブ ログをクエリできます。select ステートメントはデータベースからデータを選択するために使用され、構文は「select * from v$」です。リカバリファイル_dest」。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
アーカイブ ログのサイズと使用状況を確認する
select * from v$recovery_file_dest
例は次のとおりです。
SQL> select * from v$recovery_file_dest; NAME -------------------------------------------------------------------------------- SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES ----------- ---------- ----------------- --------------- /u03/fast_recovery_area 8589934592 6551817216 SQL> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE -------------------- ------------------ ------------------------- NUMBER_OF_FILES --------------- CONTROL FILE 0 0 0 REDO LOG 1.83 0 3 ARCHIVED LOG 74.44 0 159
アーカイブ ログが 90% を超えます。Oracle はいつでもそれを保持します。ダウンタイムの危険があります。
アーカイブ ログ領域を増やしてください。
SQL> alter system set db_recovery_file_dest_size=20G; System altered.
アーカイブ ログを削除してください。
1. その方法を見てください。現在、多くのアーカイブ ログが使用されています (割合による):
select * from v$flash_recovery_area_usage;
90% を超えると、いつでもダウンタイムが発生するリスクがあります
2. アーカイブ ファイルを削除した後、次のことを行う必要があります。 RMAN ツールを使用して、アーカイブによって占有されている領域を解放します。最初に RMAN ツール
rman target sys/pass
3 に接続します。アーカイブ ログ
crosscheck archivelog all;
4 を確認します。役に立たないと思われる場合は、削除してください今日のログを保持したい場合は、次のステートメント
delete expired archivelog all;(全部删除) delete archivelog until time 'sysdate - 1';(保留当天删除,删除之前所有)
を使用することもできます: $ORACLE_BASE/flash_recovery_area/yours インスタンス名/archivelog/ のパスでアーカイブ ログ ファイルを見つけ、不要なログ ファイルを削除します。もの
推奨チュートリアル: 「Oracle ビデオ チュートリアル」
以上がOracle アーカイブ ログをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。