最小インストールのOracle Linux 8でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか


以前「最小インストールのCentOS7でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか」という記事を書いたが、アップデートしておこう、ということで、とりあえずOracle Linux 8としての記事で作成することにした。(なお、Alma LinuxやRocky Linuxでも同様)

今回、Oracle Linux 8.5のインストールメディアを使い「言語:English(United States)」、「Base Environment:Minimal Install」でインストールを実施したあと、「dnf update -y」で2022/05/12時点での最新状態として実施している。

また、chromium用にEPELレポジトリを「dnf install oracle-epel-release-el8」で追加している。(AlmaLinux/RockyLinuxの場合は「dnf install epel-release」

サーバローカルのコンソール画面で直接X-Windowを開くのではなく、別ホストからssh接続しXの画面を飛ばして表示する、という形式での使い方を想定しているため「dnf install  xorg-x11-xauth」を実行して準備した。

具体的にはWindows上にVcXsrvでXLaunchを起動し、TeraTermの「SSHポート転送」の「Xクライアントアプリケーションの転送」で表示する、という手法である。

「dnf install firefox」の場合、 63パッケージ追加、インストール容量334MB
「dnf install chromium」の場合、85パッケージ追加、インストール容量408MB

という結果になった。

ただ、これだけで問題無いかというと、そういうわけではなかった・・・

(最後の「まとめ」にて最終的な状態について解説)

Firefoxの場合

FirefoxはlibGL.so.1に関するエラーを出すものの日本語が文字化け状態で起動してきた。

[osakanataro@oraclelinux8 ~]$ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=25.2649) [GFX1-]: glxtest: libEGL missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=25.2649) |[1][GFX1-]: glxtest: libGL.so.1 missing (t=25.265) [GFX1-]: glxtest: libGL.so.1 missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=25.2649) |[1][GFX1-]: glxtest: libGL.so.1 missing (t=25.265) |[2][GFX1-]: glxtest: libEGL missing (t=25.265) [GFX1-]: glxtest: libEGL missing

CentOS7時代と同様に「dnf  install vlgothic-fonts vlgothic-p-fonts」でフォントを追加(2パッケージ追加、インストール容量7.9MB) (vlgothicはEPEL収録)

もしくは標準レポジトリの「dnf install google-noto-cjk-fonts-common google-noto-sans-cjk-ttc-fonts google-noto-serif-cjk-ttc-fonts」をインストールしても良い。

firefox起動時のlibGL.so.1エラーを消したい場合は「dnf install mesa-libGL」で6パッケージ,インストール容量2.2MBの追加を行う。と、libEGL missingのみに変わる

[osakanataro@oraclelinux8 ~]$ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=24.573) [GFX1-]: glxtest: libEGL missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=24.573) |[1][GFX1-]: glxtest: libEGL missing (t=24.573) [GFX1-]: glxtest: libEGL missing

メッセージにあるlibEGLを追加すればいいのかな?「dnf install mesa-libEGL」で4パッケージ、インストール容量494kの追加してみたが出力は変わらなかったので違うらしい足らなかったらしい

[osakanataro@oraclelinux8 ~]$ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=24.5568) [GFX1-]: glxtest: libEGL initialize failed
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=24.5568) |[1][GFX1-]: glxtest: libEGL initialize failed (t=24.5568) [GFX1-]: glxtest: libEGL initialize failed

後述のChromiumの際にインストールしたmesa-dri-driversを追加したところ、エラー無しで起動するようになった。「dnf install mesa-dri-drivers」で3パッケージ、124MB追加。

[osakanataro@oraclelinux8 ~]$ firefox

ただ、firefoxの動作が重くなったような気が…

Chromiumの場合

Chromiumの方は、libGL.so.1のエラーで起動に失敗した。

[osakanataro@oraclelinux8 ~]$ chromium-browser
Couldn't open libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[0512/185936.937542:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[0512/185936.937602:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
Aborted (core dumped)
[osakanataro@oraclelinux8 ~]$

これは「dnf install mesa-libGL」で対処する(6パッケージ追加、インストール容量2.2MB)

