ドキュメント読んでも理解に時間がかかるので、Recovery Manager(RMAN)使用して試しにOracle Database 19cのデータベースをバックアップしようとしたらいきなりの躓き(笑
環境
・Red Hat Enterprise Linux release 8.5 (Ootpa)
・Kernel 4.18.0-348.7.1.el8_5.x86_64
・oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
・oracle-database-ee-19c-1.0-1.x86_64.rpm
・開発環境、GNOME環境、日本語入力インストール
・Subscription登録
参考サイト1
Oracle® Database バックアップおよびリカバリ・リファレンス 19c
F16120-02(原本部品番号:E96242-02) 2021年3月
https://docs.oracle.com/cd/F19136_01/rcmrf/index.html
参考サイト2
【Oracle 19c】RMANを使ってオンラインバックアップを取得【手順】
https://souiunogaii.hatenablog.com/entry/Oracle-RMANbackup
参考サイト3
How to Resolve RMAN-06149: cannot BACKUP DATABASE in NOARCHIVELOG mode
https://logic.edchen.org/how-to-resolve-rman-06149/
バックアップ対象はスクリプトで作成したデータベースORCLCDBです。
- RMANの起動
- 現行のCONFIGURE設定を表示
- バックアップ
- ARCHIVELOG modeに変更
- データベース・ログ・モードの確認
- DB停止
- DBマウント
- ARCHIVELOG modeに設定
- DB開始
- 確認
- backup database
- バックアップファイルの一覧
1 2 3 4 5 6 7 |
[oracle@rhel8 ~]$ rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. ターゲット・データベース: ORCLCDB (DBID=2865198415)に接続されました RMAN> |
接続に失敗する場合は$ORACLE_SIDの設定, データベースの起動を確認して下さい。
1 2 3 4 5 6 7 |
[oracle@rhel8 ~]$ rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> |
以下、RMAN commandを参考に
表1-1 Recovery Managerコマンド
https://docs.oracle.com/cd/F19136_01/rcmrf/about-rman-commands.html#GUID-5439AD1C-7BDD-4271-A320-B7657DC996D5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
RMAN> show all; リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています db_unique_name ORCLCDBのデータベースにおけるRMAN構成パラメータ: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/oracle/product/19c/dbhome_1/dbs/snapcf_ORCLCDB.f'; # default |
“NOARCHIVELOGモードでデータベースをバックアップできません”と。
1 2 3 4 5 6 7 8 9 10 11 |
RMAN> backup database; backupを22-01-14で開始しています リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています チャネル: ORA_DISK_1が割り当てられました チャネルORA_DISK_1: SID=267 デバイス・タイプ=DISK RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: backupコマンドが01/15/2022 14:37:52で失敗しました RMAN-06149: NOARCHIVELOGモードでデータベースをバックアップできません |
参考サイト3によると
If we’re in ARCHIVELOG mode, then we can backup the database with open READ WRITE. That is, we backup the database while it is running and changing every second. It results an inconsistent backup of data files inside. Even though, the gaps among data files in the backup can be filled by necessary archived logs, which turns this backup into a consistent one. So we don’t have to worry about it. This is an effective backup.
ARCHIVELOGモードであればDBがREAD WRITEでopenしていてもデータに一貫性のあるバックアップができて効果的だと。
sqlplusで接続します。
非アーカイブ・モードです。
1 2 3 4 5 6 |
SQL> archive log list; データベース・ログ・モード 非アーカイブ・モード 自動アーカイブ 使用禁止 アーカイブ先 /opt/oracle/product/19c/dbhome_1/dbs/arch 最も古いオンライン・ログ順序 6 現行のログ順序 8 |
1 2 3 4 |
SQL> shutdown immediate データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 |
1 2 3 4 5 6 7 8 9 |
SQL> startup mount ORACLEインスタンスが起動しました。 Total System Global Area 4982831824 bytes Fixed Size 9145040 bytes Variable Size 939524096 bytes Database Buffers 4026531840 bytes Redo Buffers 7630848 bytes データベースがマウントされました。 |
1 2 3 |
SQL> alter database archivelog; データベースが変更されました。 |
1 2 3 |
SQL> alter database open; データベースが変更されました。 |
“アーカイブ・モード”に変更できました。
1 2 3 4 5 6 7 |
SQL> archive log list; データベース・ログ・モード アーカイブ・モード 自動アーカイブ 有効 アーカイブ先 /opt/oracle/product/19c/dbhome_1/dbs/arch 最も古いオンライン・ログ順序 6 アーカイブする次のログ順序 8 現行のログ順序 8 |
rmanで接続します。バックアップできたようです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
RMAN> backup database; backupを22-01-15で開始しています リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています チャネル: ORA_DISK_1が割り当てられました チャネルORA_DISK_1: SID=268 デバイス・タイプ=DISK チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています 入力データファイル ファイル番号=00001 名前=/opt/oracle/oradata/ORCLCDB/system01.dbf 入力データファイル ファイル番号=00003 名前=/opt/oracle/oradata/ORCLCDB/sysaux01.dbf 入力データファイル ファイル番号=00004 名前=/opt/oracle/oradata/ORCLCDB/undotbs01.dbf 入力データファイル ファイル番号=00007 名前=/opt/oracle/oradata/ORCLCDB/users01.dbf チャネルORA_DISK_1: ピース1 (22-01-15)を起動します チャネルORA_DISK_1: ピース1 (22-01-15)が完了しました ピース・ハンドル=/opt/oracle/product/19c/dbhome_1/dbs/010jmad5_1_1 タグ=TAG20220119T145845 コメント=NONE チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:15 チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています 入力データファイル ファイル番号=00010 名前=/opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf 入力データファイル ファイル番号=00009 名前=/opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf 入力データファイル ファイル番号=00011 名前=/opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf 入力データファイル ファイル番号=00012 名前=/opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf チャネルORA_DISK_1: ピース1 (22-01-15)を起動します チャネルORA_DISK_1: ピース1 (22-01-15)が完了しました ピース・ハンドル=/opt/oracle/product/19c/dbhome_1/dbs/020jmadk_1_1 タグ=TAG20220119T145845 コメント=NONE チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07 チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています 入力データファイル ファイル番号=00006 名前=/opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf 入力データファイル ファイル番号=00005 名前=/opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf 入力データファイル ファイル番号=00008 名前=/opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf チャネルORA_DISK_1: ピース1 (22-01-15)を起動します チャネルORA_DISK_1: ピース1 (22-01-15)が完了しました ピース・ハンドル=/opt/oracle/product/19c/dbhome_1/dbs/030jmadr_1_1 タグ=TAG20220119T145845 コメント=NONE チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07 backupを22-01-15で終了しました Control File and SPFILE Autobackupを22-01-15で開始しています ピース・ハンドル=/opt/oracle/product/19c/dbhome_1/dbs/c-2865198415-20220115-00 コメント=NONE Control File and SPFILE Autobackupを22-01-15で終了しました |
バックアップセットにORCLPDB1, PDB$SEEDもありますね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
RMAN> list backup; バックアップ・セットのリスト =================== BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ -------- 1 Full 1.15G DISK 00:00:07 22-01-15 BPキー: 1 ステータス: AVAILABLE 圧縮: NO タグ: TAG20220115T145845 ピース名: /opt/oracle/product/19c/dbhome_1/dbs/010jmad5_1_1 バックアップ・セット1のデータファイルのリスト File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- -------- ----------- ------ ---- 1 Full 2392740 22-01-15 NO /opt/oracle/oradata/ORCLCDB/system01.dbf 3 Full 2392740 22-01-15 NO /opt/oracle/oradata/ORCLCDB/sysaux01.dbf 4 Full 2392740 22-01-15 NO /opt/oracle/oradata/ORCLCDB/undotbs01.dbf 7 Full 2392740 22-01-15 NO /opt/oracle/oradata/ORCLCDB/users01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ -------- 2 Full 560.10M DISK 00:00:03 22-01-15 BPキー: 2 ステータス: AVAILABLE 圧縮: NO タグ: TAG20220115T145845 ピース名: /opt/oracle/product/19c/dbhome_1/dbs/020jmadk_1_1 バックアップ・セット2のデータファイルのリスト コンテナID: 3、PDB名: ORCLPDB1 File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- -------- ----------- ------ ---- 9 Full 2268148 22-01-14 NO /opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf 10 Full 2268148 22-01-14 NO /opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf 11 Full 2268148 22-01-14 NO /opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf 12 Full 2268148 22-01-14 NO /opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ -------- 3 Full 556.62M DISK 00:00:03 22-01-15 BPキー: 3 ステータス: AVAILABLE 圧縮: NO タグ: TAG20220115T145845 ピース名: /opt/oracle/product/19c/dbhome_1/dbs/030jmadr_1_1 バックアップ・セット3のデータファイルのリスト コンテナID: 2、PDB名: PDB$SEED File LV Type Ckp SCN Ckp時間 Abs Fuz SCN Sparse Name ---- -- ---- ---------- -------- ----------- ------ ---- 5 Full 2162874 22-01-12 NO /opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf 6 Full 2162874 22-01-12 NO /opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf 8 Full 2162874 22-01-12 NO /opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf BS Key Type LV Size Device Type Elapsed Time 終了時間 ------- ---- -- ---------- ----------- ------------ -------- 4 Full 17.95M DISK 00:00:00 22-01-19 BPキー: 4 ステータス: AVAILABLE 圧縮: NO タグ: TAG20220115T145914 ピース名: /opt/oracle/product/19c/dbhome_1/dbs/c-2865198415-20220115-00 SPFILEも含まれます: 修正時間: 22-01-15 SPFILE db_unique_name: ORCLCDB 含まれている制御ファイル: Ckp SCN: 2392762 Ckp時間: 22-01-15 |
バックアップファイルは/opt/oracle/product/19c/dbhome_1/dbs/に保存されるようですが、バックアップ先の変更や、世代管理的なこと、まだまだいっぱい調べないとorz
ちなみに”非アーカイブ・モード”に戻すには下記のSQL文です。
1 |
SQL> alter database noarchivelog; |