Oracle RMANメモ

OracleデータベースのバックアップをRMAN使ってとる、という話が久しぶりに回ってきたけど、すっかり忘却していたのでメモ書き

とりあえずWindows Server 2019にOracle 18c XEをインストールして確認

各種コマンド例

LISTNERの状態確認

「lsnrctl status」でLISTNERの状態を確認

C:\Users\administrator.VM2>lsnrctl status

LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 25-6月 -2021 10:32:12

Copyright (c) 1991, 2018, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb.adosakana.local(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
開始日                    22-6月 -2021 16:42:40
稼働時間                  2 日 17 時間 49 分 32 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
デフォルト・サービス           XE
パラメータ・ファイル      D:\app\administrator\product\18.0.0\dbhomeXE\network\admin\listener.ora
ログ・ファイル            D:\app\administrator\product\18.0.0\diag\tnslsnr\oracledb\listener\alert\log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb.adosakana.local)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=5500))(Security=(my_wallet_directory=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\admin\XE\xdb_wallet))(Presentation=HTTP)(Session=RAW))
サービスのサマリー...
サービス"3bba54f9890046b4b3f6a6c7a4e4e597"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"CLRExtProc"には、1件のインスタンスがあります。
  インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"XE"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"XEXDB"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"xepdb1"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

C:\Users\administrator.VM2>

アーカイブログの設定確認

Oracleデータベースのバックアップを行う場合、ARCHIVELOGモードが有効になっていないと、オンラインバックアップが行えないので、sqlplusコマンドを使ってデータベースに接続し、log_mode の値を確認する。

C:\Users\administrator.VM2>sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on 金 6月 25 10:35:11 2021
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.



Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
に接続されました。
SQL> select log_mode from v$database;

LOG_MODE
------------------------
ARCHIVELOG

SQL> exit
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0との接続が切断されました。

C:\Users\administrator.VM2>

上記は「ARCHIVELOG」で有効になっている、ということ。

ここが「NOARCHIVELOG」だと有効になっていない、ということになる。

アーカイブログがどこに出力されるかを「archive log list」を実行して確認する。

SQL> archive log list
データベース・ログ・モード     アーカイブ・モード
自動アーカイブ                 有効
アーカイブ先                    D:\app\administrator\product\18.0.0\dbhomeXE\RDBMS
最も古いオンライン・ログ順序   47
アーカイブする次のログ順序    49
現行のログ順序               49
SQL> 

また、実際に出力される時にどういうファイル名となるかは「select * from v$logfile;」を実行して確認出来る。(こちらは最後に”;”を忘れない)

SQL> select * from v$logfile;

    GROUP# STATUS         TYPE
---------- -------------- --------------
MEMBER
--------------------------------------------------------------------------------
IS_REC     CON_ID
------ ----------
         3                ONLINE
D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\REDO03.LOG
NO              0

         2                ONLINE
D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\REDO02.LOG
NO              0

    GROUP# STATUS         TYPE
---------- -------------- --------------
MEMBER
--------------------------------------------------------------------------------
IS_REC     CON_ID
------ ----------

         1                ONLINE
D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\REDO01.LOG
NO              0


SQL>

RMANの既存設定確認

RMANに設定されている内容を確認するには「show all;」を実行して確認します。

C:\Users\administrator.VM2>rman target /

Recovery Manager: Release 18.0.0.0.0 - Production on 金 6月 25 15:40:36 2021
Version 18.4.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ターゲット・データベース: XE (DBID=2957026582)に接続されました

RMAN> show all;

db_unique_name XEのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
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 'D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\SNCFXE.ORA'; # default

RMAN>

コントロール/SPFILEの取り扱い

コントロールファイル/SPFILEの自動バックアップが設定されているかは、rmanコマンドで「show controlfile autobackup;」を実行することで確認出来る。

C:\Users\administrator.VM2>rman target /

Recovery Manager: Release 18.0.0.0.0 - Production on 金 6月 25 15:40:36 2021
Version 18.4.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ターゲット・データベース: XE (DBID=2957026582)に接続されました

RMAN> SHOW CONTROLFILE AUTOBACKUP ;

db_unique_name XEのデータベースにおけるRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;

リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
db_unique_name XEのデータベースにおけるRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

RMAN> 

バックアップ一覧の確認

現在までにRMAN経由でバックアップした一覧は「list backup;」で確認できる。

RMAN> list backup;


バックアップ・セットのリスト
===================


BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
1       Incr 0  1.07G      SBT_TAPE    00:02:00     21-06-22
        BPキー: 1   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_01022907_1_1   メディア: V_342_2322
  バックアップ・セット1のデータファイルのリスト
  File LV Type Ckp SCN    Ckp時間  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  1    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSTEM01.DBF
  3    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSAUX01.DBF
  4    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\UNDOTBS01.DBF
  7    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\USERS01.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
