1. ノーアーカイブログモードとは
ノーアーカイブログモードは、データベースのREDOログをアーカイブせずに上書きするモードです。このモードでは、アーカイブログが不要な環境(テスト環境など)でパフォーマンスを向上させる目的で使用されます。
データベースがノーアーカイブログモードの状態の場合、バックアップはデータベースを停止して実行する必要があります。
データベースを停止して行うバックアップを一貫性バックアップと呼びます。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
アーカイブログモードとの違い
| モード | アーカイブログ | バックアップ運用 |
|---|---|---|
| アーカイブログモード | REDOログをアーカイブする | ポイント・イン・タイムリカバリが可能 |
| ノーアーカイブログモード | REDOログをアーカイブしない | バックアップ取得時にデータベースの停止が必要 |
ノーアーカイブログモードでは、オンラインREDOログが上書きされるため、REDOログを使用した完全リカバリができません。そのため、データの保全が重要な本番環境では推奨されません。
2. ノーアーカイブログモードの設定方法
1. 現在のモードの確認
データベースがノーアーカイブログモードで動作しているかどうかは、以下のSQL文で確認できます。
SQL> SELECT LOG_MODE FROM V$DATABASE;
出力例:
LOG_MODE
---------
NOARCHIVELOG
もし「NOARCHIVELOG」と表示されていれば、ノーアーカイブログモードで動作しています。
2. ノーアーカイブログモードへの切り替え
アーカイブログモードからノーアーカイブログモードに変更するには、以下の手順を実施します。
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE NOARCHIVELOG;
SQL> ALTER DATABASE OPEN;
この操作により、データベースはノーアーカイブログモードに切り替わります。
3. ノーアーカイブログモードでのRMANバックアップ取得
ノーアーカイブログモードでは、バックアップの前にデータベースをマウント状態にする必要があります。
1. データベースのマウント
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT;
2. データベースのバックアップ取得
RMAN> BACKUP DATABASE;
または、バックアップを特定の場所に保存したい場合は、
RMAN> BACKUP DATABASE FORMAT '/backup_location/db_%U.bkp';
と指定します。
RMAN> SELECT LOG_MODE FROM V$DATABASE;
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
LOG_MODE
------------
NOARCHIVELOG ★ノーアーカイブログモード
RMAN> SELECT STATUS FROM V$INSTANCE;
STATUS
------------
OPEN ★オープン状態
RMAN> BACKUP DATABASE FORMAT '/u01/app/oracle/backup/db_%U.bkp'; ★バックアップ失敗
backupを25-02-22で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=104 デバイス・タイプ=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backupコマンドが02/22/2025 00:09:51で失敗しました
RMAN-06149: NOARCHIVELOGモードでデータベースをバックアップできません
RMAN> SHUTDOWN IMMEDIATE; ★停止
データベースがクローズしました
データベースがディスマウントされました。
Oracleインスタンスがシャットダウンしました
RMAN> STARTUP MOUNT; ★マウントで起動
ターゲット・データベースに接続しました(起動していません)。
Oracleインスタンスが起動しました
データベースがマウントされました。
システム・グローバル領域の合計は、 1543500120バイトです。
Fixed Size 8925528バイト
Variable Size 889192448バイト
Database Buffers 637534208バイト
Redo Buffers 7847936バイト
RMAN> BACKUP DATABASE FORMAT '/u01/app/oracle/backup/db_%U.bkp'; ★バックアップ
backupを25-02-22で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=37 デバイス・タイプ=DISK
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=/u01/app/oracle/oradata/V19/system01.dbf
入力データファイル ファイル番号=00003 名前=/u01/app/oracle/oradata/V19/sysaux01.dbf
入力データファイル ファイル番号=00004 名前=/u01/app/oracle/oradata/V19/undotbs01.dbf
入力データファイル ファイル番号=00005 名前=/u01/app/oracle/oradata/V19/rctbs01.dbf
入力データファイル ファイル番号=00007 名前=/u01/app/oracle/oradata/V19/users01.dbf
チャネルORA_DISK_1: ピース1 (25-02-22)を起動します
チャネルORA_DISK_1: ピース1 (25-02-22)が完了しました
ピース・ハンドル=/u01/app/oracle/backup/db_013ictk8_1_1_1.bkp タグ=TAG20250222T001048 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:36
backupを25-02-22で終了しました
Control File and SPFILE Autobackupを25-02-22で開始しています
ピース・ハンドル=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/c-2957249400-20250222-00 コメント=NONE
Control File and SPFILE Autobackupを25-02-22で終了しました
RMAN>
3. 制御ファイルとSPFILEのバックアップ
制御ファイルとSPFILEのバックアップも取得しておくことで、復旧時の安全性を高めることができます。
RMAN> BACKUP CURRENT CONTROLFILE;
RMAN> BACKUP SPFILE;
4. ノーアーカイブログモードでの注意点
- 定期的なフルバックアップを取得する
- バックアップ後に新しいデータが追加された場合、それを復元できない
- 重要なデータを扱う場合はアーカイブログモードの使用を検討する
- REDOログが利用できないため、障害時には最新のデータが失われる可能性がある
5. まとめ
ノーアーカイブログモードは、パフォーマンスを優先する環境やテスト環境に適しています。ただし、障害発生時に最新のデータが失われるリスクがあるため、本番環境では慎重に運用する必要があります。
また、ノーアーカイブログモードを利用する場合は、定期的なフルバックアップの取得と制御ファイル・SPFILEのバックアップを強く推奨します。
[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント