Oralce Linux8上でHyper Estraier/QDBMがコアダンプし動作しない


RHEL8/CentOS8/Oralce Linux 8上で、Hyper Estraier および内部で使うQDBMをコンパイルしたところ、コアダンプが発生し、動作できなかった。

$ /usr/local/bin/estcmd gather -cl -il ja -sd casket3 ./draft
/usr/local/bin/estcmd: INFO: reading list from the directory: ./draft
/usr/local/bin/estcmd: ERROR: casket3: database problem
$

調べて見るとgcc7でQDBM 1.8.78をコンパイルすると発生する、とのこと

AmazonLinux2にgcc6をインストール(標準のgcc7と共存させる)

関連情報を探す

Debian Bug report logs – #853627 qdbm: ftbfs with GCC-7
gentoo linux package db qdbm

gentoo linuxのqdbmの内容をおっていくと「https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/qdbm/files」にパッチファイルが・・・

qdbm-1.8.78-r2.ebuild に下記の様な記載があるので、この順番でパッチをあててみればいいかと実行

PATCHES=(
	"${FILESDIR}"/${PN}-configure.patch
	"${FILESDIR}"/${PN}-perl.patch
	"${FILESDIR}"/${PN}-ruby19.patch
	"${FILESDIR}"/${PN}-runpath.patch
	"${FILESDIR}"/${PN}-1.8.78-darwin.patch
)

gentoo linuxのページから上記5つのパッチをダウンロードしてきて適用。

[root@pbw work]# tar xfz qdbm-1.8.78.tar.gz
[root@pbw work]# cd qdbm-1.8.78/
[root@pbw qdbm-1.8.78]# patch -p1 < ../qdbm-configure.patch
patching file cgi/configure.in
patching file configure.in
patching file java/configure.in
patching file perl/configure.in
patching file plus/configure.in
patching file ruby/configure.in
[root@pbw qdbm-1.8.78]# patch -p1 < ../qdbm-perl.patch
patching file perl/Makefile.in
[root@pbw qdbm-1.8.78]# patch -p1 < ../qdbm-ruby19.patch
patching file ruby/Makefile.in
patching file ruby/configure.in
Hunk #1 succeeded at 8 (offset -9 lines).
patching file ruby/curia/mod_curia.c
patching file ruby/curia/rbcrtest
patching file ruby/depot/mod_depot.c
patching file ruby/depot/rbdptest
patching file ruby/myrbdoc
patching file ruby/villa/mod_villa.c
patching file ruby/villa/rbvltest
[root@pbw qdbm-1.8.78]# patch -p1 < ../qdbm-runpath.patch
patching file Makefile.in
patching file cgi/Makefile.in
patching file plus/Makefile.in
[root@pbw qdbm-1.8.78]# patch -p1 < ../qdbm-1.8.78-darwin.patch
patching file Makefile.in
[root@pbw qdbm-1.8.78]#

そして、「./configure; make ; make install」を実行。

そのあとは、Hyper Estraier側は特に再コンパイル等は不要で、コマンドを再実行

$ rm -rf casket3/
$ /usr/local/bin/estcmd gather -cl -il ja -sd casket3 ./draft
/usr/local/bin/estcmd: INFO: reading list from the directory: ./draft
/usr/local/bin/estcmd: INFO: status: name=casket3 dnum=0 wnum=0 fsiz=6899171 crnum=0 csiz=0 dknum=0
/usr/local/bin/estcmd: INFO: 1 (/var/www/cl2/draft/1.html): registered
/usr/local/bin/estcmd: INFO: 2 (/var/www/cl2/draft/10.html): registered
/usr/local/bin/estcmd: INFO: 3 (/var/www/cl2/draft/100.html): registered
<略>
/usr/local/bin/estcmd: INFO: flushing index words: name=casket3 dnum=1663 wnum=238115 fsiz=88518147 crnum=7035 csiz=641234 dknum=0
/usr/local/bin/estcmd: INFO: closing: name=casket3 dnum=1663 wnum=238718 fsiz=88669699 crnum=0 csiz=0 dknum=0
/usr/local/bin/estcmd: INFO: finished successfully: elapsed time: 0h 1m 10s
#

gcc7環境でも問題無く実行できるようになりました。

Oracle Cloud上のOralce Linux 8インスタンスでOSアップデートがpython3-clickの競合で失敗していた


Oracle Cloud上に立てていたOracle Linux 8サーバにdnf automaticによるアップデート設定を書けてあったんだけど、いまみてみたらアップデートが途中から失敗していた模様。