2       Incr 0  522.00M    SBT_TAPE    00:00:04     21-06-22
        BPキー: 2   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_02022944_1_1   メディア: V_342_2323
  バックアップ・セット2のデータファイルのリスト
  コンテナID: 3、PDB名: XEPDB1
  File LV Type Ckp SCN    Ckp時間  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  9    0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSTEM01.DBF
  10   0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSAUX01.DBF
  11   0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\UNDOTBS01.DBF
  12   0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\USERS01.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
3       Incr 0  511.00M    SBT_TAPE    00:00:04     21-06-22
        BPキー: 3   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_0302294c_1_1   メディア: V_342_2324
  バックアップ・セット3のデータファイルのリスト
  コンテナID: 2、PDB名: PDB$SEED
  File LV Type Ckp SCN    Ckp時間  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  5    0  Incr 1452518    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSTEM01.DBF
  6    0  Incr 1452518    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSAUX01.DBF
  8    0  Incr 1452518    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\UNDOTBS01.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
4       Incr 0  18.00M     SBT_TAPE    00:00:01     21-06-22
        BPキー: 4   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_0402294j_1_1   メディア: V_342_2325
  含まれている制御ファイル: Ckp SCN: 1563678      Ckp時間: 21-06-22

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
5       Full    18.00M     SBT_TAPE    00:00:00     21-06-22
        BPキー: 5   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165757
        ハンドル: c-2957026582-20210622-00   メディア: V_342_2326
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1563687      Ckp時間: 21-06-22

BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
6       88.00M     SBT_TAPE    00:01:06     21-06-22
        BPキー: 6   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165921
        ハンドル: 1163_XE_06022979_1_1   メディア: V_342_2327

  バックアップ・セット6のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間  Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    2       1440543    21-06-22 1460361    21-06-22
  1    3       1460361    21-06-22 1562252    21-06-22
  1    4       1562252    21-06-22 1563792    21-06-22
  1    5       1563792    21-06-22 1563800    21-06-22

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
7       Full    18.00M     SBT_TAPE    00:00:01     21-06-22
        BPキー: 7   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T170037
        ハンドル: c-2957026582-20210622-01   メディア: V_342_2328
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1563859      Ckp時間: 21-06-22

<略>
BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
111     11.00M     SBT_TAPE    00:01:05     21-06-25
        BPキー: 111   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T135700
        ハンドル: 1420_XE_3j029rlc_1_1   メディア: V_342_2765

  バックアップ・セット111のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間  Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    52      1831218    21-06-25 1839292    21-06-25

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
112     Full    19.00M     SBT_TAPE    00:00:01     21-06-25
        BPキー: 112   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T135805
        ハンドル: c-2957026582-20210625-0d   メディア: V_342_2766
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1839334      Ckp時間: 21-06-25

BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
113     20.00M     SBT_TAPE    00:01:05     21-06-25
        BPキー: 113   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T145912
        ハンドル: 1426_XE_3l029va0_1_1   メディア: V_342_2772

  バックアップ・セット113のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間  Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    53      1839292    21-06-25 1845342    21-06-25

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
114     Full    19.00M     SBT_TAPE    00:00:00     21-06-25
        BPキー: 114   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T150028
        ハンドル: c-2957026582-20210625-0e   メディア: V_342_2773
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1845469      Ckp時間: 21-06-25

RMAN>

バックアップ手法について

Oracleデータベースをバックアップする時に気にするもの
・データベース本体
・アーカイブログ
・コントロールファイル/SPFILE


Oracle 19 [Backup and Recovery User’s Guide]
 [4 RMANクライアントの起動および操作]
 [5 RMAN環境の構成]
Oracle 19 [Real Application Clusters管理およびデプロイメント・ガイド]
 [7.4 制御ファイルおよびSPFILEを自動的にバックアップするようなRMANの構成]

手動で実行

[2.4.2 ARCHIVELOGモードでのデータベースのバックアップ]に記載されている「BACKUP DATABASE PLUS ARCHIVELOG;」を実行した例

デフォルトのRMAN設定では”CONFIGURE DEFAULT DEVICE TYPE TO DISK; “と設定さてており、何も指定がない場合はディスク上に保存されることになっている。

RMAN> backup database plus archivelog;


backupを21-06-25で開始しています
現在のログがアーカイブされました。
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=287 デバイス・タイプ=DISK
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=56 レコードID=55 スタンプ=1076174677
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3R02A7QN_1_1 タグ=TAG20210625T172439 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを21-06-25で終了しました

