如何通过 Workload Manager 在 GCE 上安装 Oracle 数据库

1. 简介

构建内容

在本 Codelab 中,您将安装 Oracle 数据库

  • 在任何 GCE 机器上
  • 使用 Workload Manager 自动化
  • 安装需要 1-2 小时。(不包括安装文件的下载)

学习内容

  • 下载 Oracle 二进制文件。
  • 预配 Oracle 数据库。
  • 使用 Workload Manager 自动化

所需条件

要完成本 Codelab,您需要:

  • Chrome 网络浏览器。
  • Gmail 账号。
  • 用于下载二进制文件的免费 Oracle 账号。
  • 启用了结算功能的 Google Cloud 项目。

本 Codelab 适合各种水平的开发者,包括新手。

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. 确保您的云项目已启用结算功能。了解如何 检查项目是否已启用结算功能
  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

创建 VPC 网络和子网

根据您的环境更改 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 数据库账号创建 Secret

在 gcloud 控制台中,使用以下命令在同一项目中创建一个 Secret。

如果 Oracle 多租户已激活,此密码将用于 SYS、SYSTEM 和 PDBADMIN 用户。

Secret 值必须介于 8 到 30 个字符之间,可以包含字母数字字符和特殊字符 #$@%*_+=-

它必须包含至少一个特殊字符,并且不得包含以下任何保留字:oracle

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

创建 Cloud Storage 存储分区

根据您的环境更改 Cloud Storage 存储分区的名称。

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

将下载的 Oracle 二进制文件上传到此存储分区。

3. 创建 Oracle 数据库部署

如需配置和部署 Oracle 数据库,请执行以下任务:

  1. 在 Google Cloud 控制台中,前往 Workload Manager 页面。前往 Workload Manager
  2. Workload Manager 导航窗格中,点击部署

c365f9c29a2121e9.png

  1. 选择要在其中创建部署的项目。
  2. 点击创建部署 ,然后选择 Oracle 数据库

320724ee5fcbaf60.png

8b528818af0cbf54.png

  1. 如果您没有所需的角色和权限,引导式部署自动化工具会指明所需的角色和权限。点击授予并继续

bb6e2aaeca30f613.png

部署基础知识 部分,输入有关部署和工作负载要求的信息。Workload Manager 会使用此基本信息来确定要在后续标签页中收集的数据。

a5a6cc2fbae5fb39.png

60c2ccdc0432d886.png

  1. 在“虚拟机”标签页中,执行以下操作:

根据您的环境更改主要区域。填写网络详细信息,然后选择机器类型。

15a7347196a82648.png

  1. 填写存储空间 详细信息。对于本实验,您可以继续使用默认值

853409670564d9a4.png

  1. 查看审核页面,然后点击创建

211f40ed23c841b7.png

  1. 您将看到以下页面:388dca6a344b2b82.png

注意 :整个部署过程可能需要一到两个小时才能完成。部署过程会在后台继续进行。收到通知后,您可以查看部署信息中心。

完成后,它将显示“活跃”状态,您可以查看虚拟机的状态。

b319983efb1e39aa.png

7bcf78895be9c638.png

4. 连接到 Oracle

使用 SSH 连接到 install-single-oracle-1 虚拟机,然后使用“ps -ef | grep pmon”命令检查 Oracle pmon 进程。

ps -ef | grep pmon

c0ac5d7ce08ab9b.png

以 Oracle 用户身份登录

sudo su - oracle

使用 sqlplus 以 sys 用户身份连接到数据库。

sqlplus / as sysdba

5. 清理

如果您想继续学习本系列中的其他 Codelab(客户端连接、监控服务等),请勿清理您的项目。

为避免系统因本实验中使用的资源向您的 Google Cloud 账号收取费用,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 管理资源 页面。
  2. 在项目列表中,选择要删除的项目,然后点击“删除”。
  3. 在对话框中输入项目 ID,然后点击“关停”以删除项目。

6. 恭喜

恭喜!您已通过 Workload Manager 在 GCE 上成功安装 Oracle 数据库。