2.9.3 スワップ・パーティションの拡張

この手順では、スワップ・パーティションのサイズを拡大する方法について説明します。

ノート:

システムでOracleデータベースが実行されていないときに、スワップ・パーティションを拡張することをお薦めします。そのため、この手順では、システム上のすべてのOracleデータベースを停止できるメンテナンス・ウィンドウが必要です。

ソフトウェア保守の際にdbnodeupdate.shユーティリティで作成されるLogical Volume Manager (LVM)スナップショットのために、VGExaDbボリューム・グループ内に、少なくとも1GBの空き領域が必要です。「Oracle Linuxデータベース・サーバーのスナップショット・ベースのバックアップの作成」のステップに従い、/ (root)および/u01ディレクトリのバックアップをスナップショット・ベースで作成する場合、VGExaDbボリューム・グループに少なくとも6GBの空き領域が必要です。

  1. 現在の環境に関する情報を収集します。
    1. swaponコマンドを使用して、スワップ・パーティションを確認します。
      # swapon -s
      Filename    Type        Size       Used   Priority
      /dev/dm-2   partition   25165816   0      -1
      
    2. lvm lvscanコマンドを使用して、論理ボリュームを表示し、LVDbSwap1という名前の論理ボリュームをメモします。
      # lvm lvscan
      ACTIVE '/dev/VGExaDb/LVDbSys1' [30.00 GiB] inherit
      ACTIVE '/dev/VGExaDb/LVDbSys2' [30.00 GiB] inherit
      ACTIVE '/dev/VGExaDb/LVDbSwap1' [24.00 GiB] inherit
      ACTIVE '/dev/VGExaDb/LVDbOra1' [103.00 GiB] inherit
      ACTIVE '/dev/VGExaDb/LVDoNotRemoveOrUse' [1.00 GiB] inherit
      
    3. スワップ論理ボリューム(/dev/VGExaDb/LVDbSwap1)とswaponコマンドにリストされているパーティション(/dev/dm-2)の間のアソシエーションを確認します。
      # ls -l /dev/VGExaDb/LVDbSwap1
      lrwxrwxrwx 1 root root 7 Mar 22 15:05 /dev/VGExaDb/LVDbSwap1 -> ../dm-2
    4. vgdisplayコマンドを使用して、使用可能な空き領域に関する情報を含む現在のボリューム・グループ構成を表示します。
      # vgdisplay
        --- Volume group ---
        VG Name               VGExaDb
        System ID            
        Format                lvm2
        Metadata Areas        1
        Metadata Sequence No  4
        VG Access             read/write
        VG Status             resizable
        MAX LV                0
        Cur LV                3
        Open LV               3
        Max PV                0
        Cur PV                1
        Act PV                1
        VG Size               556.80 GB
        PE Size               4.00 MB
        Total PE              142541
        Alloc PE / Size       39424 / 154.00 GB
        Free  PE / Size       103117 / 402.80 GB
        VG UUID               po3xVH-9prk-ftEI-vijh-giTy-5chm-Av0fBu
      
    5. pvdisplayコマンドを使用して、LVMで作成され、オペレーティング・システムで使用される物理デバイスの名前を表示します。
      # pvdisplay
        --- Physical volume ---
        PV Name               /dev/sda2
        VG Name               VGExaDb
        PV Size               556.80 GB / not usable 2.30 MB
        Allocatable           yes
        PE Size (KByte)       4096
        Total PE              142541
        Free PE               103117
        Allocated PE          39424
        PV UUID               Eq0e7e-p1fS-FyGN-zrvj-0Oqd-oUSb-55x2TX
  2. サーバー上のすべてのOracleデータベース・インスタンスを停止します。
  3. free -mコマンドを使用して、メモリーおよびスワップ・ステータスを確認します。
    # free -m
                  total        used        free      shared  buff/cache   available
    Mem:         515116      356670       91593       21777       66853      122728
    Swap:         16383          34       16349

    出力を確認し、使用されているスワップ領域の量が小さい(理想的にはゼロ)か、使用可能なメモリーよりはるかに少ない場合は、次のステップに進みます。

    使用されているスワップ領域の量が使用可能なメモリーの量を超えた場合は、システムを調べて、スワップ領域を使用しているプロセスを停止します。

  4. スワップ・パーティションを無効にします。
    # swapoff -a
  5. lvextendコマンドを使用してパーティションを拡張します。

    この例では、論理ボリュームは10GB分拡張されています。

    # lvextend -L +10G /dev/VGExaDb/LVDbSwap1
  6. スワップ領域を再作成します。
    # mkswap -L SWAP /dev/VGExaDb/LVDbSwap1
  7. スワップ・パーティションを再度有効にします。
    # swapon -a
  8. 更新されたスワップの詳細を表示し、更新されたサイズを確認します。
    # swapon -s
    Filename    Type        Size       Used   Priority
    /dev/dm-2   partition   35651576   0      -1
    
  9. サーバーでOracleデータベース・インスタンスを再起動します。