backupを21-06-25で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSTEM01.DBF
入力データファイル ファイル番号=00003 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSAUX01.DBF
入力データファイル ファイル番号=00004 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\UNDOTBS01.DBF
入力データファイル ファイル番号=00007 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\USERS01.DBF
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3S02A7QO_1_1 タグ=TAG20210625T172440 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:15
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00010 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSAUX01.DBF
入力データファイル ファイル番号=00009 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSTEM01.DBF
入力データファイル ファイル番号=00011 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\UNDOTBS01.DBF
入力データファイル ファイル番号=00012 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\USERS01.DBF
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3T02A7R7_1_1 タグ=TAG20210625T172440 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00006 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSAUX01.DBF
入力データファイル ファイル番号=00005 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSTEM01.DBF
入力データファイル ファイル番号=00008 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\UNDOTBS01.DBF
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3U02A7RF_1_1 タグ=TAG20210625T172440 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
backupを21-06-25で終了しました

backupを21-06-25で開始しています
現在のログがアーカイブされました。
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=57 レコードID=56 スタンプ=1076174710
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3V02A7RM_1_1 タグ=TAG20210625T172510 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを21-06-25で終了しました

Control File and SPFILE Autobackupを21-06-25で開始しています
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\C-2957026582-20210625-11 コメント=NONE
Control File and SPFILE Autobackupを21-06-25で終了しました

RMAN>

sbt_tapeに変える場合、以前だとallocate cahnnelしていたが[B 非推奨になったRMAN構文]に含まれている。

しかし、[5.1.2 バックアップ用のデフォルト・デバイスの構成: ディスクまたはSBT]から記述を見ていくと[5.1.4.1 チャネルの構成について]と[5.1.4.4 構成済チャネルの手動での変更]を見ると、一時的に変更する場合は「ALLOCATE CHANNEL」のままで良いようだ。

CommvaultのOralce Agentがセットアップされている環境で試すと、Commvaultに引き渡す場合のパラメータが適合していないようで、失敗する。

RMAN> run {
2> allocate channel ch1 device type 'SBT_TAPE';
3> backup database plus archivelog;
4> }

チャネル: ORA_DISK_1がリリースされました
チャネル: ch1が割り当てられました
チャネルch1: SID=287 デバイス・タイプ=SBT_TAPE
チャネルch1: CommVault Systems for Oracle: Version 11.0.0(BUILD80)


backupを21-06-25で開始しています
現在のログがアーカイブされました。
チャネルch1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルch1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=56 レコードID=55 スタンプ=1076174677
入力アーカイブ・ログ・スレッド=1 順序=57 レコードID=56 スタンプ=1076174710
入力アーカイブ・ログ・スレッド=1 順序=58 レコードID=57 スタンプ=1076175527
チャネルch1: ピース1 (21-06-25)を起動します
チャネル: ch1がリリースされました
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelogコマンドが06/25/2021 17:39:23で失敗しました
ORA-19506: シーケンシャル・ファイルの作成に失敗しました。ファイル名="4102a8l8_1_1"、パラメータ=""
ORA-27028: skgfqcre: sbtbackupからエラーが戻されました。
ORA-19511: RMAN以外の、メディア・マネージャまたはベンダー固有の障害。エラー・テキスト:
   CreateOraObject20:

RMAN>

Commvaultマニュアルにある[RMAN Example: Performing Oracle Full Backups]のサンプル通りに実行してみる。

RMAN> run {
2> allocate channel ch1 type 'sbt_tape';
3> allocate channel ch2 type 'sbt_tape';
4> allocate channel ch3 type 'sbt_tape';
5> allocate channel ch4 type 'sbt_tape';
6>
7> setlimit channel ch1 maxopenfiles 8;
8> setlimit channel ch2 maxopenfiles 8;
9> setlimit channel ch3 maxopenfiles 8;
10> setlimit channel ch4 maxopenfiles 8;
11>
12> backup incremental level = 0
13> filesperset = 4 format '%d_%U_%t'
14> database include current controlfile;
15> }

チャネル: ch1が割り当てられました
チャネルch1: SID=287 デバイス・タイプ=SBT_TAPE
チャネルch1: CommVault Systems for Oracle: Version 11.0.0(BUILD80)

RMAN-06908: 警告: 操作は割り当てられたチャネルでパラレルに実行しません
RMAN-06909: 警告: パラレル化にはEnterprise Editionが必要です
チャネル: ch2が割り当てられました
チャネルch2: SID=41 デバイス・タイプ=SBT_TAPE
チャネルch2: CommVault Systems for Oracle: Version 11.0.0(BUILD80)

チャネル: ch3が割り当てられました
チャネルch3: SID=266 デバイス・タイプ=SBT_TAPE
チャネルch3: CommVault Systems for Oracle: Version 11.0.0(BUILD80)

チャネル: ch4が割り当てられました
チャネルch4: SID=40 デバイス・タイプ=SBT_TAPE
チャネルch4: CommVault Systems for Oracle: Version 11.0.0(BUILD80)





