Oracle でバイナリログを確認する方法
OracleではMySQLのbinlogログに相当するものは存在しません。Oracleではアーカイブログ(Archive Log)でデータベースに対する全ての変更操作を記録しています。アーカイブログを利用することで時点時点でのデータベースへのリストアや、うっかり削除してしまったデータの復旧などを行うことができます。
Oracleデータベースのアーカイブログを確認するには、次の方法を使用できます。
- SQL*Plusコマンドラインツールを使ってデータベースに接続する:
- sqlplus username/pass@database
- アーカイブモードが有効になっているか確認します。これにより、データベースはアーカイブログファイルを自動的に作成し、指定した場所に格納することができます。
- SQL > v$databaseからlog_modeを選択
- 結果がARCHIVELOGであればアーカイブモードが有効になっています。結果がNOARCHIVELOGであればアーカイブモードを有効にする必要があります。
- アーカイブログの格納場所を見る:
- SQL> SELECT dest_name, status FROM v$archive_dest WHERE status = ‘有効’
- アーカイブログ格の格納場所と状態が表示されます。
- 最近のアーカイブログファイル一覧を表示します。
- SQL> SELECT sequence#, first_change#, next_change# FROM v$archived_log ORDER BY sequence# DESC;
- 最近生成されたアーカイブログファイルのシーケンス番号、最初の変更番号、次の変更番号が一覧表示されます.
- 指定された期間のアーカイブログファイルのリストを表示します:
- SQL> SELECT sequence#, first_change#, next_change# FROM v$archived_log WHERE completion_time BETWEEN TO_DATE(‘2022-01-01 00:00:00’, ‘YYYY-MM-DD HH24:MI:SS’) AND TO_DATE(‘2022-01-31 23:59:59’, ‘YYYY-MM-DD HH24:MI:SS’) ORDER BY sequence#;
- 指定した時刻範囲でアーカイブされたログファイルのシーケンス番号、最初の変更番号、および次の変更番号をリストします。
アーカイブログの格納場所と問い合わせ方はOracleのバージョンや構成によって異なる場合があるのでご注意ください。上述の問い合わせ文はご自身の状況に合わせて調整してください。