追加しても下記のメッセージが出力されるが、chromiumブラウザは起動した。

[osakanataro@oraclelinux8 ~]$ chromium-browser
libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
[3408:3507:0512/190502.320894:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3408:3507:0512/190502.321458:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3408:3507:0512/190502.327719:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3451:3451:0512/190502.515616:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: OpenGL ES 2.0 is not supportable.
[3451:3451:0512/190502.516673:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: OpenGL ES 2.0 is not supportable.
[3451:3451:0512/190502.520596:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3451:3451:0512/190502.540454:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
[3451:3451:0512/190502.540594:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not create a backing OpenGL context.
[3451:3451:0512/190502.540701:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3451:3451:0512/190502.540791:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[3451:3451:0512/190502.584434:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
[3535:3535:0512/190502.778653:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not find a decent GLX FBConfig to create the context.
[3535:3535:0512/190502.778787:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not find a decent GLX FBConfig to create the context.
[3535:3535:0512/190502.778836:ERROR:gl_surface_egl.cc(1430)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[3535:3535:0512/190502.778887:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[3535:3535:0512/190502.783316:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
[3543:3543:0512/190502.922995:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled, ANGLE is

mesa-libGLインストール後は起動するがfirefoxと同じく日本語が文字化けしている。

CentOS7時代と同様に「dnf  install vlgothic-fonts vlgothic-p-fonts」でフォントを追加(2パッケージ追加、インストール容量7.9MB) (vlgothicはEPEL収録)

文字化けは無くなった。

chromium-browser 起動時の「/usr/lib64/dri/swrast_dri.so」のエラーについては、「dnf install mesa-dri-drivers」で対処できた。

[root@oraclelinux8 ~]# dnf install mesa-dri-drivers
Last metadata expiration check: 0:18:54 ago on Thu 12 May 2022 06:52:03 PM JST.
Dependencies resolved.
================================================================================
 Package          Arch   Version                            Repository     Size
================================================================================
Installing:
 mesa-dri-drivers x86_64 21.1.5-1.el8                       ol8_appstream  11 M
Installing dependencies:
 llvm-libs        x86_64 12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7
                                                            ol8_appstream  23 M
 mesa-filesystem  x86_64 21.1.5-1.el8                       ol8_appstream  34 k
Enabling module streams:
 llvm-toolset            ol8

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 34 M
Installed size: 124 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): mesa-filesystem-21.1.5-1.el8.x86_64.rpm   96 kB/s |  34 kB     00:00
(2/3): mesa-dri-drivers-21.1.5-1.el8.x86_64.rpm 2.1 MB/s |  11 MB     00:05
(3/3): llvm-libs-12.0.1-2.0.1.module+el8.5.0+20 3.0 MB/s |  23 MB     00:07
--------------------------------------------------------------------------------
Total                                           4.5 MB/s |  34 MB     00:07
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : mesa-filesystem-21.1.5-1.el8.x86_64                    1/3
  Installing       : llvm-libs-12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7   2/3
  Installing       : mesa-dri-drivers-21.1.5-1.el8.x86_64                   3/3
  Running scriptlet: mesa-dri-drivers-21.1.5-1.el8.x86_64                   3/3
  Verifying        : llvm-libs-12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7   1/3
  Verifying        : mesa-dri-drivers-21.1.5-1.el8.x86_64                   2/3
  Verifying        : mesa-filesystem-21.1.5-1.el8.x86_64                    3/3

Installed:
  llvm-libs-12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7.x86_64
  mesa-dri-drivers-21.1.5-1.el8.x86_64
  mesa-filesystem-21.1.5-1.el8.x86_64

Complete!
[root@oraclelinux8 ~]#

chromium-browser起動時のメッセージはまだ出ているが、起動はする

[osakanataro@oraclelinux8 ~]$ chromium-browser
ATTENTION: default value of option allow_rgb10_configs overridden by environment.
[3952:4052:0512/191116.527237:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3952:4052:0512/191116.527472:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3952:4052:0512/191116.527641:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3984:3984:0512/191116.708191:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: OpenGL ES 2.0 is not supportable.
[3984:3984:0512/191116.708344:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: OpenGL ES 2.0 is not supportable.
[3984:3984:0512/191116.708382:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3984:3984:0512/191116.720930:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
[3984:3984:0512/191116.721068:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not create a backing OpenGL context.
[3984:3984:0512/191116.721141:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3984:3984:0512/191116.721206:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[3984:3984:0512/191116.724996:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
ATTENTION: default value of option allow_rgb10_configs overridden by environment.
[4059:4059:0512/191116.879504:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not find a decent GLX FBConfig to create the context.
[4059:4059:0512/191116.879654:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not find a decent GLX FBConfig to create the context.
[4059:4059:0512/191116.879700:ERROR:gl_surface_egl.cc(1430)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[4059:4059:0512/191116.879757:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[4059:4059:0512/191116.885075:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
[4075:4075:0512/191116.939151:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled, ANGLE is

まとめ

必要そうなパッケージ群がまとまったので、今度はOracle Linux 8ではなく、AlmaLinux 8.5を同様にMinimal Installした状態から再セットアップして検証した。

まずは、OracleLinux 8 / AlmaLinux 8 / RockyLinux 8 環境で、できるだけエラーメッセージを出さずにブラウザを起動するには以下のパッケージをインストール。

「dnf install xorg-x11-xauth mesa-libGL mesa-libEGL mesa-dri-drivers」
で26パッケージ追加、インストール容量137MB

日本語を文字化けさせないで使うためには以下をインストール。(vlgothic-fonts vlgothic-p-fonts は標準から外れたため、標準に含まれるものに変更した)

「dnf install google-noto-*cjk*」
で3パッケージ追加、インストール容量 294MB

インストールのログとしては↓

[root@almalinux ~]# dnf install xorg-x11-xauth mesa-libGL mesa-libEGL mesa-dri-drivers
Last metadata expiration check: 0:31:29 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package           Arch   Version                               Repo       Size
================================================================================
Installing:
 mesa-dri-drivers  x86_64 21.3.4-1.el8                          appstream  11 M
 mesa-libEGL       x86_64 21.3.4-1.el8                          appstream 135 k
 mesa-libGL        x86_64 21.3.4-1.el8                          appstream 184 k
 xorg-x11-xauth    x86_64 1:1.0.9-12.el8                        appstream  39 k
Installing dependencies:
 libICE            x86_64 1.0.9-15.el8                          appstream  73 k
 libSM             x86_64 1.2.3-1.el8                           appstream  47 k
 libX11            x86_64 1.6.8-5.el8                           appstream 610 k
 libX11-common     noarch 1.6.8-5.el8                           appstream 157 k
 libX11-xcb        x86_64 1.6.8-5.el8                           appstream  13 k
 libXau            x86_64 1.0.9-3.el8                           appstream  37 k
 libXext           x86_64 1.3.4-1.el8                           appstream  45 k
 libXfixes         x86_64 5.0.3-7.el8                           appstream  25 k
 libXmu            x86_64 1.1.3-1.el8                           appstream  75 k
 libXt             x86_64 1.1.5-12.el8                          appstream 185 k
 libXxf86vm        x86_64 1.1.4-9.el8                           appstream  19 k
 libglvnd          x86_64 1:1.3.4-1.el8                         appstream 126 k
 libglvnd-egl      x86_64 1:1.3.4-1.el8                         appstream  48 k
 libglvnd-glx      x86_64 1:1.3.4-1.el8                         appstream 136 k
 libwayland-client x86_64 1.19.0-1.el8                          appstream  38 k
 libwayland-server x86_64 1.19.0-1.el8                          appstream  46 k
 libxcb            x86_64 1.13.1-1.el8                          appstream 231 k
 libxshmfence      x86_64 1.3-2.el8                             appstream  13 k
 llvm-libs         x86_64 13.0.1-1.module_el8.6.0+2864+ffe288a1 appstream  24 M
 mesa-filesystem   x86_64 21.3.4-1.el8                          appstream  33 k
 mesa-libgbm       x86_64 21.3.4-1.el8                          appstream  58 k
 mesa-libglapi     x86_64 21.3.4-1.el8                          appstream  65 k
Enabling module streams:
 llvm-toolset             rhel8

Transaction Summary
================================================================================
Install  26 Packages

Total download size: 38 M
Installed size: 137 M
Is this ok [y/N]: y
Downloading Packages:
<略>
  xorg-x11-xauth-1:1.0.9-12.el8.x86_64

Complete!
[root@almalinux ~]# dnf install google-noto-*cjk*
Last metadata expiration check: 0:32:13 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package                           Arch     Version           Repository   Size
================================================================================
Installing:
 google-noto-cjk-fonts-common      noarch   20190416-1.el8    appstream    20 k
 google-noto-sans-cjk-ttc-fonts    noarch   20190416-1.el8    appstream    85 M
 google-noto-serif-cjk-ttc-fonts   noarch   20190416-1.el8    appstream   109 M

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 194 M
Installed size: 294 M
Is this ok [y/N]: y
Downloading Packages:
<略>
Installed:
  google-noto-cjk-fonts-common-20190416-1.el8.noarch
  google-noto-sans-cjk-ttc-fonts-20190416-1.el8.noarch
  google-noto-serif-cjk-ttc-fonts-20190416-1.el8.noarch

Complete!
[root@almalinux ~]#

Firefoxをインストールする場合は「dnf install firefox」で、56パッケージ 330MB追加。

[root@almalinux ~]# dnf install firefox
Last metadata expiration check: 0:34:49 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package                     Arch     Version                 Repository   Size
================================================================================
Installing:
 firefox                     x86_64   91.9.0-1.el8_5.alma     appstream   106 M
Installing dependencies:
 adwaita-cursor-theme        noarch   3.28.0-3.el8            appstream   646 k
 adwaita-icon-theme          noarch   3.28.0-3.el8            appstream    11 M
 almalinux-indexhtml         noarch   8-7.el8                 baseos      7.5 k
 at-spi2-atk                 x86_64   2.26.2-1.el8            appstream    89 k
 at-spi2-core                x86_64   2.28.0-1.el8            appstream   169 k
 atk                         x86_64   2.28.1-1.el8            appstream   271 k
 avahi-libs                  x86_64   0.7-20.el8              baseos       61 k
 cairo                       x86_64   1.15.12-6.el8           appstream   718 k
 cairo-gobject               x86_64   1.15.12-6.el8           appstream    32 k
 colord-libs                 x86_64   1.4.2-1.el8             appstream   236 k
 cups-libs                   x86_64   1:2.2.6-44.el8          baseos      433 k
 dejavu-fonts-common         noarch   2.35-7.el8              baseos       73 k
 fontconfig                  x86_64   2.13.1-4.el8            baseos      273 k
 fontpackages-filesystem     noarch   1.44-22.el8             baseos       16 k
 fribidi                     x86_64   1.0.4-8.el8             appstream    89 k
 gdk-pixbuf2                 x86_64   2.36.12-5.el8           baseos      467 k
 gdk-pixbuf2-modules         x86_64   2.36.12-5.el8           appstream   109 k
 glib-networking             x86_64   2.56.1-1.1.el8          baseos      155 k
 graphite2                   x86_64   1.3.10-10.el8           appstream   121 k
 gsettings-desktop-schemas   x86_64   3.32.0-6.el8            baseos      632 k
 gtk-update-icon-cache       x86_64   3.22.30-10.el8          appstream    32 k
 gtk3                        x86_64   3.22.30-10.el8          appstream   4.5 M
 harfbuzz                    x86_64   1.7.5-3.el8             appstream   295 k
 hicolor-icon-theme          noarch   0.17-2.el8              appstream    48 k
 jasper-libs                 x86_64   2.0.14-5.el8            appstream   166 k
 jbigkit-libs                x86_64   2.1-14.el8              appstream    54 k
 lcms2                       x86_64   2.9-2.el8               appstream   164 k
 libXcomposite               x86_64   0.4.4-14.el8            appstream    28 k
 libXcursor                  x86_64   1.1.15-3.el8            appstream    36 k
 libXdamage                  x86_64   1.1.4-14.el8            appstream    26 k
 libXft                      x86_64   2.3.3-1.el8             appstream    66 k
 libXi                       x86_64   1.7.10-1.el8            appstream    48 k
 libXinerama                 x86_64   1.1.4-1.el8             appstream    15 k
 libXrandr                   x86_64   1.5.2-1.el8             appstream    33 k
 libXrender                  x86_64   0.9.10-7.el8            appstream    33 k
 libXtst                     x86_64   1.2.3-7.el8             appstream    21 k
 libdatrie                   x86_64   0.2.9-7.el8             appstream    33 k
 libepoxy                    x86_64   1.5.8-1.el8             appstream   224 k
 liberation-fonts-common     noarch   1:2.00.3-7.el8          baseos       25 k
 liberation-sans-fonts       noarch   1:2.00.3-7.el8          baseos      610 k
 libjpeg-turbo               x86_64   1.5.3-12.el8            appstream   156 k
 libmodman                   x86_64   2.0.1-17.el8            baseos       36 k
 libproxy                    x86_64   0.4.15-5.2.el8          baseos       75 k
 libsoup                     x86_64   2.62.3-2.el8            baseos      424 k
 libthai                     x86_64   0.1.27-2.el8            appstream   203 k
 libtiff                     x86_64   4.0.9-21.el8            appstream   187 k
 libwayland-cursor           x86_64   1.19.0-1.el8            appstream    25 k
 libwayland-egl              x86_64   1.19.0-1.el8            appstream    18 k
 mozilla-filesystem          x86_64   1.9-19.el8              appstream   9.8 k
 pango                       x86_64   1.42.4-8.el8            appstream   296 k
 pixman                      x86_64   0.38.4-2.el8            appstream   256 k
 rest                        x86_64   0.8.1-2.el8             appstream    70 k
Installing weak dependencies:
 abattis-cantarell-fonts     noarch   0.0.25-6.el8            appstream   154 k
 dconf                       x86_64   0.28.0-4.el8            appstream   107 k
 dejavu-sans-mono-fonts      noarch   2.35-7.el8              baseos      446 k

Transaction Summary
================================================================================
Install  56 Packages

Total download size: 131 M
Installed size: 330 M
Is this ok [y/N]:

Chromiumをインストールする場合は「dnf install epel-release」、OracleLinux8の場合は「dnf install oracle-epel-release-el8」でEPELレポジトリを追加する。

[root@almalinux ~]# dnf install epel-release
Last metadata expiration check: 0:35:34 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package               Architecture    Version            Repository       Size
================================================================================
Installing:
 epel-release          noarch          8-10.el8           extras           22 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 22 k
Installed size: 32 k
Is this ok [y/N]:

その後に「dnf install chromium」でインストールで、76パッケージ405MB追加。

[root@almalinux ~]# dnf install chromium
Extra Packages for Enterprise Linux 8 - x86_64  1.9 MB/s |  11 MB     00:05
Extra Packages for Enterprise Linux Modular 8 - 123 kB/s | 1.0 MB     00:08
Last metadata expiration check: 0:00:05 ago on Fri 13 May 2022 10:06:01 AM JST.
Dependencies resolved.
================================================================================
 Package                        Arch     Version              Repository   Size
================================================================================
Installing:
 chromium                       x86_64   99.0.4844.84-1.el8   epel         83 M
Installing dependencies:
 adwaita-cursor-theme           noarch   3.28.0-3.el8         appstream   646 k
 adwaita-icon-theme             noarch   3.28.0-3.el8         appstream    11 M
 alsa-lib                       x86_64   1.2.6.1-3.el8        appstream   490 k
 at-spi2-atk                    x86_64   2.26.2-1.el8         appstream    89 k
 at-spi2-core                   x86_64   2.28.0-1.el8         appstream   169 k
 atk                            x86_64   2.28.1-1.el8         appstream   271 k
 avahi                          x86_64   0.7-20.el8           baseos      280 k
 avahi-libs                     x86_64   0.7-20.el8           baseos       61 k
 cairo                          x86_64   1.15.12-6.el8        appstream   718 k
 cairo-gobject                  x86_64   1.15.12-6.el8        appstream    32 k
 checkpolicy                    x86_64   2.9-1.el8            baseos      347 k
 chromium-common                x86_64   99.0.4844.84-1.el8   epel         13 M
 colord-libs                    x86_64   1.4.2-1.el8          appstream   236 k
 cups-libs                      x86_64   1:2.2.6-44.el8       baseos      433 k
 dejavu-fonts-common            noarch   2.35-7.el8           baseos       73 k
 flac-libs                      x86_64   1.3.2-9.el8          appstream   217 k
 fontconfig                     x86_64   2.13.1-4.el8         baseos      273 k
 fontpackages-filesystem        noarch   1.44-22.el8          baseos       16 k
 fribidi                        x86_64   1.0.4-8.el8          appstream    89 k
 gdk-pixbuf2                    x86_64   2.36.12-5.el8        baseos      467 k
 gdk-pixbuf2-modules            x86_64   2.36.12-5.el8        appstream   109 k
 glib-networking                x86_64   2.56.1-1.1.el8       baseos      155 k
 graphite2                      x86_64   1.3.10-10.el8        appstream   121 k
 gsettings-desktop-schemas      x86_64   3.32.0-6.el8         baseos      632 k
 gsm                            x86_64   1.0.17-5.el8         appstream    37 k
 gstreamer1                     x86_64   1.16.1-2.el8         appstream   1.3 M
 gtk-update-icon-cache          x86_64   3.22.30-10.el8       appstream    32 k
 gtk3                           x86_64   3.22.30-10.el8       appstream   4.5 M
 harfbuzz                       x86_64   1.7.5-3.el8          appstream   295 k
 hicolor-icon-theme             noarch   0.17-2.el8           appstream    48 k
 jasper-libs                    x86_64   2.0.14-5.el8         appstream   166 k
 jbigkit-libs                   x86_64   2.1-14.el8           appstream    54 k
 lcms2                          x86_64   2.9-2.el8            appstream   164 k
 libXcomposite                  x86_64   0.4.4-14.el8         appstream    28 k
 libXcursor                     x86_64   1.1.15-3.el8         appstream    36 k
 libXdamage                     x86_64   1.1.4-14.el8         appstream    26 k
 libXft                         x86_64   2.3.3-1.el8          appstream    66 k
 libXi                          x86_64   1.7.10-1.el8         appstream    48 k
 libXinerama                    x86_64   1.1.4-1.el8          appstream    15 k
 libXrandr                      x86_64   1.5.2-1.el8          appstream    33 k
 libXrender                     x86_64   0.9.10-7.el8         appstream    33 k
 libXtst                        x86_64   1.2.3-7.el8          appstream    21 k
 libasyncns                     x86_64   0.8-14.el8           appstream    32 k
 libbsd                         x86_64   0.9.1-4.el8          epel        106 k
 libcanberra                    x86_64   0.30-18.el8          appstream    92 k
 libcanberra-gtk3               x86_64   0.30-18.el8          appstream    38 k
 libdatrie                      x86_64   0.2.9-7.el8          appstream    33 k
 libepoxy                       x86_64   1.5.8-1.el8          appstream   224 k
 libjpeg-turbo                  x86_64   1.5.3-12.el8         appstream   156 k
 libmodman                      x86_64   2.0.1-17.el8         baseos       36 k
 libogg                         x86_64   2:1.3.2-10.el8       appstream    30 k
 libproxy                       x86_64   0.4.15-5.2.el8       baseos       75 k
 libsndfile                     x86_64   1.0.28-12.el8        appstream   192 k
 libsoup                        x86_64   2.62.3-2.el8         baseos      424 k
 libthai                        x86_64   0.1.27-2.el8         appstream   203 k
 libtiff                        x86_64   4.0.9-21.el8         appstream   187 k
 libvorbis                      x86_64   1:1.3.6-2.el8        appstream   196 k
 libwayland-cursor              x86_64   1.19.0-1.el8         appstream    25 k
 libwayland-egl                 x86_64   1.19.0-1.el8         appstream    18 k
 minizip                        x86_64   2.8.9-2.el8          epel        124 k
 minizip1.2                     x86_64   1.2.11-24.el8        epel         32 k
 nss-mdns                       x86_64   0.14.1-9.el8         epel         49 k
 pango                          x86_64   1.42.4-8.el8         appstream   296 k
 pixman                         x86_64   0.38.4-2.el8         appstream   256 k
 policycoreutils-python-utils   noarch   2.9-19.el8           baseos      252 k
 pulseaudio-libs                x86_64   14.0-2.el8           appstream   680 k
 python3-audit                  x86_64   3.0.7-2.el8.2        baseos       86 k
 python3-libsemanage            x86_64   2.9-8.el8            baseos      127 k
 python3-policycoreutils        noarch   2.9-19.el8           baseos      2.2 M
 python3-setools                x86_64   4.3.0-3.el8          baseos      623 k
 rest                           x86_64   0.8.1-2.el8          appstream    70 k
 sound-theme-freedesktop        noarch   0.8-9.el8            appstream   381 k
Installing weak dependencies:
 abattis-cantarell-fonts        noarch   0.0.25-6.el8         appstream   154 k
 dconf                          x86_64   0.28.0-4.el8         appstream   107 k
 dejavu-sans-mono-fonts         noarch   2.35-7.el8           baseos      446 k

Transaction Summary
================================================================================
Install  76 Packages

Total download size: 128 M
Installed size: 405 M
Is this ok [y/N]:

ちなみに、先にchromiumをインストールしたあとに、firefoxを追加した場合は、5パッケージ263MB追加となりました。

[root@almalinux ~]# dnf install firefox
Last metadata expiration check: 0:05:05 ago on Fri 13 May 2022 10:06:01 AM JST.
Dependencies resolved.
================================================================================
 Package                    Arch      Version                Repository    Size
================================================================================
Installing:
 firefox                    x86_64    91.9.0-1.el8_5.alma    appstream    106 M
Installing dependencies:
 almalinux-indexhtml        noarch    8-7.el8                baseos       7.5 k
 liberation-fonts-common    noarch    1:2.00.3-7.el8         baseos        25 k
 liberation-sans-fonts      noarch    1:2.00.3-7.el8         baseos       610 k
 mozilla-filesystem         x86_64    1.9-19.el8             appstream    9.8 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 107 M
Installed size: 263 M
Is this ok [y/N]: y

PowerShellにパスワード文字列を直接書かない手法


PowerShellで用意されているGet-Credential 関連を駆使して、PowerShellスクリプト内に直接パスワードを書かないで済む手法を作成した。

スクリプトを配置したディレクトリにscript.cred というファイルを作り、そこに暗号化されたパスワード文字列を配置する、という仕組み。

$authfile=$PSScriptRoot+".\script.cred"
$username="admin" #ユーザ名
$passwdstr="" # この変数にパスワード文字列が入る。
if((Test-Path $authfile) -eq $false){
    $creds = Get-Credential -UserName $username -Message $($username+"ユーザのパスワードを入力してください")
    $creds.Password | ConvertFrom-SecureString | Set-Content -Path $authfile | Out-Null
    $passwdstr=[Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($creds.Password))
}else{
    $passwdstr=[Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($(Get-Content $authfile | ConvertTo-SecureString)))
}

# この段階の $passwdstr には暗号化されていないパスワード文字列が入っている

なお、メモリ上の$passwdstr には暗号化されていない文字列が保存されているため、そこは注意が必要。

CommvaultのREST APIをPowerShellで使って見る


Commvaultバックアップの操作にREST APIを使うことができる。

・Commvault V11SP24の「REST API Overview
Commvault Rest APIの出力サンプル群

ログインして、指定したクライアントのサブクライアント情報を取得するPowerShellで作成してみた。

# CommCellユーザ情報
$restapiuser="admin"
$restapipasswd="パスワード"

# REST APIで使用するURL
# どちらを使うかについて https://documentation.commvault.com/11.24/expert/45592_available_web_services_for_rest_api.html
#$restapiurlbase="http://~:81/SearchSvc/CVWebService.svc/"
$restapiurlbase="http://~/webconsole/api/"

# 検索用文字列
$clientname="クライアント名"

# CommCell環境にログイン
$restapipasswdbase64=[Convert]::ToBase64String(([System.Text.Encoding]::Default).GetBytes($restapipasswd))
$headers=@{
    "Accept"="application/json"
    "Content-Type"="application/json"
}
$loginReq = @{
    username=$restapiuser
    password=$restapipasswdbase64
}
$loginresponse=Invoke-RestMethod -Method post -Uri $($restapiurlbase+"Login") -Body $($loginReq|ConvertTo-Json) -ContentType 'application/json' -Headers $headers

# 指定クライアントのサブクライアント情報取得
$headers=@{
    "Accept"="application/json"
    "Authtoken"=$loginresponse.token
}
$response=Invoke-RestMethod -Method Get -Uri $($restapiurlbase+"Subclient?clientName="+$clientname) -Headers $headers

# $response.subClientProperties.subClientEntity にサブクライアントの情報が入っているが
# 複数のサブクライアントがあると $response.subClientProperties.subClientEntity.subclientName が複数行になるので注意

# 表示
$response.subClientProperties.subClientEntity | ForEach-Object {
    $subcliententory=$_
    Write-host $subcliententory
 }

# CommCellログアウト
$headers=@{
    "Accept"="application/json"
    "Authtoken"=$loginresponse.token
}
$logoutresponse=Invoke-RestMethod -Method post -Uri $($restapiurlbase+"Logout") -Headers $headers

ただ、このスクリプトを使うとCommvault Event viewerに表示されるログイン情報が「Machine:unknown Locale:unknown」となる。

これを設定できるか調べて見たが、無いように思える。

ClonezillaをLACP+タグVLAN環境で使う


システムディスクのバックアップ/リストアを行えるDebian/Ubuntuベースで構成されているClonezilla を使ってシステム障害に備えたバックアップディスクを取得しようと思ったのだが、ネットワークがLACP (802.3ad) +タグVLANで作成されていることに気がついた。

複数NICが搭載されている環境でClonzillaを起動すると、ネットワーク設定の際に「bond0 Use_channel_bonding」という選択肢が表示される。

しかし、次のNetwork Configで「static Use static IP address」を選択してみてもIPアドレスに関する設定のみでLACPで使うNICの選択やVLANに関する入力する場面はない。

というわけで、「enter_shell Enter_command_line_prompt._Do_it_manually」を選択してみるしかない。

選択して盛ると、設定したあと「exit」すれば続きから始まるよ、といわれる。

では、どのように設定を行うのか?下記でヒントを発見

Clonezillaの機能追加希望「#61 no lacp / etherchannel / Bonding support」(2015年07月15日~2016年10月13日)
Clonezillaのフォーラム「VLANs / bonding configuration」(2020年12月09日~2020年12月14日)

手動で設定する場合のやりかたと、ocs-live-nicbonding というスクリプトを追加して今後のバージョンで使える様にする、というものになる。

Clonezilla 2.8.0で確認してみると ocs-live-nicbonding は存在していた。

しかし、ドキュメントが見当たらないので、スクリプトを読んでみると下記仕様のようだった。

・bond0 を mode=802.3ad(LACP) 、miimon=100 で作成する
・ocs-live-nicbonding のオプションとして指定したNICがスレーブデバイスとして登録される
・xmit_hash_policy は指定しないのでデフォルトのlayer2設定

というわけで、eth3,eth4を使用してbond0を作成する場合は「ocs-live-nicbonding eth3 eth4」と実行する

「ip a s bond0」を実行してbond0が作成されていることを確認

bond0へのタグVLAN追加はvconfigコマンドで実行。

「vconfig add bond0 <VLANID>」を実行する

そうすると「bond0.<VLAN ID>」というデバイスが作成される(「ip a s bond0.<VLANID>」で確認)

IPアドレスを「ifconfig bond0.<VLANID> <IPアドレス> netmask <ネットマスク> up」を実行して設定。

で「exit」を実行すると、下記の様にClonezillaの操作に戻ります。

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]