backupを21-06-25で開始しています
チャネルch1: 増分レベル0のデータファイル・バックアップ・セットを開始しています
チャネルch1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSTEM01.DBF
チャネルch1: ピース1 (21-06-25)を起動します
チャネル: ch1がリリースされました
チャネル: ch2がリリースされました
チャネル: ch3がリリースされました
チャネル: ch4がリリースされました
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backupコマンド(ch1チャネル上)が06/25/2021 18:00:56で失敗しました
ORA-19506: シーケンシャル・ファイルの作成に失敗しました。ファイル名="XE_4502a9tl_1_1_1076176821"、パラメータ=""
ORA-27028: skgfqcre: sbtbackupからエラーが戻されました。
ORA-19511: RMAN以外の、メディア・マネージャまたはベンダー固有の障害。エラー・テキスト:
   CreateOraObject20:

RMAN>

駄目な模様。うーん???

NetBackup ver4.5/Oracle 8ぐらいの時のRMANスクリプト例

この時代はコントロールファイル/SPFILEの自動バックアップが無かった

Oracle 19の[バックアップおよびリカバリ・リファレンス]-[B 非推奨になったRMAN構文]を見ると、このスクリプトで使っている初期化は現状だと推奨されないようだ。

フルバックアップ

run{
  allocate channel ch00 type 'SBT_TAPE' maxopenfiles 100;
  allocate channel ch01 type 'SBT_TAPE' maxopenfiles 100;
  backup
    full
    skip inaccessible
     filesperset 64
    FORMAT 'bk_%s_%p_%t'
    database;
    sql 'alter system archive log current';
  release channel ch00;
  release channel ch01;

  allocate channel ch00 type 'SBT_TAPE' maxopenfiles 100;
  allocate channel ch01 type 'SBT_TAPE' maxopenfiles 100;
  sql 'alter system archive log current';
  backup
     filesperset 64
     FORMAT 'al_%s_%p_%t'
     archivelog all delete input;
  release channel ch00;
  release channel ch01;

  allocate channel ch00 type 'SBT_TAPE';
  copy current controlfile to '/出力フィル名';
  release channel ch00;
}

archivelogのみ

run{
  allocate channel ch00 type 'SBT_TAPE' maxopenfiles 100;
  allocate channel ch01 type 'SBT_TAPE' maxopenfiles 100;
  sql 'alter system archive log current';
  backup
     filesperset 64
     FORMAT 'al_%s_%p_%t'
     archivelog all delete input;
  release channel ch00;
  release channel ch01;

  allocate channel ch00 type 'SBT_TAPE';
  copy current controlfile to '/出力フィル名';
  release channel ch00;
}

Veeamのバックアップ

[Veeam plug-in for Oracle RMAN]-[Planning and Preparation]-[Oracle Environment Planning]

RHEL8/Oracle Linux8のmariadbでバイナリログを有効にする方法

RHEL8/Oracle Linux 8のmariadbをバックアップソフトでオンラインバックアップする場合、バイナリログを有効にする必要がある。

MySQL MySQL 5.7 Reference Manual「2.5.10 Managing MySQL Server with systemd
Oracle MySQL 8.0 リファレンスマニュアル「2.5.9 systemd を使用した MySQL Server の管理
RHEL8 さまざまな種類のサーバーのデプロイメント第9章 データベースサーバー「9.2. MariaDB の使用
MariaDB Administration「Starting and Stopping MariaDB » systemd

設定ファイルを書かずに、いまだけバイナリログで有効にして起動させる場合は以下となる。

# systemctl show-environment 
# systemctl set-environment MYSQLD_OPTS="--log-bin"
# systemctl restart mariadb
#

起動時から有効にする手法について確認すると /lib/systemd/system/mariadb@.service に /etc/systemd/system/mariadb@.service.d/MY_SPECIAL.conf に書くという記述があったので設定してみたものの読み込まれる気配がない。

いろいろ試した結果、/etc/systemd/system/mariadb.service.d/ファイル名.conf でファイルを置いた場合に動作するということが分かった。

# vi /etc/systemd/system/mariadb.service.d/override.conf
# cat /etc/systemd/system/mariadb.service.d/override.conf
[Service]
Environment="MYSQLD_OPTS=--log-bin"
# systemctl daemon-reload
# systemctl restart mariadb
#

ファイルを編集したあとは、daemon-reloadを実行する必要があった。

なお、 /etc/default/mysql, /etc/default/mysqld, /etc/sysconfig/mysql にて「MYSQLD_OPTS=”–log-bin”」を設定する、という手法も実験してみたが、これらは動作しなかった。