# dnf check-update
Ksplice for Oracle Linux 8 (x86_64)             2.7 MB/s | 418 kB     00:00
MySQL 8.0 for Oracle Linux 8 (x86_64)           7.6 MB/s | 1.6 MB     00:00
MySQL 8.0 Tools Community for Oracle Linux 8 (x 653 kB/s | 106 kB     00:00
MySQL 8.0 Connectors Community for Oracle Linux 109 kB/s |  14 kB     00:00
Oracle Software for OCI users on Oracle Linux 8  31 MB/s | 8.0 MB     00:00
Oracle Linux 8 EPEL Packages for Development (x  39 MB/s |  19 MB     00:00
Oracle Linux 8 BaseOS Latest (x86_64)            42 MB/s |  37 MB     00:00
Oracle Linux 8 Application Stream (x86_64)       42 MB/s |  29 MB     00:00
Latest Unbreakable Enterprise Kernel Release 6   44 MB/s |  22 MB     00:00

iwl100-firmware.noarch     999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl1000-firmware.noarch    999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl105-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl135-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2000-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2030-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl3160-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
iwl3945-firmware.noarch    999:15.32.2.9-999.8.el8                 ol8_baseos_latest
iwl4965-firmware.noarch    999:228.61.2.24-999.8.el8               ol8_baseos_latest
iwl5000-firmware.noarch    999:8.83.5.1_1-999.8.el8                ol8_baseos_latest
iwl5150-firmware.noarch    999:8.24.2.2-999.8.el8                  ol8_baseos_latest
iwl6000-firmware.noarch    999:9.221.4.1-999.8.el8                 ol8_baseos_latest
iwl6000g2a-firmware.noarch 999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl6050-firmware.noarch    999:41.28.5.1-999.8.el8                 ol8_baseos_latest
iwl7260-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
kernel-uek.x86_64          5.4.17-2102.203.5.el8uek                ol8_UEKR6
kernel-uek-devel.x86_64    5.4.17-2102.203.5.el8uek                ol8_UEKR6
ksplice.x86_64             1.0.55-1.el8                            ol8_ksplice
ksplice-core0.x86_64       1.0.55-1.el8                            ol8_ksplice
ksplice-tools.x86_64       1.0.55-1.el8                            ol8_ksplice
linux-firmware.noarch      999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
linux-firmware.src         999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
perl-Algorithm-Diff.src    1.1903-10.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Archive-Tar.src       2.32-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Archive-Zip.src       1.67-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN.src              2.27-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN-Meta.src         2.150010-397.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-CPAN-Meta-Requirements.src
                           2.140-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-CPAN-Meta-YAML.src    0.018-1001.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Carp.src              1.50-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Config-Perl-V.src     0.32-441.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Data-OptList.src      0.110-7.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-Data-Section.src      0.200007-8.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Digest.src            1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Env.src               1.04-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Exporter.src          5.73-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-CBuilder.src 1:0.280231-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-ExtUtils-Install.src  2.14-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-MakeMaker.src
                           2:7.42-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-Manifest.src 1:1.72-438.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-ExtUtils-ParseXS.src  1:3.40-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-File-Fetch.src        0.56-3.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-File-HomeDir.src      1.004-6.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-File-Path.src         2.16-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-File-Temp.src         1:0.230.900-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-File-Which.src        1.23-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Filter-Simple.src     0.95-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Getopt-Long.src       1:2.51-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-HTTP-Tiny.src         0.076-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-IO-Compress.src       2.093-1.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-IO-Socket-IP.src      0.39-6.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-IPC-Cmd.src           2:1.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-IPC-System-Simple.src 1.25-18.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-JSON-PP.src           1:4.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Locale-Maketext.src   1.29-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-MRO-Compat.src        0.13-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Math-BigInt.src       1:1.9998.18-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Math-BigRat.src       0.2614-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Module-Build.src      2:0.42.29-4.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-CoreList.src   1:5.20191220-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-Load.src       1:0.34-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Module-Load-Conditional.src
                           0.70-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Module-Metadata.src   1.000037-1.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Package-Generator.src 1.106-12.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Params-Check.src      1:0.38-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Perl-OSType.src       1.010-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-PerlIO-via-QuotedPrint.src
                           0.08-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Checker.src       4:1.73-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Escapes.src       1:1.07-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Parser.src        1.63-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Pod-Perldoc.src       3.28.01-442.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Pod-Simple.src        1:3.40-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Usage.src         4:1.69-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Software-License.src  0.103014-5.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Sub-Exporter.src      0.987-16.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Sub-Install.src       0.928-15.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-ANSIColor.src    4.06-397.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-Cap.src          1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Harness.src      1:3.42-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Simple.src       3:1.302170-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Balanced.src     2.03-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Diff.src         1.45-7.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-Glob.src         0.11-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-ParseWords.src   3.30-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Tabs+Wrap.src    2013.0523-396.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Template.src     1.58-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Thread-Queue.src      3.13-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Time-Local.src        1:1.280-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-URI.src               1.76-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-autodie.src           2.29-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-bignum.src            0.51-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-constant.src          1.33-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-experimental.src      0.020-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-inc-latest.src        2:0.500-10.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-libnet.src            3.11-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-local-lib.src         2.000024-7.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-parent.src            1:0.237-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-perlfaq.src           5.20191102-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-podlators.src         1:4.12-2.module+el8.3.0+7729+86a74f64   ol8_appstream
python3-asn1crypto.noarch  1.3.0-4.el8                             ol8_developer_EPEL
python3-click.noarch       7.1.2-3.el8                             ol8_developer_EPEL
python3-oauthlib.noarch    3.0.2-8.el8                             ol8_developer_EPEL
python36-oci-cli.noarch    2.26.2-1.el8                            ol8_oci_included
python36-oci-sdk.x86_64    2.42.0-1.el8                            ol8_oci_included
Security: kernel-uek-5.4.17-2102.202.5.el8uek.x86_64 is an installed security update
Security: kernel-uek-5.4.17-2102.201.3.el8uek.x86_64 is the currently running version
# dnf update -y
Last metadata expiration check: 0:07:28 ago on Mon 19 Jul 2021 09:41:55 AM JST.
Error:
 Problem: package python36-oci-cli-2.26.2-1.el8.noarch requires python3-click = 6.7, but none of the providers can be installed
  - cannot install both python3-click-7.1.2-3.el8.noarch and python3-click-6.7-8.el8.noarch
  - cannot install both python3-click-6.7-8.el8.noarch and python3-click-7.1.2-3.el8.noarch
  - cannot install the best update candidate for package python36-oci-cli-2.26.1-1.el8.noarch
  - cannot install the best update candidate for package python3-click-6.7-8.el8.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
#

ol8_developer_EPELレポジトリからpython3-click-7.1.2-3のアップデートがきたけど、python36-oci-cliはpython3-clock-6.7要求だから、失敗、というもの。

現状を確認するために「dnf repolist –all」を実行

]# dnf repolist --all
repo id                          repo name                              status
ol8_MySQL80                      MySQL 8.0 for Oracle Linux 8 (x86_64)  enabled
ol8_MySQL80_connectors_community MySQL 8.0 Connectors Community for Ora enabled
ol8_MySQL80_tools_community      MySQL 8.0 Tools Community for Oracle L enabled
ol8_UEKR6                        Latest Unbreakable Enterprise Kernel R enabled
ol8_UEKR6_RDMA                   Oracle Linux 8 UEK6 RDMA (x86_64)      disabled
ol8_addons                       Oracle Linux 8 Addons (x86_64)         disabled
ol8_appstream                    Oracle Linux 8 Application Stream (x86 enabled
ol8_baseos_latest                Oracle Linux 8 BaseOS Latest (x86_64)  enabled
ol8_codeready_builder            Oracle Linux 8 CodeReady Builder (x86_ disabled
ol8_developer                    Oracle Linux 8 Development Packages (x disabled
ol8_developer_EPEL               Oracle Linux 8 EPEL Packages for Devel enabled
ol8_developer_UEKR6              Developer Preview of UEK Release 6 (x8 disabled
ol8_distro_builder               Oracle Linux 8 Distro Builder (x86_64) disabled
ol8_ksplice                      Ksplice for Oracle Linux 8 (x86_64)    enabled
ol8_kvm_appstream                Oracle Linux 8 KVM Application Stream  disabled
ol8_oci_included                 Oracle Software for OCI users on Oracl enabled
ol8_u0_baseos_base               Oracle Linux 8 BaseOS GA (x86_64)      disabled
ol8_u1_baseos_base               Oracle Linux 8.1 BaseOS (x86_64)       disabled
ol8_u2_baseos_base               Oracle Linux 8.2 BaseOS (x86_64)       disabled
ol8_u3_baseos_base               Oracle Linux 8.3 BaseOS (x86_64)       disabled
ol8_u4_baseos_base               Oracle Linux 8.4 BaseOS (x86_64)       disabled
ol8_x86_64_userspace_ksplice     Ksplice aware userspace packages for O disabled
#

これはEPELからパッケージを持ってこないようにするしかないかな・・・というところ

# cat /etc/yum.repos.d/oracle-epel-ol8.repo
[ol8_developer_EPEL]
name=Oracle Linux $releasever EPEL Packages for Development ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/developer/EPEL/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
#

これに「exclude=python3-click」を追加して対象外に設定

# cat /etc/yum.repos.d/oracle-epel-ol8.repo
[ol8_developer_EPEL]
name=Oracle Linux $releasever EPEL Packages for Development ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/developer/EPEL/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
exclude=python3-click
#

アップデート成功

# dnf check-update
Oracle Linux 8 EPEL Packages for Development (x  62 kB/s | 2.5 kB     00:00

iwl100-firmware.noarch     999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl1000-firmware.noarch    999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl105-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl135-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2000-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2030-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl3160-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
iwl3945-firmware.noarch    999:15.32.2.9-999.8.el8                 ol8_baseos_latest
iwl4965-firmware.noarch    999:228.61.2.24-999.8.el8               ol8_baseos_latest
iwl5000-firmware.noarch    999:8.83.5.1_1-999.8.el8                ol8_baseos_latest
iwl5150-firmware.noarch    999:8.24.2.2-999.8.el8                  ol8_baseos_latest
iwl6000-firmware.noarch    999:9.221.4.1-999.8.el8                 ol8_baseos_latest
iwl6000g2a-firmware.noarch 999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl6050-firmware.noarch    999:41.28.5.1-999.8.el8                 ol8_baseos_latest
iwl7260-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
kernel-uek.x86_64          5.4.17-2102.203.5.el8uek                ol8_UEKR6
kernel-uek-devel.x86_64    5.4.17-2102.203.5.el8uek                ol8_UEKR6
ksplice.x86_64             1.0.55-1.el8                            ol8_ksplice
ksplice-core0.x86_64       1.0.55-1.el8                            ol8_ksplice
ksplice-tools.x86_64       1.0.55-1.el8                            ol8_ksplice
linux-firmware.noarch      999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
linux-firmware.src         999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
perl-Algorithm-Diff.src    1.1903-10.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Archive-Tar.src       2.32-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Archive-Zip.src       1.67-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN.src              2.27-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN-Meta.src         2.150010-397.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-CPAN-Meta-Requirements.src
                           2.140-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-CPAN-Meta-YAML.src    0.018-1001.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Carp.src              1.50-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Config-Perl-V.src     0.32-441.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Data-OptList.src      0.110-7.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-Data-Section.src      0.200007-8.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Digest.src            1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Env.src               1.04-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Exporter.src          5.73-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-CBuilder.src 1:0.280231-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-ExtUtils-Install.src  2.14-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-MakeMaker.src
                           2:7.42-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-Manifest.src 1:1.72-438.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-ExtUtils-ParseXS.src  1:3.40-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-File-Fetch.src        0.56-3.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-File-HomeDir.src      1.004-6.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-File-Path.src         2.16-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-File-Temp.src         1:0.230.900-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-File-Which.src        1.23-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Filter-Simple.src     0.95-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Getopt-Long.src       1:2.51-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-HTTP-Tiny.src         0.076-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-IO-Compress.src       2.093-1.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-IO-Socket-IP.src      0.39-6.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-IPC-Cmd.src           2:1.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-IPC-System-Simple.src 1.25-18.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-JSON-PP.src           1:4.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Locale-Maketext.src   1.29-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-MRO-Compat.src        0.13-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Math-BigInt.src       1:1.9998.18-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Math-BigRat.src       0.2614-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Module-Build.src      2:0.42.29-4.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-CoreList.src   1:5.20191220-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-Load.src       1:0.34-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Module-Load-Conditional.src
                           0.70-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Module-Metadata.src   1.000037-1.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Package-Generator.src 1.106-12.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Params-Check.src      1:0.38-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Perl-OSType.src       1.010-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-PerlIO-via-QuotedPrint.src
                           0.08-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Checker.src       4:1.73-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Escapes.src       1:1.07-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Parser.src        1.63-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Pod-Perldoc.src       3.28.01-442.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Pod-Simple.src        1:3.40-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Usage.src         4:1.69-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Software-License.src  0.103014-5.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Sub-Exporter.src      0.987-16.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Sub-Install.src       0.928-15.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-ANSIColor.src    4.06-397.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-Cap.src          1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Harness.src      1:3.42-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Simple.src       3:1.302170-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Balanced.src     2.03-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Diff.src         1.45-7.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-Glob.src         0.11-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-ParseWords.src   3.30-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Tabs+Wrap.src    2013.0523-396.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Template.src     1.58-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Thread-Queue.src      3.13-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Time-Local.src        1:1.280-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-URI.src               1.76-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-autodie.src           2.29-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-bignum.src            0.51-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-constant.src          1.33-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-experimental.src      0.020-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-inc-latest.src        2:0.500-10.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-libnet.src            3.11-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-local-lib.src         2.000024-7.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-parent.src            1:0.237-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-perlfaq.src           5.20191102-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-podlators.src         1:4.12-2.module+el8.3.0+7729+86a74f64   ol8_appstream
python3-asn1crypto.noarch  1.3.0-4.el8                             ol8_developer_EPEL
python3-oauthlib.noarch    3.0.2-8.el8                             ol8_developer_EPEL
python36-oci-cli.noarch    2.26.2-1.el8                            ol8_oci_included
python36-oci-sdk.x86_64    2.42.0-1.el8                            ol8_oci_included
Security: kernel-uek-5.4.17-2102.202.5.el8uek.x86_64 is an installed security update
Security: kernel-uek-5.4.17-2102.201.3.el8uek.x86_64 is the currently running version
# dnf update -y
Last metadata expiration check: 0:00:29 ago on Mon 19 Jul 2021 09:57:01 AM JST.
Dependencies resolved.
================================================================================
 Package             Arch   Version                    Repository          Size
================================================================================
Installing:
 kernel-uek          x86_64 5.4.17-2102.203.5.el8uek   ol8_UEKR6           65 M
 kernel-uek-devel    x86_64 5.4.17-2102.203.5.el8uek   ol8_UEKR6           18 M
Upgrading:
 iwl100-firmware     noarch 999:39.31.5.1-999.8.el8    ol8_baseos_latest  154 k
 iwl1000-firmware    noarch 999:39.31.5.1-999.8.el8    ol8_baseos_latest  217 k
 iwl105-firmware     noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  238 k
 iwl135-firmware     noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  247 k
 iwl2000-firmware    noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  241 k
 iwl2030-firmware    noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  250 k
 iwl3160-firmware    noarch 999:25.30.13.0-999.8.el8   ol8_baseos_latest  1.7 M
 iwl3945-firmware    noarch 999:15.32.2.9-999.8.el8    ol8_baseos_latest   92 k
 iwl4965-firmware    noarch 999:228.61.2.24-999.8.el8  ol8_baseos_latest  105 k
 iwl5000-firmware    noarch 999:8.83.5.1_1-999.8.el8   ol8_baseos_latest  298 k
 iwl5150-firmware    noarch 999:8.24.2.2-999.8.el8     ol8_baseos_latest  151 k
 iwl6000-firmware    noarch 999:9.221.4.1-999.8.el8    ol8_baseos_latest  171 k
 iwl6000g2a-firmware noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  314 k
 iwl6050-firmware    noarch 999:41.28.5.1-999.8.el8    ol8_baseos_latest  247 k
 iwl7260-firmware    noarch 999:25.30.13.0-999.8.el8   ol8_baseos_latest   18 M
 ksplice             x86_64 1.0.55-1.el8               ol8_ksplice         16 k
 ksplice-core0       x86_64 1.0.55-1.el8               ol8_ksplice        270 k
 ksplice-tools       x86_64 1.0.55-1.el8               ol8_ksplice         97 k
 linux-firmware      noarch 999:20210617-999.8.git0f66b74b.el8
                                                       ol8_baseos_latest  178 M
 python3-asn1crypto  noarch 1.3.0-4.el8                ol8_developer_EPEL 184 k
 python3-oauthlib    noarch 3.0.2-8.el8                ol8_developer_EPEL 182 k
 python36-oci-cli    noarch 2.26.2-1.el8               ol8_oci_included   7.4 M
 python36-oci-sdk    x86_64 2.42.0-1.el8               ol8_oci_included    16 M

Transaction Summary
================================================================================
Install   2 Packages
Upgrade  23 Packages

Total download size: 307 M
Downloading Packages:
<略>
Upgraded:
  iwl100-firmware-999:39.31.5.1-999.8.el8.noarch
  iwl1000-firmware-999:39.31.5.1-999.8.el8.noarch
  iwl105-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl135-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl2000-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl2030-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl3160-firmware-999:25.30.13.0-999.8.el8.noarch
  iwl3945-firmware-999:15.32.2.9-999.8.el8.noarch
  iwl4965-firmware-999:228.61.2.24-999.8.el8.noarch
  iwl5000-firmware-999:8.83.5.1_1-999.8.el8.noarch
  iwl5150-firmware-999:8.24.2.2-999.8.el8.noarch
  iwl6000-firmware-999:9.221.4.1-999.8.el8.noarch
  iwl6000g2a-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl6050-firmware-999:41.28.5.1-999.8.el8.noarch
  iwl7260-firmware-999:25.30.13.0-999.8.el8.noarch
  ksplice-1.0.55-1.el8.x86_64
  ksplice-core0-1.0.55-1.el8.x86_64
  ksplice-tools-1.0.55-1.el8.x86_64
  linux-firmware-999:20210617-999.8.git0f66b74b.el8.noarch
  python3-asn1crypto-1.3.0-4.el8.noarch
  python3-oauthlib-3.0.2-8.el8.noarch
  python36-oci-cli-2.26.2-1.el8.noarch
  python36-oci-sdk-2.42.0-1.el8.x86_64
Installed:
  kernel-uek-5.4.17-2102.203.5.el8uek.x86_64
  kernel-uek-devel-5.4.17-2102.203.5.el8uek.x86_64

Complete!
#

古いONTAPがActive Directoryに参加できない


古いONTAP、具体的にはONTAP 8.3.2環境の移行案件があったので、検証のためにONTAP simulatorのONTAP 8.3.2版を仮想環境上に作成して、Active Directoryに参加しようとしたところ下記のエラーとなった。(なお、接続先Active Direcrotyはsamba 4.14.5で構成している)

ontap832::> vserver cifs create -cifs-server share226 -domain adosakana.local -vserver share226

In order to create an Active Directory machine account for the CIFS server, you
must supply the name and password of a Windows account with sufficient
privileges to add computers to the "CN=Computers" container within the
ADOSAKANA.LOCAL domain.

Enter the user name: administrator

Enter the password:

Error: Machine account creation procedure failed
  [ 12154] Loaded the preliminary configuration.
  [ 12332] Created a machine account in the domain
  [ 12339] Successfully connected to 172.17.44.49:445 using TCP
  [ 12351] Unable to connect to LSA service on
           samba.adosakana.local (Error:
           RESULT_ERROR_GENERAL_FAILURE)
  [ 14357] TCP connection to 172.17.44.141:445 via interface
           172.17.44.236 failed: (Operation timed out).
  [ 14357] Could not open a socket to 'samba.adosakana.local'
  [ 14357] Unable to connect to LSA service on
           samba.adosakana.local (Error:
           RESULT_ERROR_SPINCLIENT_UNABLE_TO_RESOLVE_SERVER)
  [ 14357] No servers available for MS_LSA, vserver: 2, domain:
           adosakana.local.
**[ 14357] FAILURE: Unable to make a connection (LSA:adosakana.local),
**         result: 6940
  [ 14357] Could not find Windows SID
           'S-1-5-21-937304154-1581684492-536532533-512'
  [ 14381] Deleted existing account
           'CN=SHARE226,CN=Computers,DC=adosakana,DC=local'

Error: command failed: Failed to create the Active Directory machine account
       "SHARE226". Reason: SecD Error: no server available.

ontap832::>

これは暗号化の問題なので「vserver cifs security show」で設定項目を確認する。

ontap832::> vserver cifs security show -vserver share226

Vserver: share226

                    Kerberos Clock Skew:                   - minutes
                    Kerberos Ticket Age:                   - hours
                   Kerberos Renewal Age:                   - days
                   Kerberos KDC Timeout:                   - seconds
                    Is Signing Required:                   -
        Is Password Complexity Required:                   -
   Use start_tls For AD LDAP connection:               false
              Is AES Encryption Enabled:               false
                 LM Compatibility Level:  lm-ntlm-ntlmv2-krb
             Is SMB Encryption Required:                   -

ontap832::>

ONTAP 8.3.2無印では関連するオプション「SMB2 Enabled for DC Connections」を設定する項目が無い

ontap832::> version -node *

ontap832-01:
NetApp Release 8.3.2: Tue Feb 23 23:35:06 UTC 2016


ontap832::>

アップデータを探したところ、832P12_q_image.tgz(リンク先はNetAppサポートサイトにログインを済ませてからアクセス) があったので、「ONTAP 9.7シミュレータをアップデートする手法」と同じ手法でアップデートを行った。

ontap832::> version -node *

ontap832-01:
NetApp Release 8.3.2P12: Mon Aug 14 02:57:01 UTC 2017


ontap832::>

ONTAP 8.3.2P12であれば、「SMB2 Enabled for DC Connections」が存在していた。

ontap832::> vserver cifs security show -vserver share226

Vserver: share226

                    Kerberos Clock Skew:                   - minutes
                    Kerberos Ticket Age:                   - hours
                   Kerberos Renewal Age:                   - days
                   Kerberos KDC Timeout:                   - seconds
                    Is Signing Required:                   -
        Is Password Complexity Required:                   -
   Use start_tls For AD LDAP connection:               false
              Is AES Encryption Enabled:               false
                 LM Compatibility Level:  lm-ntlm-ntlmv2-krb
             Is SMB Encryption Required:                   -
        SMB1 Enabled for DC Connections:                   -
        SMB2 Enabled for DC Connections:                   -

ontap832::>

設定を変更

ontap832::> vserver cifs security modify -vserver share226 -smb1-enabled-for-dc-connections false -smb2-enabled-for-dc-connections true

ontap832::> vserver cifs security show -vserver share226

Vserver: share226

                    Kerberos Clock Skew:                   - minutes
                    Kerberos Ticket Age:                   - hours
                   Kerberos Renewal Age:                   - days
                   Kerberos KDC Timeout:                   - seconds
                    Is Signing Required:                   -
        Is Password Complexity Required:                   -
   Use start_tls For AD LDAP connection:               false
              Is AES Encryption Enabled:               false
                 LM Compatibility Level:  lm-ntlm-ntlmv2-krb
             Is SMB Encryption Required:                   -
        SMB1 Enabled for DC Connections:               false
        SMB2 Enabled for DC Connections:                true

ontap832::>

そして、Active Directoryへの参加

ontap832::> vserver cifs create -cifs-server share226 -domain adosakana.local -vserver share226

In order to create an Active Directory machine account for the CIFS server, you
must supply the name and password of a Windows account with sufficient
privileges to add computers to the "CN=Computers" container within the
ADOSAKANA.LOCAL domain.

Enter the user name: administrator

Enter the password:

Warning: An account by this name already exists in Active Directory at
         CN=SHARE226,CN=Computers,DC=adosakana,DC=local
         Ok to reuse this account? {y|n}: y

ontap832::>

今度は成功した。

MariaDB 5.5から10.6にアップデートして死にかけた件(utf8が無くなった)


CentOS7上で動いているMariaDB 5.5サーバをMariaDB 10.6にアップデートして死にかけた。

2022/10/28追記:この件に関するMariaDB公式のお知らせ的な物。どうやらold_mode を設定するらしい

データベースのアップデート自体は問題なかったのだが、アプリケーション側で問題発生。

/var/log/messages に下記の様なメッセージが多発

Jul 13 10:50:11 ホスト名 kernel: dict[23339]: segfault at a8 ip 00007f99c6fa9fa1 sp 00007ffc4641fe50 error 4 in libmysqlclient.so.18.0.0[7f99c6f4b000+320000]
Jul 13 10:50:11 ホスト名 mariadbd: 2021-07-13 10:50:11 7 [Warning] Aborted connection 7 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 10:50:11 ホスト名 kernel: dict[23340]: segfault at a8 ip 00007f3950ee4fa1 sp 00007ffe8bec4f70 error 4 in libmysqlclient.so.18.0.0[7f3950e86000+320000]
Jul 13 10:50:11 ホスト名 kernel: dict[23341]: segfault at a8 ip 00007f89b3d8efa1 sp 00007ffed464d830 error 4 in libmysqlclient.so.18.0.0[7f89b3d30000+320000]
Jul 13 10:50:11 ホスト名 mariadbd: 2021-07-13 10:50:11 8 [Warning] Aborted connection 8 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 10:50:33 ホスト名 kernel: auth[23362]: segfault at a8 ip 00007f197609dfa1 sp 00007ffe82dc98a0 error 4 in libmysqlclient.so.18.0.0[7f197603f000+320000]

authとdictでlibmysqlclient.so.18.0.0 のsegmentation faultが発生しているという・・・

で・・このauthとdictというのはdovecot/authとdovecot/dictで、そこで何か起こっているようだ

/var/log/dovecot/dovecot.log を見てみる

Jul 13 10:50:05 ホスト名1 dovecot: dict(23024): Error: mysql(127.0.0.1): Connect failed to database (vmail): Can't connect to MySQL s
erver on '127.0.0.1' (111 "Connection refused") - waiting for 5 seconds before retry
Jul 13 10:50:05 ホスト名1 dovecot: dict(23024): Error: mysql(127.0.0.1): Connect failed to database (vmail): Can't connect to MySQL s
erver on '127.0.0.1' (111 "Connection refused") - waiting for 5 seconds before retry
Jul 13 10:50:10 ホスト名1 dovecot: dict: Error: #007Character set 'utf8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Jul 13 10:50:10 ホスト名1 dovecot: dict(23024): Error: mysql(127.0.0.1): Connect failed to database (vmail): Can't initialize character set utf8 (path: /usr/share/mysql/charsets/) - waiting for 25 seconds before retry
Jul 13 10:50:10 ホスト名1 dovecot: dict: Error: #007Character set 'utf8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Jul 13 10:50:10 ホスト名1 dovecot: dict(23024): Error: mysql(127.0.0.1): Connect failed to database (vmail): Can't initialize character set utf8 (path: /usr/share/mysql/charsets/) - waiting for 25 seconds before retry
Jul 13 10:50:11 ホスト名1 dovecot: dict: Error: #007Character set 'utf8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Jul 13 10:50:11 ホスト名1 dovecot: dict(23338): Error: mysql(127.0.0.1): Connect failed to database (vmail): Can't initialize character set utf8 (path: /usr/share/mysql/charsets/) - waiting for 1 seconds before retry

mariadb 10.6で文字コード utf8の指定ができないというエラーなようだ。

/usr/share/mysql/charsets/ に utf8の定義があるか確認してみる

# ls -l /usr/share/mysql/charsets/
合計 236
-rw-r--r-- 1 root root 23531  7月  5 19:47 Index.xml
-rw-r--r-- 1 root root  1749  7月  5 19:47 README
-rw-r--r-- 1 root root  5526  7月  5 19:47 armscii8.xml
-rw-r--r-- 1 root root  5512  7月  5 19:47 ascii.xml
-rw-r--r-- 1 root root  8241  7月  5 19:47 cp1250.xml
-rw-r--r-- 1 root root  8365  7月  5 19:47 cp1251.xml
-rw-r--r-- 1 root root  5569  7月  5 19:47 cp1256.xml
-rw-r--r-- 1 root root  8902  7月  5 19:47 cp1257.xml
-rw-r--r-- 1 root root  5506  7月  5 19:47 cp850.xml
-rw-r--r-- 1 root root  5528  7月  5 19:47 cp852.xml
-rw-r--r-- 1 root root  5613  7月  5 19:47 cp866.xml
-rw-r--r-- 1 root root  6529  7月  5 19:47 dec8.xml
-rw-r--r-- 1 root root  5516  7月  5 19:47 geostd8.xml
-rw-r--r-- 1 root root  5728  7月  5 19:47 greek.xml
-rw-r--r-- 1 root root  5517  7月  5 19:47 hebrew.xml
-rw-r--r-- 1 root root  5502  7月  5 19:47 hp8.xml
-rw-r--r-- 1 root root  5529  7月  5 19:47 keybcs2.xml
-rw-r--r-- 1 root root  5510  7月  5 19:47 koi8r.xml
-rw-r--r-- 1 root root  6532  7月  5 19:47 koi8u.xml
-rw-r--r-- 1 root root  9816  7月  5 19:47 latin1.xml
-rw-r--r-- 1 root root  7238  7月  5 19:47 latin2.xml
-rw-r--r-- 1 root root  5515  7月  5 19:47 latin5.xml
-rw-r--r-- 1 root root  7438  7月  5 19:47 latin7.xml
-rw-r--r-- 1 root root  8047  7月  5 19:47 macce.xml
-rw-r--r-- 1 root root  8058  7月  5 19:47 macroman.xml
-rw-r--r-- 1 root root  6530  7月  5 19:47 swe7.xml
# grep utf8 /usr/share/mysql/charsets/Index.xml
<charset name="utf8mb3">
  <collation name="utf8mb3_general_ci"  id="33">
  <collation name="utf8mb3_bin"         id="83">
#

なんと無い。

/usr/share/mysql/charsets/Index.xml のutf8関連記述を見てみる

<charset name="utf8mb3">
  <family>Unicode</family>
  <description>UTF-8 Unicode</description>
  <alias>utf-8</alias>
  <collation name="utf8mb3_general_ci"  id="33">
   <flag>primary</flag>
   <flag>compiled</flag>
  </collation>
  <collation name="utf8mb3_bin"         id="83">
    <flag>binary</flag>
    <flag>compiled</flag>
  </collation>
</charset>

おやぁ???

以前mariadb 10.5にアップデートしたサーバの/usr/share/mysql/charsets/Index.xmlの該当箇所と比較すると、いままでは utf8だったエントリが utf8mb3 に置き換わっているようだ。

<charset name="utf8">
  <family>Unicode</family>
  <description>UTF-8 Unicode</description>
  <alias>utf-8</alias>
  <collation name="utf8_general_ci"     id="33">
   <flag>primary</flag>
   <flag>compiled</flag>
  </collation>
  <collation name="utf8_bin"            id="83">
    <flag>binary</flag>
    <flag>compiled</flag>
  </collation>
</charset>

で・・・ /etc/my.cnf の設定で言語に関する設定は下記の様になっていた

[mysqld]
<略>
# character-set-server に関する値は未設定
<略>
[client]
default-character-set=utf8

クライアントからのアクセス時のデフォルトがutf8と設定されていた。

そこで/etc/my.cnf の文字コード指定を utf8mb3 に変更

[mysqld]
<略>
character-set-server=utf8mb3
<略>
[client]
default-character-set=utf8mb3

これで接続できない、という事象はなくなった。

なくなったが、/var/log/messages には下記のメッセージが出続けている。

Jul 13 13:10:01 ホスト名 mariadbd: 2021-07-13 13:10:01 925 [Warning] Aborted connection 925 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:10:02 ホスト名 mariadbd: 2021-07-13 13:10:02 934 [Warning] Aborted connection 934 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:10:06 ホスト名 mariadbd: 2021-07-13 13:10:06 935 [Warning] Aborted connection 935 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:10:06 ホスト名 mariadbd: 2021-07-13 13:10:06 936 [Warning] Aborted connection 936 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:10:22 ホスト名 mariadbd: 2021-07-13 13:10:22 811 [Warning] Aborted connection 811 to db: 'amavisd' user: 'amavisd' host: 'localhost' (Got timeout reading communication packets)
Jul 13 13:11:01 ホスト名 mariadbd: 2021-07-13 13:11:01 786 [Warning] Aborted connection 786 to db: 'amavisd' user: 'amavisd' host: 'localhost' (Got timeout reading communication packets)
Jul 13 13:12:26 ホスト名 mariadbd: 2021-07-13 13:12:26 839 [Warning] Aborted connection 839 to db: 'amavisd' user: 'amavisd' host: 'localhost' (Got timeout reading communication packets)
Jul 13 13:12:26 ホスト名 mariadbd: 2021-07-13 13:12:26 828 [Warning] Aborted connection 828 to db: 'amavisd' user: 'amavisd' host: 'localhost' (Got timeout reading communication packets)

iRedMailフォーラム「mysqld [Warning] Aborted connection」によると、ログレベル下げろ、とのこと

mysqlを起動しようとしたら問題が・・・

# mysql -u root
ERROR 2019 (00000): Can't initialize character set utf8mb3 (path: compiled_in)
#

とりあえず /etc/my.cnf の最後に下記を追加

[mysql]
default-character-set=utf8

警告はでるのもの操作は可能(なお、default-character-set=utf8mb3 だと起動できなかった)

# mysql -u root
mysql: Warning: Charset id '33' csname 'utf8mb3' trying to replace existing csname 'utf8'
mysql: Warning: Charset id '83' csname 'utf8mb3' trying to replace existing csname 'utf8'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1103
Server version: 10.6.3-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

起動したのでフォーラムにあった設定を入れる。

MariaDB [(none)]> show global variables like '%log_warnings%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings  | 2     |
+---------------+-------+
1 row in set (0.002 sec)

MariaDB [(none)]> set global log_warnings=1;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> show global variables like '%log_warnings%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings  | 1     |
+---------------+-------+
1 row in set (0.002 sec)

MariaDB [(none)]> quit
Bye
#

しばらく放置・・・

Jul 13 13:40:01 ホスト名 mariadbd: 2021-07-13 13:40:01 313 [Warning] Aborted connection 313 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:40:02 ホスト名 mariadbd: 2021-07-13 13:40:02 314 [Warning] Aborted connection 314 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:40:04 ホスト名 mariadbd: 2021-07-13 13:40:04 315 [Warning] Aborted connection 315 to db: 'unconnected' user: 'unauthenticated' host: 'localhost' (This connection closed normally without authentication)
Jul 13 13:42:53 ホスト名 mariadbd: 2021-07-13 13:42:53 359 [Warning] Aborted connection 359 to db: 'vmail' user: 'vmail' host: 'localhost' (Got an error reading communication packets)
Jul 13 13:42:53 ホスト名 mariadbd: 2021-07-13 13:42:53 352 [Warning] Aborted connection 352 to db: 'vmail' user: 'vmail' host: 'localhost' (Got an error reading communication packets)
Jul 13 13:42:53 ホスト名 mariadbd: 2021-07-13 13:42:53 357 [Warning] Aborted connection 357 to db: 'vmail' user: 'vmail' host: 'localhost' (Got an error reading communication packets)
Jul 13 13:42:53 ホスト名 mariadbd: 2021-07-13 13:42:53 351 [Warning] Aborted connection 351 to db: 'vmail' user: 'vmail' host: 'localhost' (Got an error reading communication packets)

うーん?

あれ?反映されてない

# mysql -u root
mysql: Warning: Charset id '33' csname 'utf8mb3' trying to replace existing csname 'utf8'
mysql: Warning: Charset id '83' csname 'utf8mb3' trying to replace existing csname 'utf8'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 474
Server version: 10.6.3-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show global variables like '%log_warnings%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings  | 2     |
+---------------+-------+
1 row in set (0.002 sec)

MariaDB [(none)]> set global log_warnings=1;
Query OK, 0 rows aff
MariaDB [(none)]>

なんだろ?とりあえず再設定・・・

今度は大丈夫か?

…2時間経過

大丈夫そうだな


2021/07/15追記

注:下記はmariadbのserverとclientのバージョンが違っていたことによる問題でなので参考情報です

iredmailでは/usr/local/bin/fail2ban_banned_dbがcronにより毎分実行されているのだが、これがmysqlコマンドを使ってデータベース操作をしているようで、下記のメールが届くようになってしまった・・・

mysql: Warning: Charset id '33' csname 'utf8mb3' trying to replace existing csname 'utf8'
mysql: Warning: Charset id '83' csname 'utf8mb3' trying to replace existing csname 'utf8'

mysqlコマンドを実行した際のメッセージをなんとしてでも消さなければならないようだ。

utf8がutf8mb3になった変更について「MariaDB Server/MDEV-8334/Rename utf8 to utf8mb3

MariaDBの「OLD_MODE」という設定

# mysql -u root
mysql: Warning: Charset id '33' csname 'utf8mb3' trying to replace existing csname 'utf8'
mysql: Warning: Charset id '83' csname 'utf8mb3' trying to replace existing csname 'utf8'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 38510
Server version: 10.6.3-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SELECT REPLACE(@@OLD_MODE, ',', '\n');
+--------------------------------+
| REPLACE(@@OLD_MODE, ',', '\n') |
+--------------------------------+
| UTF8_IS_UTF8MB3                |
+--------------------------------+
1 row in set (0.023 sec)

MariaDB [(none)]>

現状は「UTF8_IS_UTF8MB3」が設定されているので、UTF8=UTF8MB3扱いになるらしいが、設定されていない場合は「UTF8=UTF8MB4」となるそうな。

だったら、「utf8」でアクセスした場合でも勝手に読み替えて欲しいもんなんだけど、どうなっているのか???

MariaDB [(none)]> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb3                    |
| character_set_connection | utf8mb3                    |
| character_set_database   | utf8mb3                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb3                    |
| character_set_server     | utf8mb3                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.002 sec)

MariaDB [(none)]>
MariaDB [(none)]> show global variables like '%character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb3                    |
| character_set_connection | utf8mb3                    |
| character_set_database   | utf8mb3                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb3                    |
| character_set_server     | utf8mb3                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.002 sec)

MariaDB [(none)]> show global variables like 'collation%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb3_general_ci |
| collation_database   | utf8mb3_general_ci |
| collation_server     | utf8mb3_general_ci |
+----------------------+--------------------+
3 rows in set (0.002 sec)

MariaDB [(none)]>

ん?????

トラブル生じた時に、MariaDB10.5にしなかったっけ?と

# rpm -qa | grep MariaDB
MariaDB-client-10.5.11-1.el7.centos.x86_64
MariaDB-compat-10.6.3-1.el7.centos.x86_64
MariaDB-common-10.6.3-1.el7.centos.x86_64
MariaDB-server-10.6.3-1.el7.centos.x86_64
#

あー・・・MariaDB-clientとMariaDB-serverのバージョンがずれていました。

そんなわけで、MariaDB-clientの方も 10.6.3に揃えて再実行

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 405
Server version: 10.6.3-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye
#

というわけで、解決しました。

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]