如何透過 Workload Manager 在 GCE 上安裝 Oracle 資料庫

1. 簡介

建構項目

在本程式碼研究室中,您將安裝 Oracle 資料庫

  • 在任何 GCE 機器上
  • 使用 Workload Manager 自動化功能
  • 安裝程序需要 1 到 2 小時才能完成。(不含安裝檔下載)

課程內容

  • 下載 Oracle 二進位檔。
  • 佈建 Oracle 資料庫。
  • 使用 Workload Manager 自動化功能

軟硬體需求

如要完成本程式碼研究室,請務必符合以下條件:

  • Chrome 網路瀏覽器。
  • Gmail 帳戶。
  • 免費的 Oracle 帳戶,用於下載二進位檔。
  • 已啟用計費功能的 Google Cloud 專案。

本程式碼研究室適合各種程度的開發人員 (包括初學者)。

2. 事前準備

本節將逐步說明在 Google Cloud 專案中進行初始設定的必要步驟,完成後即可開始安裝 Oracle 資料庫。

下載 Oracle 二進位檔

前往下列位址 ( 按一下「首頁」),然後下載 Oracle 19c 的 Oracle 二進位檔。

如果您目前沒有 Oracle 帳戶,可以建立一個。如要下載 Oracle 軟體,必須先擁有帳戶。

ddee40cb49abdf7e.png

注意:My Oracle Support 和 Oracle Software Delivery Cloud 都需要 Oracle 支援授權。如要使用開發人員授權,只有 Oracle Database 19c (19.3) 版本可供使用,但沒有支援服務。但這是 2019 年發布的版本,且有已知的安全漏洞。

建立專案

  1. Google Cloud 控制台的專案選取器頁面中,選取或建立 Google Cloud 專案
  2. 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能
  3. 按一下這個連結,啟用 Cloud Shell。點選 Cloud Shell 中的對應按鈕,即可在 Cloud Shell 終端機 (用於執行雲端指令) 和編輯器 (用於建構專案) 之間切換。

3b51918c90c063c4.png

  1. 連至 Cloud Shell 後,請使用下列指令確認驗證已完成,專案也已設為獲派的專案 ID:
gcloud auth list
  1. 在 Cloud Shell 中執行下列指令,確認 gcloud 指令已瞭解您的專案。
gcloud config list project
  1. 設定 PROJECT_ID 變數,請使用下列指令:
export PROJECT_ID=[YOUR_PROJECT_ID]
gcloud config set project $PROJECT_ID
  1. 執行下列指令,啟用下列 API:
gcloud services enable \
                       compute.googleapis.com \
                       cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       vpcaccess.googleapis.com \
                       workloadmanager.googleapis.com

變更機構政策 (如果您使用 Argolis 環境)

前往「機構政策」,並覆寫下列項目的父項政策:

  • constraints/compute.requireShieldedVM
  • constraints/compute.trustedImageProjects

使用篩選器找出要變更的政策,然後點選「編輯政策」

2c53f80903990344.png

新增規則,將強制執行設為「關閉」。

e2e5c81bb5464f0.png

對於「定義可信映像檔專案」規則,請覆寫上層政策,並以「允許所有項目」規則取代

fc20603f6d4dd128.png

建立虛擬私有雲網路和子網路

根據您的環境變更 region 參數。

gcloud compute networks create oracle-network --subnet-mode=custom
gcloud compute networks subnets create oracle-west3 \
--network=oracle-network --range=10.0.0.0/29 \
--region=europe-west3 --enable-private-ip-google-access
gcloud compute firewall-rules create oracle-allow-ssh  \
--network oracle-network \
--allow tcp:22,tcp:3389,icmp

建立服務帳戶

在本示範中,我們會使用預設服務帳戶。基於安全考量,我們強烈建議您為 WLM 建立個別帳戶。

為 Oracle 資料庫帳戶建立密鑰

在 gcloud 控制台中,使用下列指令在同一個專案中建立密鑰。

如果啟用 Oracle 多租戶,這組密碼會用於 SYS、SYSTEM 和 PDBADMIN 使用者。

密碼值長度必須介於 8 至 30 個字元,可包含英數字元和特殊字元 #$@%*_+=-

密碼必須包含至少一個特殊字元,且不得包含下列保留字:oracle

gcloud secrets create mysecret 
echo -n "AbraKadabra_123" | gcloud secrets versions add mysecret --data-file=-

建立 Cloud Storage bucket

根據您的環境變更 Cloud Storage 值區名稱。

gcloud storage buckets create gs://p6-wlm-oracle/ --uniform-bucket-level-access

將下載的 Oracle 二進位檔上傳至這個 bucket。

3. 建立 Oracle 資料庫部署作業

如要設定及部署 Oracle Database,請執行下列工作:

  1. 前往 Google Cloud 控制台的「Workload Manager」頁面。前往 Workload Manager
  2. 在「Workload Manager」導覽窗格中,按一下「Deployments」

c365f9c29a2121e9.png

  1. 選取要建立部署作業的專案。
  2. 按一下「建立部署作業」,然後選擇「Oracle 資料庫」

320724ee5fcbaf60.png

8b528818af0cbf54.png

  1. 如果您沒有必要角色和權限,導覽式部署自動化工具會指出必要角色和權限。按一下「授予並繼續」

bb6e2aaeca30f613.png

在「Deployment basics」(部署基本資訊) 部分,輸入部署作業和工作負載需求相關資訊。Workload Manager 會根據這項基本資訊,判斷後續分頁要收集哪些資料。

a5a6cc2fbae5fb39.png

60c2ccdc0432d886.png

  1. 在「虛擬機器」分頁中,執行下列操作:

根據環境變更主要區域。填寫網路詳細資料。選擇機型。

15a7347196a82648.png

  1. 填寫「儲存空間」詳細資料。在本實驗室中,您可以繼續使用預設值

853409670564d9a4.png

  1. 檢查「檢閱」頁面,然後按一下「建立」

211f40ed23c841b7.png

  1. 您會看到這個頁面:388dca6a344b2b82.png

注意:整個部署程序最多可能需要一到兩小時才能完成。部署程序會在背景繼續執行。收到通知後,您就可以查看部署作業資訊主頁。

完成後,狀態會顯示為「有效」,您可以檢查 VM 的狀態。

b319983efb1e39aa.png

7bcf78895be9c638.png

4. 連線至 Oracle

使用 SSH 連線至 install-single-oracle-1 VM 機器,並使用「ps -ef | grep pmon」指令檢查 Oracle pmon 程序。

ps -ef | grep pmon

c0ac5d7ce08ab9b.png

模擬 oracle 使用者

sudo su - oracle

使用 sqlplus 以 sys 使用者身分連線至資料庫。

sqlplus / as sysdba

5. 清除

如要繼續使用本系列的其他程式碼研究室 ( 用戶端連線能力、監控服務等),請勿清理專案。

如要避免系統向您的 Google Cloud 帳戶收取本實驗室所用資源的費用,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中前往「管理資源」頁面。
  2. 在專案清單中選取要刪除的專案,然後按一下「刪除」。
  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 刪除專案。

6. 恭喜

恭喜!您已透過 Workload Manager,在 GCE 上成功安裝 Oracle 資料庫。