Windows 11 Insider Preview環境でWSLg経由で起動したUbuntu 20.04のfirefoxが日本語文字化けする

Windows 11 Insider Previewにした環境で、WSLgを使ったLinux GUIのテストをしてみようと、Ubuntu 20.04を設定して、firefoxを起動してみた。(別途 sudo apt install firefox でインストール済み)

まぁ、文字化けした。

どうせ、いつもの(Zentyalを日本語で使う場合の設定手順)だろう、と「sudo apt install fonts-arphic-uming fonts-takao-gothic」でフォントをインストールして

firefoxを起動したところ、問題なく表示されました。

CentOS代替のVzLinux(VirtuozzoLinux)をインストールしてみた

2024/05/07追記

結局VzLinuxは死んだものの CentOS7ベースの仮想基盤Virtuozzo Hybrid Server はまだとりあえずメンテナンスを続けている模様。(RHEL9ベースのVirtuozzo Hybrid Server 9も作りかけたけどやめた模様)

それとは別ラインで openstack系の仮想基盤 Virtuozzo Hybrid Infrastructure を出している模様。

また、openvz 9.0なんてISOもあるようだ。


2023/07/10追記

結局、VzLinuxは、2021年11月にVzLinux 8.5VzLinux 9.0 Betaを出して以後、公式な更新としてはしていないようです。


2021/07/13追記

急にアクセスが増えてきたのでVzLinux 8.4の簡単な評価を先に書いておくと、Alma Linux, Rocky Linux, Oracle Linux の3つに対する優位点が、2021/07/13時点のVzLinuxには無いので、特に採用するべきではないと思います。

個人的にはOracle Cloudも使っているので、Oracle Linux 8を使っています。

仮想コンテナであるOpenVZに対応したvzlinux kernelが提供されているのであればVzLinuxを選択する理由にもなるのですが、インストールしてみた限りでは使えない
そして、VzLinux 8.4を「日本語」でインストールするとロケール関連の動作が怪しくなる、という明確な問題があるので、現時点ではプラスポイント0、むしろマイナス、という感じです。

2021/11/29コメント追加

VzLinux 8の他に、VzLinux 7の提供も開始されたが、VzLinux 7の方は2021/11/29時点ではISOファイルが提供されていない模様である。

2022/08/12コメント追加

VzLinux8は8.5ベースのISO提供、VzLinux7は7.2ベースのISO提供のままでした。VzLinux9については9.0ベースのISOがありますが日付が2021年11月22日と、RHEL9の正式リリース日 2022年5月よりずっと前なのでベータ版時代のまま更新されていないようです。

また、この記事でインストールしたVzLinux8環境を最新にアップデートしたところ、RHEL8.5相当でkernelは 4.18.0-348.20.1.vl8.x86_64でした

HPEサポートページにあるドライバ対応表 – Red Hat Enterprise Linux 8で確認すると、RHEL8.5のアップデートではあるものの最新版ではない、という感じでした。

というわけで、普通のユーザであれば使う必要のないもの、という結論は現状でも変わらないようです。


以下本文です


このblogのOracle Linux関連記事にこんな広告が表示された。

画像

VzLinux」なんてものがあるのかと別途ググってアクセスしてみた。(直接リンク飛ぶと規約上微妙なので)

画像

VzLinuxは、Linuxベースの仮想コンテナのVirtuozzo とそのオープンソース版OpenVZ の作っているLinux ディストリビューションで、この仮想コンテナを動かすにはRHEL/CentOSやUbuntuのデフォルトカーネル設定ではダメなので、稼働できる形でコンパイルしたものを提供していたものをディストリビューションとしても提供し始めたような感じである。

これに関連してか「Virtuozzo Linux 8 Quick Start Guide」の「3.3. Updating the Kernel」には、カーネルのアップデートのために「yum update vzkernel vzkernel-devel」を実行する、とあるが、実際のVzLinux 8上しても、vzkernelというパッケージは存在せず実行できない。

おそらくは、仮想コンテナVirtuozzo/OpenVZ用に提供されているバージョンであればvzkernelを使う、という話なんだろう、と思われる。

それはさておき、仮想環境にインストールしてみた。

VzLinux 8.3の時点ではセキュアブート非対応であるため、仮想マシンもそのように設定して起動。(VzLinux 8.4でもセキュアブート非対応であった)

画像

言語の選択で「日本語」を選ぶことができるが、インストール完了後、X-Windowアプリの一部でアプリ起動に失敗するので、基本的には「English」で進めた方が良いようだ。

(画像は日本語で進めた時のもの)

画像

基本的にはRHEL8/CentOS8そのままの表示である

画像

選択が終わったらインストール開始

Server with GUIでインストールした場合は下記の様になる。

画像

「日本語」を選択した場合、「端末」を選択すると、こんな感じでぐるぐる表示がされるものの端末は開かない。

