AlmaLinuxでOracle DB 19cを使ってみる(準備編)

スポンサーリンク

AlmaLinux8.7(RHELクローン)へOracle Database 19cをインストールして使ってみました。

3回に分けて、記事にしています。

(1)AlmaLinuxでOracle DB 19cを使ってみる(準備編)

(2)AlmaLinuxでOracle DB 19cを使ってみる(インストール編)

(3)AlmaLinuxでOracle DB 19cを使ってみる(DB構築編)

(4)AlmaLinuxでOracle DB 19cを使ってみる(自動起動編)

OracleDBをインストールする前に、ある程度の環境を整える必要があります。

なお、OSはGUI環境を含んだインストールがされた状態です。

検証した環境

$ cat /etc/os-release 
NAME="AlmaLinux"
VERSION="8.7 (Stone Smilodon)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.7 (Stone Smilodon)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.7"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"
$ uname -r
4.18.0-425.3.1.el8.x86_64

マウントポイントとディレクトリーについて

OracleDBには、OFA(Optimal Flexible Architecture)というものがあり、推奨されるディレクトリー構成というものがあります。

マニュアルに記載はありますが、私には難解で、結局どれがベストなのかわかりませんでした。

とりあえず、下記のように考えました。

マウントポイント主な用途パーミッション、所有者とグループ、ディレクトリーとファイル名
/u01OracleDB本体755 root:root /u01/
755 root:root /u01/app/
755 oracle:oinstall /u01/app/oracle/
755 oracle:oinstall /u01/app/oracle/product/
755 oracle:oinstall /u01/app/oracle/product/19.3.0/
755 oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1/*
755 oracle:oinstall /u01/app/oraInventory/
/u02オンラインREDOログ-a
制御ファイル-1
755 root:root /u02/
755 root:root /u02/app/
755 oracle:oinstall /u02/app/oracle/
755 oracle:oinstall /u02/app/oracle/oradata/
755 oracle:oinstall /u02/app/oracle/oradata/CDB名/
644 oracle:oinstall /u02/app/oracle/oradata/CDB名/control01.ctl
755 oracle:oinstall /u02/app/oracle/oradata/CDB名/onlinelog/
644 oracle:oinstall /u02/app/oracle/oradata/CDB名/onlinelog/redo[01-03]a.log
/u03オンラインREDOログ-b
制御ファイル-2
755 root:root /u03/
755 root:root /u03/app/
755 oracle:oinstall /u03/app/oracle/
755 oracle:oinstall /u03/app/oracle/oradata/
755 oracle:oinstall /u03/app/oracle/oradata/CDB名/
644 oracle:oinstall /u02/app/oracle/oradata/CDB名/control02.ctl
755 oracle:oinstall /u03/app/oracle/oradata/CDB名/onlinelog/
644 oracle:oinstall /u03/app/oracle/oradata/CDB名/onlinelog/redo[01-03]b.log
/u04アーカイブREDOログ-1755 root:root /u04/
755 root:root /u04/app/
755 oracle:oinstall /u04/app/oracle/
755 oracle:oinstall /u04/app/oracle/admin/
755 oracle:oinstall /u04/app/oracle/admin/CDB名/
755 oracle:oinstall /u04/app/oracle/admin/CDB名/archivelog/
644 oracle:oinstall /u04/app/oracle/admin/CDB名/archivelog/%T-%S-%r.arc
/u05アーカイブREDOログ-2755 root:root /u05/
755 root:root /u05/app/
755 oracle:oinstall /u05/app/oracle/
755 oracle:oinstall /u05/app/oracle/admin/
755 oracle:oinstall /u05/app/oracle/admin/CDB名/
755 oracle:oinstall /u05/app/oracle/admin/CDB名/archivelog/
644 oracle:oinstall /u05/app/oracle/admin/CDB名/archivelog/%T-%S-%r.arc
/u06データファイル755 root:root /u06/
755 root:root /u06/app/
755 oracle:oinstall /u06/app/oracle/
755 oracle:oinstall /u06/app/oracle/oradata/
755 oracle:oinstall /u06/app/oracle/oradata/CDB名/
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/sysaux01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/system01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/temp01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/undotbs01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/users01.dbf
755 oracle:oinstall /u06/app/oracle/oradata/CDB名/PDB名/
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/PDB名/sysaux01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/PDB名/system01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/PDB名/temp01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/PDB名/undotbs01.dbf
644 oracle:oinstall /u06/app/oracle/oradata/CDB名/PDB名/users01.dbf
/u07高速リカバリー
制御ファイル-3
755 oracle:oinstall /u07/app/oracle/fast_recovery_area/CDB名

ホスト名の設定

ホスト名の設定を行い、その名称で名前解決ができるようにします。

ここでは、「/etc/hosts」ファイルに記述していますが、システム内にDNSサーバがあれば、そちらで名前解決ができるようになっていれば良いです。

$ hostnamectl
   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
             : (省略)
$ su - root
Password:xxxxxxx
# hostnamectl set-hostname oracle19c
# hostnamectl
   Static hostname: oracle19c
         Icon name: computer-vm
           Chassis: vm
             : (省略)
# echo "192.168.11.xxx  oracle19c oracle19c.orangetakam.com" >> /etc/hosts
# tail /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.xxx  oracle19c oracle19c.orangetakam.com

KVMのアンインストール

KVMは必要ありませんので、アンインストールを行います。アンインストールを行うことで仮想ブリッジのvirbr0もなくなります。

対応前の状態

$ nmcli device
DEVICE  TYPE      STATE                   CONNECTION
ens192  ethernet  connected               ens192
virbr0  bridge    connected (externally)  virbr0 ・・・ 必要ない
lo      loopback  unmanaged               --

nfs_utilsのアンインストール時に/var/lib/nfs/rpc_pipefsディレクトリーが残ってしまう対処

KVMのアンインストールで、nfs_utilsというパッケージもアンインストールされますが、その際、「warning: directory /var/lib/nfs/rpc_pipefs: remove failed: Device or resource busy」と出力され、ディレクトリーが残ってしまうので、その対処です。

# systemctl status var-lib-nfs-rpc_pipefs.mount
* var-lib-nfs-rpc_pipefs.mount - RPC Pipe File System
   Loaded: loaded (/usr/lib/systemd/system/var-lib-nfs-rpc_pipefs.mount; static; vendor preset: disabled)
   Active: active (mounted) since Thu 2023-03-30 23:25:38 JST; 32min ago
    Where: /var/lib/nfs/rpc_pipefs
     What: sunrpc
    Tasks: 0 (limit: 23499)
   Memory: 16.0K
   CGroup: /system.slice/var-lib-nfs-rpc_pipefs.mount
    : (省略)
# systemctl stop var-lib-nfs-rpc_pipefs.mount
# systemctl status var-lib-nfs-rpc_pipefs.mount
* var-lib-nfs-rpc_pipefs.mount - RPC Pipe File System
   Loaded: loaded (/usr/lib/systemd/system/var-lib-nfs-rpc_pipefs.mount; static; vendor preset: disabled)
   Active: inactive (dead) since Thu 2023-03-30 23:58:14 JST; 1s ago
    Where: /var/lib/nfs/rpc_pipefs
     What: sunrpc
    : (省略)

KVMの削除

# dnf -y remove qemu-kvm
   : (省略)
Removed:
  autogen-libopts-5.18.12-8.el8.x86_64                                  
  boost-atomic-1.66.0-13.el8.x86_64                                     
  boost-chrono-1.66.0-13.el8.x86_64                                     
  boost-date-time-1.66.0-13.el8.x86_64                                  
  boost-iostreams-1.66.0-13.el8.x86_64                                  
  boost-program-options-1.66.0-13.el8.x86_64                            
  boost-random-1.66.0-13.el8.x86_64                                     
  boost-regex-1.66.0-13.el8.x86_64                                      
  boost-system-1.66.0-13.el8.x86_64                                     
  boost-thread-1.66.0-13.el8.x86_64                                     
  celt051-0.5.1.3-15.el8.x86_64                                         
  cyrus-sasl-2.1.27-6.el8_5.x86_64                                      
  edk2-ovmf-20220126gitbb1bba3d77-3.el8.noarch                          
  freerdp-libs-2:2.2.0-8.el8.x86_64                                     
  glusterfs-6.0-56.4.el8.x86_64                                         
  glusterfs-api-6.0-56.4.el8.x86_64                                     
  glusterfs-cli-6.0-56.4.el8.x86_64                                     
  glusterfs-client-xlators-6.0-56.4.el8.x86_64                          
  glusterfs-libs-6.0-56.4.el8.x86_64                                    
  gnome-boxes-3.36.5-8.el8.x86_64                                       
  gnutls-dane-3.6.16-5.el8_6.x86_64                                     
  gnutls-utils-3.6.16-5.el8_6.x86_64                                    
  gssproxy-0.8.0-21.el8.x86_64                                          
  gtk-vnc2-0.9.0-2.el8.x86_64                                           
  gvnc-0.9.0-2.el8.x86_64                                               
  iproute-tc-5.18.0-1.el8.x86_64                                        
  ipxe-roms-qemu-20181214-11.git133f4c47.el8.noarch                     
  keyutils-1.5.10-9.el8.x86_64                                          
  libcacard-3:2.7.0-2.el8_1.x86_64                                      
  libev-4.24-6.el8.x86_64                                               
  libfdt-1.6.0-1.el8.x86_64                                             
  libiscsi-1.18.0-8.module_el8.6.0+2880+7d9e3703.x86_64                 
  libpmem-1.6.1-1.el8.x86_64                                            
  librados2-1:12.2.7-9.el8.x86_64                                       
  librbd1-1:12.2.7-9.el8.x86_64                                         
  librdmacm-41.0-1.el8.x86_64                                           
  libtpms-0.9.1-1.20211126git1ff6fe1f43.module_el8.7.0+3346+68867adb.x86_64
  libverto-libev-0.3.2-2.el8.x86_64                                     
  libvirt-daemon-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64           
  libvirt-daemon-config-network-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-interface-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-network-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-nodedev-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-nwfilter-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-qemu-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-secret-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-core-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-disk-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-gluster-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-iscsi-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-iscsi-direct-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-logical-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-mpath-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-rbd-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-driver-storage-scsi-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64
  libvirt-daemon-kvm-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64       
  libvirt-gconfig-3.0.0-1.el8.x86_64                                    
  libvirt-glib-3.0.0-1.el8.x86_64                                       
  libvirt-gobject-3.0.0-1.el8.x86_64                                    
  libvirt-libs-8.0.0-10.module_el8.7.0+3346+68867adb.x86_64             
  libwinpr-2:2.2.0-8.el8.x86_64                                         
  mdevctl-1.1.0-2.el8.x86_64                                            
  mtools-4.0.18-15.el8_6.x86_64                                         
  netcf-libs-0.2.8-12.module_el8.6.0+2880+7d9e3703.x86_64               
  nfs-utils-1:2.3.3-57.el8.x86_64                                       
  numad-0.5-26.20150602git.el8.x86_64                                   
  openssh-askpass-8.0p1-16.el8.x86_64                                   
  qemu-img-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64            
  qemu-kvm-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64            
  qemu-kvm-block-curl-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64 
  qemu-kvm-block-gluster-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64
  qemu-kvm-block-iscsi-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64
  qemu-kvm-block-rbd-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64  
  qemu-kvm-block-ssh-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64  
  qemu-kvm-common-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64     
  qemu-kvm-core-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64       
  qemu-kvm-docs-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64       
  qemu-kvm-hw-usbredir-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64
  qemu-kvm-ui-opengl-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64  
  qemu-kvm-ui-spice-15:6.2.0-20.module_el8.7.0+3346+68867adb.2.x86_64   
  rpcbind-1.2.5-10.el8.x86_64                                           
  seabios-bin-1.16.0-3.module_el8.7.0+3346+68867adb.noarch              
  seavgabios-bin-1.16.0-3.module_el8.7.0+3346+68867adb.noarch           
  sgabios-bin-1:0.20170427git-3.module_el8.6.0+2880+7d9e3703.noarch     
  spice-glib-0.38-6.el8.x86_64                                          
  spice-gtk3-0.38-6.el8.x86_64                                          
  spice-server-0.14.3-4.el8.x86_64                                      
  swtpm-0.7.0-4.20211109gitb79fd91.module_el8.7.0+3346+68867adb.x86_64  
  swtpm-libs-0.7.0-4.20211109gitb79fd91.module_el8.7.0+3346+68867adb.x86_64
  swtpm-tools-0.7.0-4.20211109gitb79fd91.module_el8.7.0+3346+68867adb.x86_64
  systemd-container-239-68.el8.x86_64                                   
  usbredir-0.12.0-2.el8.x86_64                                          
  yajl-2.1.0-11.el8.x86_64                                              

Complete!

マシンリブート

# systemctl reboot

対応後の状態

$ nmcli device
DEVICE  TYPE      STATE                   CONNECTION
ens192  ethernet  connected               ens192
lo      loopback  unmanaged               --

インストールされたパッケージのアップデート

最新のパッケージにアップデートします。

# dnf -y update ・・・ 最新の状態に
   : (省略)
Upgraded:
  NetworkManager-1:1.40.0-5.el8_7.x86_64
  NetworkManager-adsl-1:1.40.0-5.el8_7.x86_64
  NetworkManager-bluetooth-1:1.40.0-5.el8_7.x86_64
  NetworkManager-config-server-1:1.40.0-5.el8_7.noarch
  NetworkManager-libnm-1:1.40.0-5.el8_7.x86_64
  NetworkManager-team-1:1.40.0-5.el8_7.x86_64
  NetworkManager-tui-1:1.40.0-5.el8_7.x86_64
  NetworkManager-wifi-1:1.40.0-5.el8_7.x86_64
  NetworkManager-wwan-1:1.40.0-5.el8_7.x86_64
  almalinux-release-8.7-3.el8.x86_64
  authselect-1.2.5-2.el8_7.x86_64
  authselect-compat-1.2.5-2.el8_7.x86_64
  authselect-libs-1.2.5-2.el8_7.x86_64
  bind-libs-32:9.11.36-5.el8_7.2.x86_64
  bind-libs-lite-32:9.11.36-5.el8_7.2.x86_64
  bind-license-32:9.11.36-5.el8_7.2.noarch
  bind-utils-32:9.11.36-5.el8_7.2.x86_64
  bpftool-4.18.0-425.13.1.el8_7.x86_64
  buildah-1:1.27.3-1.module_el8.7.0+3407+95aa0ca9.x86_64
  cockpit-podman-53-1.module_el8.7.0+3407+95aa0ca9.noarch
  conmon-3:2.1.4-1.module_el8.7.0+3407+95aa0ca9.x86_64
  container-selinux-2:2.189.0-1.module_el8.7.0+3407+95aa0ca9.noarch
  containernetworking-plugins-1:1.1.1-3.module_el8.7.0+3407+95aa0ca9.x86_64
  containers-common-2:1-46.module_el8.7.0+3407+95aa0ca9.x86_64
  criu-3.15-3.module_el8.7.0+3407+95aa0ca9.x86_64
  curl-7.61.1-25.el8_7.3.x86_64
  dbus-1:1.12.8-23.el8_7.1.x86_64
  dbus-common-1:1.12.8-23.el8_7.1.noarch
  dbus-daemon-1:1.12.8-23.el8_7.1.x86_64
  dbus-libs-1:1.12.8-23.el8_7.1.x86_64
  dbus-tools-1:1.12.8-23.el8_7.1.x86_64
  dbus-x11-1:1.12.8-23.el8_7.1.x86_64
  device-mapper-multipath-0.8.4-28.el8_7.1.x86_64
  device-mapper-multipath-libs-0.8.4-28.el8_7.1.x86_64
  dracut-049-218.git20221019.el8_7.x86_64
  dracut-config-rescue-049-218.git20221019.el8_7.x86_64
  dracut-network-049-218.git20221019.el8_7.x86_64
  dracut-squash-049-218.git20221019.el8_7.x86_64
  expat-2.2.5-10.el8_7.1.x86_64
  firefox-102.9.0-3.el8_7.alma.x86_64
  fuse-overlayfs-1.9-1.module_el8.7.0+3407+95aa0ca9.x86_64
  gnome-settings-daemon-3.32.0-16.el8_7.1.alma.x86_64
  grub2-common-1:2.02-142.el8_7.3.alma.noarch
  grub2-efi-x64-1:2.02-142.el8_7.3.alma.x86_64
  grub2-tools-1:2.02-142.el8_7.3.alma.x86_64
  grub2-tools-extra-1:2.02-142.el8_7.3.alma.x86_64
  grub2-tools-minimal-1:2.02-142.el8_7.3.alma.x86_64
  hyperv-daemons-0-0.34.20180415git.el8_7.x86_64
  hyperv-daemons-license-0-0.34.20180415git.el8_7.noarch
  hypervfcopyd-0-0.34.20180415git.el8_7.x86_64
  hypervkvpd-0-0.34.20180415git.el8_7.x86_64
  hypervvssd-0-0.34.20180415git.el8_7.x86_64
  iptables-1.8.4-23.el8_7.1.x86_64
  iptables-ebtables-1.8.4-23.el8_7.1.x86_64
  iptables-libs-1.8.4-23.el8_7.1.x86_64
  kernel-tools-4.18.0-425.13.1.el8_7.x86_64
  kernel-tools-libs-4.18.0-425.13.1.el8_7.x86_64
  kmod-kvdo-6.2.7.17-88.el8_7.x86_64
  kpartx-0.8.4-28.el8_7.1.x86_64
  krb5-libs-1.18.2-22.el8_7.x86_64
  libXpm-3.5.12-9.el8_7.x86_64
  libatomic-8.5.0-16.el8_7.alma.x86_64
  libblkid-2.32.1-39.el8_7.x86_64
  libcurl-7.61.1-25.el8_7.3.x86_64
  libfdisk-2.32.1-39.el8_7.x86_64
  libgcc-8.5.0-16.el8_7.alma.x86_64
  libgomp-8.5.0-16.el8_7.alma.x86_64
  libipa_hbac-2.7.3-4.el8_7.3.x86_64
  libksba-1.3.5-9.el8_7.x86_64
  libmount-2.32.1-39.el8_7.x86_64
  libnfsidmap-1:2.3.3-57.el8_7.1.x86_64
  libslirp-4.4.0-1.module_el8.7.0+3407+95aa0ca9.x86_64
  libsmartcols-2.32.1-39.el8_7.x86_64
  libsmbclient-4.16.4-4.el8_7.x86_64
  libsolv-0.7.20-4.el8_7.x86_64
  libsss_autofs-2.7.3-4.el8_7.3.x86_64
  libsss_certmap-2.7.3-4.el8_7.3.x86_64
  libsss_idmap-2.7.3-4.el8_7.3.x86_64
  libsss_nss_idmap-2.7.3-4.el8_7.3.x86_64
  libsss_sudo-2.7.3-4.el8_7.3.x86_64
  libstdc++-8.5.0-16.el8_7.alma.x86_64
  libtasn1-4.13-4.el8_7.x86_64
  libtiff-4.0.9-26.el8_7.x86_64
  libuuid-2.32.1-39.el8_7.x86_64
  libwbclient-4.16.4-4.el8_7.x86_64
  libxml2-2.9.7-15.el8_7.1.x86_64
  mutter-3.32.2-67.el8_7.x86_64
  net-snmp-libs-1:5.8-25.el8_7.1.x86_64
  nss-3.79.0-11.el8_7.x86_64
  nss-softokn-3.79.0-11.el8_7.x86_64
  nss-softokn-freebl-3.79.0-11.el8_7.x86_64
  nss-sysinit-3.79.0-11.el8_7.x86_64
  nss-util-3.79.0-11.el8_7.x86_64
  openssh-8.0p1-17.el8_7.x86_64
  openssh-clients-8.0p1-17.el8_7.x86_64
  openssh-server-8.0p1-17.el8_7.x86_64
  openssl-1:1.1.1k-9.el8_7.x86_64
  openssl-libs-1:1.1.1k-9.el8_7.x86_64
  platform-python-3.6.8-48.el8_7.1.alma.x86_64
  platform-python-setuptools-39.2.0-6.el8_7.1.noarch
  podman-3:4.2.0-8.module_el8.7.0+3407+95aa0ca9.x86_64
  podman-catatonit-3:4.2.0-8.module_el8.7.0+3407+95aa0ca9.x86_64
  python3-bind-32:9.11.36-5.el8_7.2.noarch
  python3-libs-3.6.8-48.el8_7.1.alma.x86_64
  python3-libxml2-2.9.7-15.el8_7.1.x86_64
  python3-perf-4.18.0-425.13.1.el8_7.x86_64
  python3-rpm-4.14.3-24.el8_7.x86_64
  python3-setuptools-39.2.0-6.el8_7.1.noarch
  python3-setuptools-wheel-39.2.0-6.el8_7.1.noarch
  python3-sssdconfig-2.7.3-4.el8_7.3.noarch
  qemu-guest-agent-15:6.2.0-21.module_el8.7.0+3387+571b583b.2.x86_64
  rpm-4.14.3-24.el8_7.x86_64
  rpm-build-libs-4.14.3-24.el8_7.x86_64
  rpm-libs-4.14.3-24.el8_7.x86_64
  rpm-plugin-selinux-4.14.3-24.el8_7.x86_64
  rpm-plugin-systemd-inhibit-4.14.3-24.el8_7.x86_64
  rsync-3.1.3-19.el8_7.1.x86_64
  runc-1:1.1.4-1.module_el8.7.0+3407+95aa0ca9.x86_64
  samba-client-libs-4.16.4-4.el8_7.x86_64
  samba-common-4.16.4-4.el8_7.noarch
  samba-common-libs-4.16.4-4.el8_7.x86_64
  selinux-policy-3.14.3-108.el8_7.1.noarch
  selinux-policy-targeted-3.14.3-108.el8_7.1.noarch
  slirp4netns-1.2.0-2.module_el8.7.0+3407+95aa0ca9.x86_64
  sos-4.5.0-1.el8.alma.noarch
  sqlite-3.26.0-17.el8_7.x86_64
  sqlite-libs-3.26.0-17.el8_7.x86_64
  sssd-2.7.3-4.el8_7.3.x86_64
  sssd-ad-2.7.3-4.el8_7.3.x86_64
  sssd-client-2.7.3-4.el8_7.3.x86_64
  sssd-common-2.7.3-4.el8_7.3.x86_64
  sssd-common-pac-2.7.3-4.el8_7.3.x86_64
  sssd-ipa-2.7.3-4.el8_7.3.x86_64
  sssd-kcm-2.7.3-4.el8_7.3.x86_64
  sssd-krb5-2.7.3-4.el8_7.3.x86_64
  sssd-krb5-common-2.7.3-4.el8_7.3.x86_64
  sssd-ldap-2.7.3-4.el8_7.3.x86_64
  sssd-nfs-idmap-2.7.3-4.el8_7.3.x86_64
  sssd-proxy-2.7.3-4.el8_7.3.x86_64
  sudo-1.8.29-8.el8_7.1.x86_64
  systemd-239-68.el8_7.4.x86_64
  systemd-libs-239-68.el8_7.4.x86_64
  systemd-pam-239-68.el8_7.4.x86_64
  systemd-udev-239-68.el8_7.4.x86_64
  tar-2:1.30-6.el8_7.1.x86_64
  tigervnc-license-1.12.0-9.el8_7.1.noarch
  tigervnc-server-minimal-1.12.0-9.el8_7.1.x86_64
  tzdata-2023b-1.el8.noarch
  util-linux-2.32.1-39.el8_7.x86_64
  util-linux-user-2.32.1-39.el8_7.x86_64
  webkit2gtk3-2.36.7-1.el8_7.2.x86_64
  webkit2gtk3-jsc-2.36.7-1.el8_7.2.x86_64
  zlib-1.2.11-21.el8_7.x86_64
Installed:
  grub2-tools-efi-1:2.02-142.el8_7.3.alma.x86_64
  kernel-4.18.0-425.13.1.el8_7.x86_64
  kernel-core-4.18.0-425.13.1.el8_7.x86_64
  kernel-modules-4.18.0-425.13.1.el8_7.x86_64
  python3-magic-5.33-21.el8.noarch

Complete!

マシンリブート

$ sudo systemctl reboot

アップデート後の検証環境状態

$ cat /etc/os-release 
NAME="AlmaLinux"
VERSION="8.7 (Stone Smilodon)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.7 (Stone Smilodon)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.7"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"
$ uname -r
4.18.0-425.13.1.el8_7.x86_64

OracleDBの前提パッケージのインストール

OracleDBのインストール前に必要となるパッケージを事前インストールします。

# dnf -y install bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel  glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel libxcb libibverbs make policycoreutils policycoreutils-python-utils smartmontools sysstat
  : (省略)
Package bc-1.07.1-5.el8.x86_64 is already installed.
Package binutils-2.30-117.el8.x86_64 is already installed.
Package elfutils-libelf-0.187-4.el8.x86_64 is already installed.
Package glibc-2.28-211.el8.x86_64 is already installed.
Package libaio-0.3.112-1.el8.x86_64 is already installed.
Package libXrender-0.9.10-7.el8.x86_64 is already installed.
Package libX11-1.6.8-5.el8.x86_64 is already installed.
Package libXau-1.0.9-3.el8.x86_64 is already installed.
Package libXi-1.7.10-1.el8.x86_64 is already installed.
Package libXtst-1.2.3-7.el8.x86_64 is already installed.
Package libgcc-8.5.0-16.el8_7.alma.x86_64 is already installed.
Package libstdc++-8.5.0-16.el8_7.alma.x86_64 is already installed.
Package libxcb-1.13.1-1.el8.x86_64 is already installed.
Package libibverbs-41.0-1.el8.x86_64 is already installed.
Package policycoreutils-2.9-20.el8.x86_64 is already installed.
Package policycoreutils-python-utils-2.9-20.el8.noarch is already installed.
Package smartmontools-1:7.1-1.el8.x86_64 is already installed.
Dependencies resolved.
  : (省略)
Installed:
  bzip2-devel-1.0.6-26.el8.x86_64
  elfutils-libelf-devel-0.187-4.el8.x86_64
  expat-devel-2.2.5-10.el8_7.1.x86_64
  fontconfig-devel-2.13.1-4.el8.x86_64
  freetype-devel-2.9.1-9.el8.x86_64
  glibc-devel-2.28-211.el8.x86_64
  glibc-headers-2.28-211.el8.x86_64
  kernel-headers-4.18.0-425.13.1.el8_7.x86_64
  ksh-20120801-257.el8.x86_64
  libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-211.el8.x86_64
  libpng-devel-2:1.6.34-5.el8.x86_64
  librdmacm-41.0-1.el8.x86_64
  libstdc++-devel-8.5.0-16.el8_7.alma.x86_64
  libuuid-devel-2.32.1-39.el8_7.x86_64
  libxcrypt-devel-4.1.1-6.el8.x86_64
  lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64
  make-1:4.2.1-11.el8.x86_64
  sysstat-11.7.3-7.el8_7.1.x86_64
  zlib-devel-1.2.11-21.el8_7.x86_64

Complete!

OracleDBのグループとユーザーの作成

OracleDBで必要となるグループとユーザーの作成をします。

また、Oracleユーザーは、sudoコマンドでスーパーユーザー権限で実行できるようにしておきます。

# groupadd -g 54321 oinstall  ・・・ Oracleインベントリーグループ
# groupadd -g 54322 dba       ・・・ Oracle DatabaseのOSDBAグループ
# groupadd -g 54323 oper      ・・・ Oracle DatabaseのOSOPERグループ
# groupadd -g 54324 backupdba ・・・ Oracle DatabaseのOSBACKUPDBAグループ
# groupadd -g 54325 dgdba     ・・・ Oracle Data GuardのOSDGDBAグループ
# groupadd -g 54326 kmdba     ・・・ 暗号化鍵を管理するOSKMDBAグループ
# groupadd -g 54327 asmdba    ・・・ Oracle ASMのOSDBAグループ
# groupadd -g 54328 asmoper   ・・・ Oracle ASMのOSOPERグループ
# groupadd -g 54329 asmadmin  ・・・ Oracle ASM管理のOSASMグループ 
# groupadd -g 54330 racdba    ・・・ Oracle RACのOSRACDBAグループ
# useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
# passwd oracle
Changing password for user oracle.
New password: xxxxxxxx
Retype new password: xxxxxxxx
passwd: all authentication tokens updated successfully.
# gpasswd -a oracle wheel ・・・ sudoコマンドでスーパーユーザー権限で実行できるようにする
Adding user oracle to group wheel
# su - oracle ・・・ 作成したoracleユーザーになる
$ sudo echo test ・・・ 「echo test」コマンドをスーパーユーザー権限で実行して確認

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for oracle:xxxxxxxx
test

カーネルパラメータの調整

OracleDBが推奨するカーネルパラメータの値を調整します。推奨値は、最低限の値であって、パフォーマンスをみながら、それよりも大きい値を設定したりします。

方針として、現在の値が推奨値より、小さいものを調整することとします。

カーネルパラメータ変更前の確認

$ LANG=ja_JP.UTF-8 ipcs -l

------ メッセージの制約 --------
システム全体での最大キュー数 = 32000
メッセージの最大サイズ (バイト) = 8192
キューの既定最大値 (バイト) = 16384

------ 共有メモリの制限 --------
セグメントの最大数 = 4096
最大セグメントサイズ (キロバイト) = 18014398509465599
共有メモリの最大合計値 (キロバイト) = 18014398509481980
最小セグメントサイズ (バイト) = 1

------ セマフォの制限 --------
最大配列数 = 32000 ・・・ SEMMNI
配列ごとの最大セマフォ数 = 32000 ・・・ SEMMSL
システム全体の最大セマフォ数 = 1024000000 ・・・ SEMMNS
semop 呼び出しごとの最大命令数 = 500 ・・・ SEMOPM
セマフォ最大値 = 32767

$ cat /proc/sys/fs/file-max ・・・ ファイルハンドルの最大数(オープンファイルの最大数)
178677
$ cat /proc/sys/kernel/sem ・・・ セマフォ <SEMMSL> <SEMMNS> <SEMOPM> <SEMMNI>
32000   1024000000      500     32000
$ cat /proc/sys/kernel/shmmni ・・・ 共有メモリー 1プロセスごとのセグメントの最大数
4096
$ cat /proc/sys/kernel/shmall ・・・ 共有メモリー システム全体の最大合計値(単位:バイト)
18446744073692774399
$ cat /proc/sys/kernel/shmmax ・・・ 共有メモリー 1プロセスごとのセグメントの最大値(単位:バイト)
18446744073692774399
$ cat /proc/sys/kernel/panic_on_oops ・・・ oops発生時にカーネルパニックにするかどうか(0:しない,1:する)
1
$ cat /proc/sys/net/core/rmem_default ・・・ デフォルト受信ソケットメモリー
212992
$ cat /proc/sys/net/core/rmem_max ・・・ 最大受信ソケットメモリー
212992
$ cat /proc/sys/net/core/wmem_default ・・・ デフォルト送信ソケットメモリー
212992
$ cat /proc/sys/net/core/wmem_max ・・・ 最大送信ソケットメモリー
212992
$ cat /proc/sys/net/ipv4/conf/all/rp_filter ・・・ 戻り経路フィルター(Reverse Path Filtering)(0:無効,1:RFC3704厳密モード,2:RFC3704緩やかモード)
1
$ cat /proc/sys/net/ipv4/conf/default/rp_filter 
0
$ cat /proc/sys/fs/aio-max-nr ・・・ 非同期I/Oの最大数
1048576
$ cat /proc/sys/net/ipv4/ip_local_port_range ・・・ システムが使用できるポートの範囲
32768   60999

カーネルパラメータの設定ファイル作成

なお、/etc/sysctl.confファイルは非推奨となりました。

Oracle Database Preinstallation RPMで自動設定される内容をもとに設定しました。

$ sudo vi /etc/sysctl.d/97-oracle-database-sysctl.conf
fs.file-max = 6815744
#kernel.sem = 250 32000 100 128
#kernel.shmmni = 4096
#kernel.shmall = 2097152
#kernel.shmmax = 4294967295
#kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

カーネルパラメータの設定ファイルの正当性確認

設定ファイルの記述に問題がないかを反映させて確認します。

$ sudo sysctl --system
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0
* Applying /usr/lib/sysctl.d/50-coredump.conf ...
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e
kernel.core_pipe_limit = 16
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
kernel.kptr_restrict = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.promote_secondaries = 1
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /usr/lib/sysctl.d/50-libkcapi-optmem_max.conf ...
net.core.optmem_max = 81920
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
kernel.pid_max = 4194304
* Applying /etc/sysctl.d/97-oracle-database-sysctl.conf ...
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...

マシンリブート

設定ファイルによって、永続的に設定が正しく読み込まれるかを確認します。

$ sudo systemctl reboot

カーネルパラメータの設定後確認

$ cat /proc/sys/fs/file-max 
6815744
$ cat /proc/sys/kernel/sem
32000	1024000000	500	32000
$ cat /proc/sys/kernel/shmmni
4096
$ cat /proc/sys/kernel/shmall
18446744073692774399
$ cat /proc/sys/kernel/shmmax
18446744073692774399
$ cat /proc/sys/kernel/panic_on_oops 
1
$ cat /proc/sys/net/core/rmem_default 
262144
$ cat /proc/sys/net/core/rmem_max
4194304
$ cat /proc/sys/net/core/wmem_default 
262144
$ cat /proc/sys/net/core/wmem_max
1048576
$ cat /proc/sys/net/ipv4/conf/all/rp_filter 
2
$ cat /proc/sys/net/ipv4/conf/default/rp_filter 
2
$ cat /proc/sys/fs/aio-max-nr 
1048576
$ cat /proc/sys/net/ipv4/ip_local_port_range 
9000	65500

ユーザーのリソース制限

ユーザーのリソース制限変更前の状態
$ ulimit -Sa ・・・ すべてのユーザーリソース制限表示(ソフト)
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited ・・・ data
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14688
max locked memory       (kbytes, -l) 64 ・・・ memlock
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024 ・・・ nofile
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192 ・・・ stack
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14688 ・・・ nproc
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
$ ulimit -Ha ・・・ すべてのユーザリソース制限表示(ハード)
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited ・・・ data
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14688
max locked memory       (kbytes, -l) 64 ・・・ memlock
max memory size         (kbytes, -m) unlimited
open files                      (-n) 262144 ・・・ nofile
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) unlimited ・・・ stack
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14688 ・・・ nproc
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
$ ulimit -Sd
unlimited
$ ulimit -Hd
unlimited
$ ulimit -Sl ・・・ ロック可能なメモリサイズの最大値(Kbyte)
64
$ ulimit -Hl ・・・ ロック可能なメモリサイズの最大値(Kbyte)
64
$ ulimit -Sn ・・・ プロセスが使用できるファイルディスクリプターの最大数 + 1
1024
$ ulimit -Hn ・・・ プロセスが使用できるファイルディスクリプターの最大数 + 1
262144
$ ulimit -Ss ・・・ プロセスが使用できるスタック領域の最大値(Kbyte)
8192
$ ulimit -Hs ・・・ プロセスが使用できるスタック領域の最大値(Kbyte)
unlimited
$ ulimit -Su ・・・ 親プロセスが起動できる子プロセスの最大数
14688
$ ulimit -Hu ・・・ 親プロセスが起動できる子プロセスの最大数 
14688
ユーザーのリソース制限設定ファイル作成
$ sudo vi /etc/security/limits.d/oracle-database.conf
oracle   soft   nofile        1024
oracle   hard   nofile       65536
oracle   soft   nproc        16384
oracle   hard   nproc        16384
oracle   soft   stack        10240
oracle   hard   stack        32768
oracle   soft   memlock  134217728
oracle   hard   memlock  134217728
oracle   soft   data     unlimited
oracle   hard   data     unlimited
マシンリブート

設定ファイルによって、永続的に設定が正しく読み込まれるかを確認します。

$ sudo systemctl reboot

ユーザーのリソース制限変更後の状態

$ ulimit -Sa
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14695
max locked memory       (kbytes, -l) 134217728
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 16384
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
$ ulimit -Ha
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14695
max locked memory       (kbytes, -l) 134217728
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 32768
cpu time               (seconds, -t) unlimited
max user processes              (-u) 16384
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

透過的なHugePagesとNUMAの無効化

透過的なHugePagesとNUMA(Non-Uniform Memory Access)は、OracleDBでは非推奨とのことなので、それらを無効化します。※ 検証ではCPUはシングルソケットなのでNUMAは無効であるが、設定として無効にしています。

設定変更前の確認

$ cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never ・・・ 有効になっている
$ cat /proc/sys/kernel/numa_balancing
0 ・・・ シングルソケットなので無効になっている
$ cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-4.18.0-425.13.1.el8_7.x86_64 root=/dev/mapper/vg00-lvroot ro crashkernel=auto resume=/dev/mapper/vg00-lvswap rd.lvm.lv=vg00/lvroot rd.lvm.lv=vg00/lvswap rhgb quiet numa=off transparent_hugepage=never
$ cat /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/vg00-lvswap rd.lvm.lv=vg00/lvroot rd.lvm.lv=vg00/lvswap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

設定の変更

$ sudo grubby --update-kernel=ALL --args=numa=off
$ sudo grubby --update-kernel=ALL --args=transparent_hugepage=never

マシンリブート

$ sudo systemctl reboot

設定変更後の確認

$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never] ・・・ 無効になっている
$ cat /proc/sys/kernel/numa_balancing
0
$ cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-4.18.0-425.13.1.el8_7.x86_64 root=/dev/mapper/vg00-lvroot ro crashkernel=auto resume=/dev/mapper/vg00-lvswap rd.lvm.lv=vg00/lvroot rd.lvm.lv=vg00/lvswap rhgb quiet numa=off transparent_hugepage=never
$ cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/vg00-lvswap rd.lvm.lv=vg00/lvroot rd.lvm.lv=vg00/lvswap rhgb quiet numa=off transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

ディレクトリーの作成とパーミッションの設定

OracleDBのインストールとセットアップをするため、最低限のディレクトリーを作成し、所有者とグループおよびパーミッションを設定します。

パーティションの作成

$ lsblk ・・・ 確認
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   16G  0 disk
|-sda1            8:1    0  600M  0 part /boot/efi
|-sda2            8:2    0    1G  0 part /boot
`-sda3            8:3    0 14.4G  0 part
  |-vg00-lvroot 253:0    0 10.4G  0 lvm  /
  `-vg00-lvswap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   16G  0 disk ・・・ Oracle用
sdc               8:32   0   16G  0 disk
sdd               8:48   0   16G  0 disk
sde               8:64   0   16G  0 disk
sdf               8:80   0   16G  0 disk
sdg               8:96   0   16G  0 disk
sdh               8:112  0   16G  0 disk
sr0              11:0    1 1024M  0 rom
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sdb ・・・ パーティションの作成
Warning: Partition table header claims that the size of partition table
entries is 0 bytes, but this program  supports only 128-byte entries.
Adjusting accordingly, but partition table may be garbage.
Warning: Partition table header claims that the size of partition table
entries is 0 bytes, but this program  supports only 128-byte entries.
Adjusting accordingly, but partition table may be garbage.
Creating new GPT entries.
The operation has completed successfully.
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sdc
   : (省略)
Creating new GPT entries.
The operation has completed successfully.
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sdd
   : (省略)
Creating new GPT entries.
The operation has completed successfully.
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sde
   : (省略)
Creating new GPT entries.
The operation has completed successfully.
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sdf
   : (省略)
Creating new GPT entries.
The operation has completed successfully.
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sdg
   : (省略)
Creating new GPT entries.
The operation has completed successfully.
$ sudo sgdisk -n 1:: -t 1:8e00 /dev/sdh
   : (省略)
Creating new GPT entries.
The operation has completed successfully.

論理ボリュームの作成とフォーマット

$ sudo pvcreate /dev/sdb1 ・・・ 物理ボリューム作成
  Physical volume "/dev/sdb1" successfully created.
$ sudo pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created.
$ sudo pvcreate /dev/sdd1
  Physical volume "/dev/sdd1" successfully created.
$ sudo pvcreate /dev/sde1
  Physical volume "/dev/sde1" successfully created.
$ sudo pvcreate /dev/sdf1
  Physical volume "/dev/sdf1" successfully created.
$ sudo pvcreate /dev/sdg1
  Physical volume "/dev/sdg1" successfully created.
$ sudo pvcreate /dev/sdh1
  Physical volume "/dev/sdh1" successfully created.
$ sudo vgcreate vg01 /dev/sdb1 ・・・ ボリュームグループ作成
  Volume group "vg01" successfully created
$ sudo vgcreate vg02 /dev/sdc1
  Volume group "vg02" successfully created
$ sudo vgcreate vg03 /dev/sdd1
  Volume group "vg03" successfully created
$ sudo vgcreate vg04 /dev/sde1
  Volume group "vg04" successfully created
$ sudo vgcreate vg05 /dev/sdf1
  Volume group "vg05" successfully created
$ sudo vgcreate vg06 /dev/sdg1
  Volume group "vg06" successfully created
$ sudo vgcreate vg07 /dev/sdh1
  Volume group "vg07" successfully created
$ sudo lvcreate -l 100%FREE -n lvu01 vg01 ・・・ 論理ボリューム作成
  Logical volume "lvu01" created.
$ sudo lvcreate -l 100%FREE -n lvu02 vg02
  Logical volume "lvu02" created.
$ sudo lvcreate -l 100%FREE -n lvu03 vg03
  Logical volume "lvu03" created.
$ sudo lvcreate -l 100%FREE -n lvu04 vg04
  Logical volume "lvu04" created.
$ sudo lvcreate -l 100%FREE -n lvu05 vg05
  Logical volume "lvu05" created.
$ sudo lvcreate -l 100%FREE -n lvu06 vg06
  Logical volume "lvu06" created.
$ sudo lvcreate -l 100%FREE -n lvu07 vg07
  Logical volume "lvu07" created.
$ sudo mkfs -t xfs /dev/vg01/lvu01 ・・・ ファイルシステム作成
meta-data=/dev/vg01/lvu01        isize=512    agcount=4, agsize=1048320 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=4193280, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.
$ sudo mkfs -t xfs /dev/vg02/lvu02
   : (省略)
Discarding blocks...Done.
$ sudo mkfs -t xfs /dev/vg03/lvu03
   : (省略)
Discarding blocks...Done.
$ sudo mkfs -t xfs /dev/vg04/lvu04
   : (省略)
Discarding blocks...Done.
$ sudo mkfs -t xfs /dev/vg05/lvu05
   : (省略)
Discarding blocks...Done.
$ sudo mkfs -t xfs /dev/vg06/lvu06
   : (省略)
Discarding blocks...Done.
$ sudo mkfs -t xfs /dev/vg07/lvu07
   : (省略)
Discarding blocks...Done.

マウントポイント作成とディレクトリー作成

$ sudo mkdir /u01 /u02 /u03 /u04 /u05 /u06 /u07 ・・・ マウントポイントのディレクトリー作成
$ sudo mount /dev/vg01/lvu01 /u01 ・・・ マウント実行
$ sudo mount /dev/vg02/lvu02 /u02
$ sudo mount /dev/vg03/lvu03 /u03
$ sudo mount /dev/vg04/lvu04 /u04
$ sudo mount /dev/vg05/lvu05 /u05
$ sudo mount /dev/vg06/lvu06 /u06
$ sudo mount /dev/vg07/lvu07 /u07
$ lsblk ・・・ 確認
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   16G  0 disk
|-sda1            8:1    0  600M  0 part /boot/efi
|-sda2            8:2    0    1G  0 part /boot
`-sda3            8:3    0 14.4G  0 part
  |-vg00-lvroot 253:0    0 10.4G  0 lvm  /
  `-vg00-lvswap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   16G  0 disk
`-sdb1            8:17   0   16G  0 part
  `-vg01-lvu01  253:2    0   16G  0 lvm  /u01
sdc               8:32   0   16G  0 disk
`-sdc1            8:33   0   16G  0 part
  `-vg02-lvu02  253:3    0   16G  0 lvm  /u02
sdd               8:48   0   16G  0 disk
`-sdd1            8:49   0   16G  0 part
  `-vg03-lvu03  253:4    0   16G  0 lvm  /u03
sde               8:64   0   16G  0 disk
`-sde1            8:65   0   16G  0 part
  `-vg04-lvu04  253:5    0   16G  0 lvm  /u04
sdf               8:80   0   16G  0 disk
`-sdf1            8:81   0   16G  0 part
  `-vg05-lvu05  253:6    0   16G  0 lvm  /u05
sdg               8:96   0   16G  0 disk
`-sdg1            8:97   0   16G  0 part
  `-vg06-lvu06  253:7    0   16G  0 lvm  /u06
sdh               8:112  0   16G  0 disk
`-sdh1            8:113  0   16G  0 part
  `-vg07-lvu07  253:8    0   16G  0 lvm  /u07
sr0              11:0    1 1024M  0 rom
$ sudo mkdir -p /u01/app/oraInventory
$ sudo mkdir -p /u01/app/oracle
$ sudo mkdir -p /u02/app/oracle
$ sudo mkdir -p /u03/app/oracle
$ sudo mkdir -p /u04/app/oracle
$ sudo mkdir -p /u05/app/oracle
$ sudo mkdir -p /u06/app/oracle
$ sudo mkdir -p /u07/app/oracle
$ sudo chown -R oracle:oinstall /u01/app/oraInventory
$ sudo chown -R oracle:oinstall /u01/app/oracle
$ sudo chown -R oracle:oinstall /u02/app/oracle
$ sudo chown -R oracle:oinstall /u03/app/oracle
$ sudo chown -R oracle:oinstall /u04/app/oracle
$ sudo chown -R oracle:oinstall /u05/app/oracle
$ sudo chown -R oracle:oinstall /u06/app/oracle
$ sudo chown -R oracle:oinstall /u07/app/oracle
$ tree /u0? ・・・ 確認
/u01
`-- app
    |-- oraInventory
    `-- oracle
/u02
`-- app
    `-- oracle
/u03
`-- app
    `-- oracle
/u04
`-- app
    `-- oracle
/u05
`-- app
    `-- oracle
/u06
`-- app
    `-- oracle
/u07
`-- app
    `-- oracle

15 directories, 0 files
$ sudo cp -a /etc/fstab /etc/BK-fstab.original
$ sudo vi /etc/fstab
   : (省略)
/dev/mapper/vg01-lvu01  /u01  xfs  defaults  0 0
/dev/mapper/vg02-lvu02  /u02  xfs  defaults  0 0
/dev/mapper/vg03-lvu03  /u03  xfs  defaults  0 0
/dev/mapper/vg04-lvu04  /u04  xfs  defaults  0 0
/dev/mapper/vg05-lvu05  /u05  xfs  defaults  0 0
/dev/mapper/vg06-lvu06  /u06  xfs  defaults  0 0
/dev/mapper/vg07-lvu07  /u07  xfs  defaults  0 0

マシンリブート

$ sudo systemctl reboot

マウント状態の確認

$ df -h /u0?
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/vg01-lvu01   16G  147M   16G   1% /u01
/dev/mapper/vg02-lvu02   16G  147M   16G   1% /u02
/dev/mapper/vg03-lvu03   16G  147M   16G   1% /u03
/dev/mapper/vg04-lvu04   16G  147M   16G   1% /u04
/dev/mapper/vg05-lvu05   16G  147M   16G   1% /u05
/dev/mapper/vg06-lvu06   16G  147M   16G   1% /u06
/dev/mapper/vg07-lvu07   16G  147M   16G   1% /u07

(2)AlmaLinuxでOracle DB 19cを使ってみる(インストール編)へつづく