部署適用於 SAP NetWeaver 的 Oracle 資料庫

本部署指南說明如何佈建執行 Oracle Database 和 Oracle Linux 的必要資源,以便在 Google Cloud上搭配 SAP NetWeaver 型應用程式使用。

如要瞭解如何規劃這項實作作業,請參閱「為 SAP NetWeaver 規劃 Oracle 資料庫實作作業」。

事前準備

  1. 請參閱「為 SAP NetWeaver 規劃 Oracle 資料庫實作項目」。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. 設定 gcloud CLI 以使用您的聯合身分。

    詳情請參閱「 使用聯合身分登入 gcloud CLI」。

  6. 如要初始化 gcloud CLI,請執行下列指令:

    gcloud init
  7. 如要確保 SAP 工作負載的執行方式符合資料落地、存取權控管、支援人員或法規要求,請建立必要的 Assured Workloads 資料夾。詳情請參閱 SAP on Google Cloud的法規遵循和主權控制項
  8. 請確認您有權存取 Oracle Database 安裝媒體。
  9. 建立虛擬私人雲端網路

    基於安全性考量,請建立新的網路。您可以新增防火牆規則或使用另一個存取權控管方法,藉此控管具有存取權的對象。

    假如您的專案具有預設的虛擬私有雲端網路,請勿使用。請建立您自己專屬的虛擬私有雲網路,確保系統只套用您明確建立的防火牆規則。

    在部署期間,Compute Engine 執行個體一般需要網際網路的存取權,以下載 Google Cloud適用於 SAP 的代理程式。如果您使用 Google Cloud提供的其中一種 SAP 認證 Linux 映像檔,運算執行個體也需要存取網際網路,才能註冊授權並存取 OS 供應商存放區。具有 NAT 閘道和 VM 網路標記的設定即可支援上述存取需求,即便目標運算執行個體沒有外部 IP。

    如要設定網路:

    控制台

    1. 在 Google Cloud 控制台中,前往「VPC networks」(VPC 網路) 頁面。

      前往「VPC networks」(虛擬私有雲網路)

    2. 按一下「建立虛擬私有雲網路」
    3. 輸入網路的「名稱」

      名稱必須符合命名慣例。虛擬私有雲網路使用 Compute Engine 命名慣例。

    4. 在 [Subnet creation mode] (子網路建立模式) 中,選擇 [Custom]。
    5. 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:
      1. 輸入子網路的「名稱」
      2. 在「Region」(區域) 中,選取要建立子網路的 Compute Engine 區域
      3. 在「IP 堆疊類型」中,選取「IPv4 (單一堆疊)」,然後以 CIDR 格式輸入 IP 位址範圍,例如 10.1.0.0/24

        這是子網路的主要 IPv4 範圍。如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。

      4. 按一下「完成」
    6. 如要新增其他子網路,請按一下「新增子網路」,然後重複上述步驟。建立網路之後,您也可以在網路中新增更多子網路。
    7. 按一下 [建立]。

    gcloud

    1. 前往 Cloud Shell。

      前往 Cloud Shell

    2. 如要在自訂子網路模式中建立新的網路,請執行:
      gcloud compute networks create NETWORK_NAME --subnet-mode custom

      NETWORK_NAME 替換為新網路的名稱。名稱必須符合命名慣例。虛擬私有雲網路使用 Compute Engine 命名慣例。

      指定 --subnet-mode custom 以避免使用預設的自動模式,不然系統會自動在每個 Compute Engine 地區建立子網路。詳情請參閱子網路建立模式

    3. 建立子網路,並指定地區和 IP 範圍:
      gcloud compute networks subnets create SUBNETWORK_NAME \
          --network NETWORK_NAME --region REGION --range RANGE

      更改下列內容:

      • SUBNETWORK_NAME:新子網路的名稱
      • NETWORK_NAME:您在上一步建立的網路名稱
      • REGION:您希望子網路所在的區域
      • RANGE:IP 位址範圍,以 CIDR 格式指定,例如 10.1.0.0/24

        如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。

    4. (選用) 重複上述步驟以新增其他子網路。

    設定 NAT 閘道

    如果您需要建立一或多個沒有公開 IP 位址的 VM,則必須使用網路位址轉譯 (NAT) 讓 VM 存取網際網路。使用 Cloud NAT,這是一項 Google Cloud 分散式軟體定義管理服務,可讓 VM 將輸出封包傳送至網際網路,並接收任何相應的已建立輸入回應封包。或者,您也可以將個別 VM 設為 NAT 閘道。

    如要為專案建立 Cloud NAT 執行個體,請參閱「使用 Cloud NAT」。

    為專案設定 Cloud NAT 後,VM 執行個體就能在沒有公開 IP 位址的情況下安全存取網際網路。

    準備 Oracle Linux 映像檔

    Compute Engine 映像檔

    如果您使用 Compute Engine 提供的 Oracle Linux 映像檔,則可以略過本節,因為這些映像檔包含在 Google Cloud上執行 Oracle Database 和 SAP NetWeaver 系統所需的套件。

    Oracle 圖片

    如要準備執行 Oracle Database for SAP 系統所需的 Oracle Linux 映像檔,請將映像檔匯入 Google Cloud 專案,並安裝必要驅動程式。

    如要準備 Oracle Linux 映像檔,請按照下列步驟操作:

    1. 從 Oracle 下載 Oracle Linux 映像檔,該映像檔已通過 SAP 認證,可在 Google Cloud上搭配 SAP NetWeaver 型應用程式使用。

      如要瞭解 SAP 認證的 OS 版本,請參閱「支援的作業系統」。

    2. 將映像檔匯入 Compute Engine 映像檔:

    3. 建立自訂 OS 映像檔:

      1. 使用匯入的映像檔建立小型 VM,並將執行個體名稱設為 vm-ol-gvnic

        如要瞭解如何執行這項操作,請參閱「透過自訂映像檔建立執行個體」。

      2. 使用 SSH 連線至執行個體。

      3. 安裝 gve 驅動程式:

        yum install kernel-uek-modules-extra.x86_64
        echo gve > /etc/modules-load.d/gve.conf
        
      4. 停止執行個體。

        如需相關資訊,請參閱「停止或重新啟動 Compute Engine 執行個體」。

      5. 關閉連結至運算執行個體的磁碟預設自動刪除行為。這樣一來,您刪除運算執行個體時,系統就不會一併刪除開機磁碟。

        gcloud compute instances set-disk-auto-delete vm-ol-gvnic \
         --no-auto-delete \
         --disk=vm-ol-gvnic
      6. 建立開機磁碟的臨時映像檔:

        gcloud compute images create ol-uek-temp \
         --source-disk=vm-ol-gvnic \
         --source-disk-zone=ZONE \
         --storage-location=LOCATION

        更改下列內容:

        • ZONE:部署開機磁碟的可用區
        • LOCATION:您要儲存圖片的 Cloud Storage 位置
      7. 使用您建立的暫時映像檔,建立支援 Google Virtual NIC (gVNIC) 的開機磁碟映像檔:

        gcloud compute images create ol-uek-production \
         --source-image=ol-uek-temp \
         --source-image-project=PROJECT_ID \
         --guest-os-features="GVNIC" \
         --storage-location=LOCATION

        更改下列內容:

        • PROJECT_ID:來源圖片所在Google Cloud 專案的專案 ID
        • LOCATION:您要儲存圖片的 Cloud Storage 位置
      8. 除了啟用 gVNIC 的開機磁碟映像檔,請刪除您在本節中建立的臨時映像檔和 VM:

        gcloud compute images delete ol-uek-temp
        gcloud compute instances delete vm-ol-gvnic --zone=ZONE
        gcloud compute disks delete DISK_NAME --zone=ZONE

        更改下列內容:

        • ZONE:部署開機磁碟的可用區
        • DISK_NAME:要刪除的臨時 VM 開機磁碟名稱

    為 Oracle Database 建立 Compute Engine 執行個體

    建立 Compute Engine 執行個體時,您可以指定多個選項,例如機器類型、建立執行個體的地區,以及用於儲存空間的額外磁碟。

    如要為 Oracle Database 建立 Compute Engine 執行個體,請完成下列步驟:

    Compute Engine 映像檔

    1. 前往 Google Cloud 控制台的 Compute Engine「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 點選「建立執行個體」

    3. 在「Name」(名稱) 欄位中,輸入執行個體的名稱。

      名稱長度不得超過 13 個字元,因為這是 SAP 支援的字元數上限。詳情請參閱 SAP 注意事項 611361:SAP ABAP 平台伺服器的主機名稱

    4. 在「Region」(區域) 和「Zone」(可用區) 欄位中,選取要建立執行個體的區域和可用區。

      選取這些項目時,請務必考量內部資源和使用者的位置,以及您要使用的機器類型是否適用。如要瞭解如何選取地區和區域,請參閱「規劃地區和區域」。

    5. 將機器類型變更為其中一個支援的機器類型。

      如要瞭解支援的機器類型及其永久磁碟限制,請參閱「為 SAP NetWeaver 規劃 Oracle 資料庫實作項目」。

    6. 前往「OS 和儲存空間」分頁。

    7. 按一下 [變更]

    8. 在「開機磁碟」窗格中,執行下列操作:

      1. 在「Operating system」(作業系統) 欄位中,選取「Oracle Linux」
      2. 在「版本」欄位中,選取所需版本。
      3. 查看其他預設設定,並視需要修改。
      4. 按一下 [選取]。
    9. 為 Oracle 資料庫建立額外磁碟。如要瞭解需要佈建磁碟的磁碟機,請參閱「部署架構」。

      如要建立磁碟,請按照下列步驟操作:

      1. 在「Additional disks」(其他磁碟) 下方,點選 [Add new disk] (增加新磁碟)
      2. 在「Name」(名稱) 欄位中,輸入磁碟名稱。
      3. 在「磁碟儲存空間類型」欄位中,選取「空白磁碟」
      4. 在「Disk type」(磁碟類型) 欄位中,選取支援的磁碟類型。如要瞭解支援的磁碟類型,請參閱規劃指南中的「區塊儲存空間」。
      5. 在「大小」欄位中,設定符合效能需求的數值。
      6. 按一下 [儲存]
      7. 針對需要佈建的每個磁碟,重複上述步驟。
    10. 點選「建立」

    Oracle 圖片

    1. 在 Google Cloud 控制台中,前往 Compute Engine 的「Images」(映像檔) 頁面。

      前往「圖片」

    2. 選取您在前一節準備的 Oracle Linux 映像檔,然後按一下「建立執行個體」

    3. 在「Name」(名稱) 欄位中,輸入執行個體的名稱。

      名稱長度不得超過 13 個字元,因為這是 SAP 支援的字元數上限。詳情請參閱 SAP 注意事項 611361:SAP ABAP 平台伺服器的主機名稱

    4. 在「Region」(區域) 和「Zone」(可用區) 欄位中,選取要建立執行個體的區域和可用區。

      選取這些項目時,請務必考量內部資源和使用者的位置,以及您要使用的機器類型是否適用。如要瞭解如何選取地區和區域,請參閱「規劃地區和區域」。

    5. 將機器類型變更為其中一個支援的機器類型。

      如要瞭解支援的機器類型及其永久磁碟限制,請參閱「為 SAP NetWeaver 規劃 Oracle 資料庫實作項目」。

    6. 前往「OS 和儲存空間」分頁。

    7. 為 Oracle 資料庫建立額外磁碟。如要瞭解需要佈建磁碟的磁碟機,請參閱「部署架構」。

    8. 如要建立磁碟,請按照下列步驟操作:

      1. 在「額外儲存空間和 VM 備份」下方,點選「新增磁碟」
      2. 在「Name」(名稱) 欄位中,輸入磁碟名稱。
      3. 在「磁碟儲存空間類型」欄位中,選取「空白磁碟」
      4. 在「Disk type」(磁碟類型) 欄位中,選取支援的磁碟類型。如要瞭解支援的磁碟類型,請參閱規劃指南中的「區塊儲存空間」。
      5. 在「大小」欄位中,設定符合效能需求的數值。
      6. 按一下 [儲存]
      7. 針對需要佈建的每個磁碟,重複上述步驟。
    9. 點選「建立」

    格式化及掛接磁碟

    1. 使用 SSH 連線至運算執行個體。
    2. 請確保您附加至運算執行個體的 Hyperdisk 或 Persistent Disk 磁碟區夠大,足以為執行個體提供高效能儲存空間。
    3. 使用 LVM 格式化所有必要硬碟,並為其掛接邏輯磁碟區。

    如要瞭解磁碟機及其分組方式,請參閱「部署架構」。

    準備作業系統

    1. 使用 SSH 連線至 Compute Engine 執行個體。
    2. 請按照 Oracle 的建議,確認已停用 Transparent HugePages 功能。

      如要確認這一點,請按照下列步驟操作:

      1. 執行下列指令,檢查是否已啟用 Transparent HugePages 功能:

        cat /sys/kernel/mm/transparent_hugepage/enabled
        
      2. 如果已啟用 Transparent HugePages 功能,請執行下列指令來停用:

        ORIGINAL=$(grep GRUB_CMDLINE_LINUX /etc/default/grub)
        INSERT=" transparent_hugepage=never"
        TARGET=$(printf '%s\n' "$ORIGINAL" | sed -e "s/\"$/$INSERT&/")
        sed -i "s%^GRUB_CMDLINE_LINUX.*$%$TARGET%" /etc/default/grub
        grub2-mkconfig -o /boot/grub2/grub.cfg
        
      3. 重新啟動執行個體。如要瞭解如何執行這項操作,請參閱「重新啟動執行個體」。

      如需 SAP 提供的這些功能相關資訊,請參閱下列 SAP 注意事項:

    3. 安裝 Oracle Database 前置安裝 RPM:

      yum install oracle-database-preinstall-19c
      

      如果您使用 Oracle Linux 9,請一併執行下列指令:

      yum in libxcrypt-compat
      

    安裝 Google Cloud的 Agent for SAP

    如要在Google Cloud上執行 SAP 系統 (包括 SAP NetWeaver、SAP HANA、SAP ASE、SAP MaxDB 等),必須安裝 SAP 適用的代理程式,才能取得 SAP 支援。 Google Cloud

    在 Compute Engine 執行個體上安裝 Google Cloud適用於 SAP 的代理程式時,代理程式會結合 Cloud Monitoring 和 Compute Engine API 的監控資料,並將資料提供給 SAP Host Agent,以取得 SAP Host Agent 指標。

    如果您使用下列「SAP 專用」RHEL 或 SLES OS 映像檔,則 Google CloudGoogle Cloud的 Agent for SAP 會與 OS 映像檔一併封裝:

    • RHEL:所有「for SAP」映像檔
    • SLES:SLES 15 SP4 for SAP 和後續版本

    如要瞭解 Google Cloud的 SAP 專用代理程式支援哪些作業系統,請參閱「支援的作業系統」。

    代理程式的必要條件

    安裝 Google Cloud's Agent for SAP 前,請先確認符合下列必要條件。

    設定必要的 IAM 角色

    至少,Agent for SAP 使用的服務帳戶必須包含「Compute 檢視者 (roles/compute.viewer)」、「Monitoring 檢視者 (roles/monitoring.viewer)」和「Workload Manager Insights 寫入者 (roles/workloadmanager.insightWriter)」角色。 Google Cloud

    如要將必要角色新增至服務帳戶,請按照下列步驟操作:

    1. 前往 Google Cloud 控制台的「IAM」IAM頁面。

      前往身分與存取權管理頁面

    2. 選取 Google Cloud 專案。

    3. 找出您想新增角色的服務帳戶。

      • 如果服務帳戶還不在主體清單中,表示尚未獲派任何角色。按一下「新增」,然後輸入服務帳戶的電子郵件地址。
      • 如果服務帳戶已在主體清單中,表示已獲指派角色。找到要編輯的服務帳戶,然後按一下「編輯」按鈕。
    4. 從可用角色清單中選取所需角色:

      • [Compute Engine] > [Compute 檢視者]
      • 「監控」>「監控檢視者」
      • Workload Manager > Workload Manager 深入分析資訊寫入者
    5. 按一下 [Add] (新增) 或 [Save] (儲存),即可將角色套用到服務帳戶。

    啟用 API 存取權 Google Cloud

    Compute Engine 建議您將運算執行個體設定為允許所有 Cloud API 的所有存取權範圍,並僅使用執行個體服務帳戶的 IAM 權限來控管 Google Cloud 資源的存取權。詳情請參閱「建立使用使用者管理服務帳戶的 VM」。

    如果您限制 Cloud API 的存取權,則 Agent for SAP Google Cloud需要主機 Compute Engine 執行個體上的下列最低 Cloud API 存取範圍:

    • Cloud Platform已啟用
    • Compute Engine唯讀
    • Stackdriver Monitoring API唯讀

    如果您在沒有外部 IP 位址的運算執行個體上執行 SAP 應用程式,則必須在運算執行個體的子網路上啟用私人 Google 存取權 , Google Cloud的 SAP 專用代理程式才能存取 Google API 和服務。如要在子網路上啟用私人 Google 存取權,請參閱「設定私人 Google 存取權」。

    安裝代理程式

    如要在使用 Oracle Linux 的 Compute Engine 執行個體上安裝 Google Cloud's Agent for SAP,請按照下列步驟操作:

    1. 建立與運算執行個體的 SSH 連線。

    2. 如要安裝最新版 (3.8 版) 的代理程式,請執行下列指令:

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOM
      sudo yum install google-cloud-sap-agent

    確認代理程式正在執行

    如要確認代理程式是否正在執行,請按照下列步驟操作:

    1. 建立與 Compute Engine 執行個體之間的 SSH 連線。

    2. 執行下列指令:

      systemctl status google-cloud-sap-agent

      如果代理程式正常運作,輸出內容會包含 active (running)。例如:

      google-cloud-sap-agent.service - Google Cloud Agent for SAP
      Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
      Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
      Main PID: 1337673 (google-cloud-sa)
      Tasks: 9 (limit: 100427)
      Memory: 22.4 M (max: 1.0G limit: 1.0G)
      CGroup: /system.slice/google-cloud-sap-agent.service
             └─1337673 /usr/bin/google-cloud-sap-agent
      

    如果代理程式未執行,請重新啟動代理程式

    確認 SAP 主機代理程式正在接收指標

    如要確認基礎架構指標是由Google Cloud's Agent for SAP 收集,並正確傳送至 SAP Host Agent,請按照下列步驟操作:

    1. 在 SAP 系統中,輸入交易 ST06
    2. 在「Overview」(總覽) 窗格中,查看以下欄位的可用性和內容,確認 SAP 和 Google 監控基礎架構已做好正確的端對端設定:

      • 雲端服務供應商Google Cloud Platform
      • Enhanced Monitoring AccessTRUE
      • Enhanced Monitoring Details (強化版監控功能詳細資料)ACTIVE

    安裝 Oracle 資料庫

    取得支援

    如有基礎架構或服務相關問題,請與 Cloud 客服團隊聯絡。 Google Cloud 您可以在 Google Cloud 控制台的「支援總覽」頁面找到聯絡資訊。如果客戶服務團隊判斷問題出在 SAP 系統,就會將您轉介給 SAP 支援團隊。

    如要進一步瞭解 SAP 產品相關問題,請使用 SAP 支援登錄您的支援要求。SAP 會評估支援票證,如確定為 Google Cloud基礎架構方面的問題,就會將票證轉移到系統中的適當Google Cloud 元件:BC-OP-LNX-GOOGLEBC-OP-NT-GOOGLE

    支援相關規定