/var/log/messagesを開くと「failback ‘C’ locale」という表示が出ているので「localectl list-locales」で確認すると、日本語に関するlocaleがインストールされていない。

というわけで、日本語に設定している場合は「dnf install glibc-langpack-ja」で日本語localeを追加するか、「localectl set-locale en_US.utf8」を実行して英語設定にする必要がある。

英語環境であれば下記の様に端末が正常に開く。

日本語localeを追加した場合も正常に端末が開くようになる。

画面を比較してみると、日本語locale追加以前は時刻表記が英語のまま、などの動作していましたね・・・


さて、kernel 4.18.0-305.vl8.x86_64 で起動してきている。

また、2021/06/16時点ではISOは8.3であったものの、updateすると8.4になった。

VzLinux 8のデフォルトレポジトリはこんな感じで、理由がよく分からないが「BaseOS」や「AppStream」などが無効化されており、「VirtuozzoLinux Base」と「VirtuozzoLinux Updates」のみが有効となっている。

ちなみにbaseos,appstream,plus,powertoolsを有効にしてみたが、vzkernelというパッケージは存在しませんでした。

とりあえずは、セキュアブート不要であれば使えるCentOS8代替としては使えそうです。


vzkernelはやはりOpenVZ対応カーネルな模様で https://src.openvz.org/projects/OVZ/repos/vzkernel/browse で開発されていました。(ブランチの選択肢に branch-rh8-4.18.0-240.1.1.vz8.6.x-ovz なんてものが見える。

また、 https://download.openvz.org/virtuozzo/releases/7.0/x86_64/iso/ で openvz-iso-7.0.16-552.iso という形でOpenVZ用カーネルで起動するRHEL7互換のものが配布されている。


2021/10/11追記

https://download.openvz.org/virtuozzo/releases/8.0/x86_64/iso/ に openvz-iso-8.0.0-1336.iso が置かれていた。

ダウンロードしてインストールしてみたら下記の様な感じだった。(update済)

[root@openvz t]# uname -a
Linux openvz 4.18.0-240.1.1.vz8.5.62 #1 SMP Tue Jul 27 16:10:46 MSK 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@openvz t]# rpm -qa|grep kernel|sort
abrt-addon-kerneloops-2.10.9-20.vl8.1.x86_64
kernel-core-4.18.0-240.1.1.vz8.5.62.x86_64
kernel-headers-4.18.0-240.1.1.vz8.5.62.x86_64
kernel-tools-4.18.0-240.1.1.vz8.5.62.x86_64
kernel-tools-libs-4.18.0-240.1.1.vz8.5.62.x86_64
readykernel-scan-0.14-2.vl8.noarch
[root@openvz t]#

vzkernel というパッケージは無いらしい

[root@openvz t]# yum search vzkernel
Last metadata expiration check: 0:19:37 ago on Mon 11 Oct 2021 04:24:09 PM JST.
No matches found.
[root@openvz t]#

登録されているレポジトリを確認

[root@openvz ~]# dnf repolist --all
repo id                                 repo name                       status
appstream                               Virtuozzo Linux 8 - AppStream   disabled
baseos                                  Virtuozzo Linux 8 - BaseOS      disabled
cr                                      Virtuozzo Linux 8 - ContinuousR disabled
extras                                  Virtuozzo Linux 8 - Extras      disabled
factory                                 Build Factory packages for Cont disabled
factory-debuginfo                       Debug packages for Containers f disabled
fasttrack                               Virtuozzo Linux 8 - FastTrack   disabled
ha                                      Virtuozzo Linux 8 - HighAvailab disabled
obsoleted_tmpls                         Virtuozzo obsoleted EZ-template disabled
openvz-os                               OpenVZ                          enabled
openvz-os-debuginfo                     OpenVZ os Debug packages        disabled
openvz-updates                          OpenVZ Updates                  enabled
openvz-updates-debuginfo                OpenVZ updates Debug packages   disabled
plus                                    Virtuozzo Linux 8 - Plus        disabled
powertools                              Virtuozzo Linux 8 - PowerTools  disabled
virtuozzolinux-base                     VirtuozzoLinux Base             enabled
virtuozzolinux-base-debuginfo           VirtuozzoLinux Base debug packa disabled
virtuozzolinux-factory                  VirtuozzoLinux Factory          disabled
virtuozzolinux-factory-debuginfo        VirtuozzoLinux Factory debug pa disabled
virtuozzolinux-openvz-factory           VirtuozzoLinux Factory          disabled
virtuozzolinux-openvz-factory-debuginfo VirtuozzoLinux Factory debug pa disabled
virtuozzolinux-updates                  VirtuozzoLinux Updates          enabled
virtuozzolinux-updates-debuginfo        VirtuozzoLinux Updates debug pa disabled
vz7-guest-tools                         Virtuozzo Guest Tools for VHS7  disabled
vz8-guest-tools                         Virtuozzo Guest Tools for VHS8  disabled
[root@openvz ~]#

/etc/yum.repos.d/ には下記のファイルがあった

[root@openvz ~]# ls -l /etc/yum.repos.d/
total 24
-rw-r–r– 1 root root 1276 Aug 1 15:42 factory.repo
-rw-r–r– 1 root root 300 Aug 1 15:42 obsoleted_tmpls.repo
-rw-r–r– 1 root root 1208 Aug 1 15:42 openvz.repo
-rw-r–r– 1 root root 297 Sep 29 19:35 vz-guest-tools.repo
-rw-r–r– 1 root root 7770 Oct 11 16:19 vzlinux.repo
[root@openvz ~]#

各ファイルを確認してみる

[root@openvz ~]# cat /etc/yum.repos.d/factory.repo
# These repositories are for internal use by developers only
# Enable them on your own risk!!!

[factory]
name=Build Factory packages for Containers
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/8.0/factory-os.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/factory/x86_64/os/
enabled=0
gpgcheck=1
module_hotfixes=True
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[factory-debuginfo]
name=Debug packages for Containers from Build Factory
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/8.0/factory-debug.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/factory/x86_64/debug/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[virtuozzolinux-openvz-factory]
name=VirtuozzoLinux Factory
mirrorlist=http://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-factory
#baseurl=http://repo.virtuozzo.com/vzlinux/8/$basearch/factory/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[virtuozzolinux-openvz-factory-debuginfo]
name=VirtuozzoLinux Factory debug packages
mirrorlist=http://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-factory-debug
#baseurl=http://repo.virtuozzo.com/vzlinux/8/$basearch/factory-debug/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY
[root@openvz ~]# cat /etc/yum.repos.d/obsoleted_tmpls.repo
[obsoleted_tmpls]
name=Virtuozzo obsoleted EZ-templates
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/obsoleted_tmpls.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/obsoleted_tmpls/7.0/x86_64/os/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7
[root@openvz ~]# cat /etc/yum.repos.d/openvz.repo
[openvz-os]
name=OpenVZ
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/8.0/releases-os.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/releases/8.0/x86_64/os/
enabled=1
gpgcheck=1
module_hotfixes=True
priority=50
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[openvz-updates]
name=OpenVZ Updates
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/8.0/updates-os.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/updates/8.0/x86_64/os/
enabled=1
gpgcheck=1
module_hotfixes=True
priority=50
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[openvz-os-debuginfo]
name=OpenVZ os Debug packages
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/8.0/releases-debug.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/releases/8.0/x86_64/debug/
enabled=0
gpgcheck=1
priority=50
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[openvz-updates-debuginfo]
name=OpenVZ updates Debug packages
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/8.0/updates-debug.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/updates/8.0/x86_64/debug/
enabled=0
gpgcheck=1
priority=50
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8
[root@openvz ~]# cat /etc/yum.repos.d/vz-guest-tools.repo
[vz7-guest-tools]
name=Virtuozzo Guest Tools for VHS7
baseurl=http://repo.virtuozzo.com/vz-guest-tools-lin/vz7/latest/centos8/
gpgcheck=0
enabled=0

[vz8-guest-tools]
name=Virtuozzo Guest Tools for VHS8
baseurl=http://repo.virtuozzo.com/vz-guest-tools-lin/vz8/latest/centos8/
gpgcheck=0
enabled=0
[root@openvz ~]# cat /etc/yum.repos.d/vzlinux.repo
# virtuozzolinux.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for VirtuozzoLinux updates
# unless you are manually picking other mirrors.
#
[virtuozzolinux-base]
name=VirtuozzoLinux Base
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
enabled=1
gpgcheck=1
priority=90
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

#released updates
[virtuozzolinux-updates]
name=VirtuozzoLinux Updates
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-updates
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/updates/
enabled=1
gpgcheck=1
priority=90
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[virtuozzolinux-base-debuginfo]
name=VirtuozzoLinux Base debug packages
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os-debug
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/debug/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

[virtuozzolinux-updates-debuginfo]
name=VirtuozzoLinux Updates debug packages
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-updates-debug
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/updates-debug/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-8

# These -factory repositories are for internal use by developers only
# Enable them on your own risk!!!
[virtuozzolinux-factory]
name=VirtuozzoLinux Factory
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-factory
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/factory/
priority=90
enabled=0
gpgcheck=0

[virtuozzolinux-factory-debuginfo]
name=VirtuozzoLinux Factory debug packages
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-factory-debug
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/factory-debug/
priority=90
enabled=0
gpgcheck=0


#
# Mimic names & ids of CentOS repos
#

[appstream]
name=Virtuozzo Linux $releasever - AppStream
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[baseos]
name=Virtuozzo Linux $releasever - BaseOS
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[cr]
name=Virtuozzo Linux $releasever - ContinuousRelease
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[extras]
name=Virtuozzo Linux $releasever - Extras
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[fasttrack]
name=Virtuozzo Linux $releasever - FastTrack
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[ha]
name=Virtuozzo Linux $releasever - HighAvailability
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[plus]
name=Virtuozzo Linux $releasever - Plus
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY

[powertools]
name=Virtuozzo Linux $releasever - PowerTools
exclude=kernel,kernel-core,kernel-devel,kernel-debug,libvirt,seabios,libguestfs,libguestfs-appliance,python3-libvirt,OVMF,anaconda*,kdump-anaconda-addon,blivet-data,python3-blivet,criu,crit,libcompel,python-criu,python3-criu,disp-helper-scripts-vz
mirrorlist=https://repo.virtuozzo.com/vzlinux/mirrorlist/mirrors-8-os
#baseurl=https://repo.virtuozzo.com/vzlinux/8/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/VZLINUX_GPG_KEY
[root@openvz ~]#

grubで止まったEFI機のLinuxを起動させる

Oracle Cloud上のCentOS 7インスタンスをOracle Linux 7にコンバートさせたら、一部のパッケージがうまくインストールできず、centos2ol.sh が途中で失敗した。

yum distro-syncを実行したらうまくいったので、大丈夫かな?と思ったら、grub関連が更新できずに起動に失敗した模様。

Oracle Cloudの場合、Web管理コンソールから該当インスタンスのディスプレイをVNC接続で表示するための設定ができるので、それでつなげてみたところ下記の様にgrubで停止していた。

まず、ディスクとパーテーションがどう認識されているが分からないので「ls」を実行します。

そうすると、「(ディスク名)」と「(ディスク名),(パーテーション名)」の一覧が表示されます。

grub> ls
(hd0)  (hd0,gpt3)  (hd0,gpt2)  (hd0,gpt1)  (fd0)  (fd1)
grub> 

上記の場合、hd0の中にパーテーションが3つある、ということになります。

各パーテーションのファイルシステムがなんなのかを「ls (hd0,gpt0)」と実行すると表示されます。

grub> ls (hd0,gpt2)
(hd0,gpt2): Filesystem is unknown.
grub> ls (hd0,gpt3)
(hd0,gpt3): Filesystem is xfs.
grub> ls (hd0,gpt1)
(hd0,gpt1): Filesystem is fat.
grub>

上記の結果により、パーテーション1:FAT、パーテーション3:XFS、パーテーション2:不明となります。

「ls (hd0,gpt1)/」と最後に/をつけると中にどんなファイル/ディレクトリがあるかを確認出来ます。

grub> ls (hd0,gpt1)/
efi/
grub> ls (hd0,gpt3)/
./ ../ boot/ dev/ proc/ run/ sys/ etc/ var/ root/ tmp/ usr/ bin sbin lib lib64
home/ media/ mnt/ opt/ srv/
grub>

上記により efi/があるパーテーション1は、/boot/efi があるパーテーション
パーテーション3は / があるパーテーションとなり
消去法的にパーテーション2は、ファイルシステムがないのでswapパーテーションとなる。

起動するにあたっては、linuxefi でvmlinuzファイルと、root=で/パーテーション指定を行い、initrdedi でinitramfsファイルを指定する形となる。

下記の様に入力して起動を行う。

grub> linuxefi (hd0,gpt3)/boot/vmlinuz-5.4.17-2102.202.5.el7uek.x86_64 root=/dev/sda3
grub> initrdefi (hd0,gpt3)/boot/initramfs-5.4.17-2102.202.5.el7uek.x86_64.img
grub> boot

なお、vzlinuzやinitramfsのファイル名は分からないと思うが、その場合は下記の様に「initrdefi (hd0,gpt3)/boot/initra」まで入力してからタブキーを押すと候補が表示されるので、それを利用すると良い。

画像

bootが開始されると、クラウド上でも普通のLinux環境と同じように起動表示がある。

で、ログインが出来るようになった。

Oracle Cloud上のインスタンスは、ssh keyでログインしているのでパスワードがわからないので、ssh経由で接続して続きを行う。

まず、起動できなかった原因は /etc/grub2-efi.cfg (/boot/efi/EFI/redhat/grub.cfg)が存在しないということだった。

「sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg」を実行して、grub.cfgを再作成することで対応できる。

参照:CentOS8からOracle Linux 8への移行1

再作成して再起動するときちんと下記の様にkernel選択画面が表示され、自動起動することが確認出来た。