TR-4974:在 AWS FSx/EC2 上使用 NFS/ASM 進行獨立重新啟動時 Oracle 19c
Allen Cao、Niyaz Mohamed, NetApp
此解決方案提供了在 AWS FSx ONTAP儲存和 EC2 運算執行個體中使用 NFS 協定進行 Oracle 資料庫部署和保護的概述和詳細信息,以及在獨立 ReStart 中使用 asm 作為磁碟區管理器配置的 Oracle 資料庫。
目的
ASM(自動儲存管理)是一種受歡迎的 Oracle 儲存磁碟區管理器,在許多 Oracle 安裝中都有使用。它也是Oracle推薦的儲存管理解決方案。它為傳統的捲管理器和檔案系統提供了替代方案。自 Oracle 11g 版本以來,ASM 已與網格基礎架構(而非資料庫)打包在一起。因此,為了在沒有 RAC 的情況下利用 Oracle ASM 進行儲存管理,必須在獨立伺服器中安裝 Oracle 網格基礎架構(也稱為 Oracle Restart)。這樣做無疑會為原本簡單的 Oracle 資料庫部署增加更多的複雜度。但是,顧名思義,當 Oracle 以重新啟動模式部署時,任何失敗的 Oracle 服務都會在主機重新啟動後重新啟動,而無需使用者乾預,從而提供一定程度的高可用性或 HA 功能。
Oracle ASM 一般部署在 FC、iSCSI 儲存協定和 lun 作為原始儲存設備。不過,Oracle 也支援 NFS 協定和 NFS 檔案系統上的 ASM 設定。在本文檔中,我們示範如何在具有 EC2 運算執行個體的Amazon FSx ONTAP儲存環境中使用 NFS 協定和 Oracle ASM 部署 Oracle 19c 資料庫。我們也示範如何透過NetApp BlueXP控制台使用NetApp SnapCenter服務來備份、還原和複製 Oracle 資料庫,以用於開發/測試或 AWS 公有雲中儲存高效的資料庫操作的其他用例。
此解決方案適用於以下用例:
-
使用 NFS/ASM 在Amazon FSx ONTAP儲存和 EC2 運算執行個體中部署 Oracle 資料庫
-
使用 NFS/ASM 在公有 AWS 雲端中測試和驗證 Oracle 工作負載
-
測試和驗證在 AWS 中部署的 Oracle 資料庫重新啟動功能
對象
此解決方案適用於以下人群:
-
一位 DBA 想要使用 NFS/ASM 在 AWS 公有雲中部署 Oracle。
-
一位資料庫解決方案架構師想要在 AWS 公有雲中測試 Oracle 工作負載。
-
想要部署和管理部署到 AWS FSx 儲存的 Oracle 資料庫的儲存管理員。
-
希望在 AWS FSx/EC2 中建立 Oracle 資料庫的應用程式擁有者。
解決方案測試和驗證環境
此解決方案的測試和驗證是在可能與最終部署環境不符的 AWS FSx 和 EC2 環境中進行的。有關更多信息,請參閱部署考慮的關鍵因素 。
架構

硬體和軟體組件
硬體 |
||
FSx ONTAP存儲 |
AWS 提供的目前版本 |
同一 VPC 和可用區中的一個 FSx HA 集群 |
用於計算的 EC2 實例 |
t2.xlarge/4vCPU/16G |
兩個 EC2 T2 xlarge EC2 實例,一個作為主資料庫伺服器,另一個作為克隆資料庫伺服器 |
軟體 |
||
紅帽Linux |
RHEL-8.6.0_HVM-20220503-x86_64-2-Hourly2-GP2 |
部署 RedHat 訂閱進行測試 |
Oracle 網格基礎架構 |
版本 19.18 |
已套用RU補丁p34762026_190000_Linux-x86-64.zip |
Oracle 資料庫 |
版本 19.18 |
已套用RU補丁p34765931_190000_Linux-x86-64.zip |
Oracle OPatch |
版本 12.2.0.1.36 |
最新補丁 p6880880_190000_Linux-x86-64.zip |
SnapCenter服務 |
版本 |
v2.3.1.2324 |
部署考慮的關鍵因素
-
EC2 運算執行個體。在這些測試和驗證中,我們使用 AWS EC2 t2.xlarge 執行個體類型作為 Oracle 資料庫運算執行個體。 NetApp建議在生產部署中使用 M5 類型的 EC2 執行個體作為 Oracle 的運算實例,因為它針對資料庫工作負載進行了最佳化。您需要根據實際工作負載需求,適當調整 EC2 執行個體的 vCPU 數量和 RAM 容量。
-
*FSx 儲存 HA 叢集單區域或多區域部署。 *在這些測試和驗證中,我們在單一 AWS 可用區中部署了一個 FSx HA 叢集。對於生產部署, NetApp建議在兩個不同的可用區部署 FSx HA 對。 FSx HA 叢集始終在 HA 對中配置,該 HA 對在主動-被動檔案系統中同步鏡像,以提供儲存級冗餘。多區域部署進一步增強了單一 AWS 區域發生故障時的高可用性。
-
FSx 儲存叢集大小。 Amazon FSx ONTAP儲存檔案系統提供高達 160,000 個原始 SSD IOPS、高達 4GBps 的吞吐量以及最大 192TiB 的容量。但是,您可以根據部署時的實際需求,根據預先配置的 IOPS、吞吐量和儲存限制(最小 1,024 GiB)來確定叢集大小。容量可以動態調整,而不會影響應用程式的可用性。
-
Oracle 資料和日誌佈局。在我們的測試和驗證中,我們分別部署了兩個 ASM 磁碟組用於資料和日誌。在 +DATA asm 磁碟組中,我們在資料 NFS 檔案系統掛載點中配置了四個磁碟。在 +LOGS asm 磁碟組中,我們在日誌 NFS 檔案系統掛載點中配置了兩個磁碟。對於大型資料庫部署,可以建置 ASM 磁碟組以跨越多個 FSx 檔案系統,並透過 FSx 檔案系統上錨定的多個 NFS 掛載點分佈 ASM NFS 磁碟。此特定設定旨在滿足超過 4GBps 吞吐量的資料庫吞吐量和 160,000 原始 SSD IOPS 要求。
-
*dNFS 配置。 * dNFS 內建於 Oracle 核心中,並且已知當 Oracle 部署到 NFS 儲存時可顯著提高 Oracle 資料庫效能。 dNFS 打包到 Oracle 二進位檔案中,但預設未開啟。對於 NFS 上的任何 Oracle 資料庫部署,都應該啟用它。對於大型資料庫的多個 FSx 檔案系統部署,應正確配置 dNFS 多路徑。
-
*您建立的每個 Oracle ASM 磁碟組所使用的 Oracle ASM 冗餘等級。 *由於 FSx 已在 FSx 叢集層級鏡像存儲,因此您應該 `ONLY`使用外部冗餘,這表示該選項不允許 Oracle ASM 映像磁碟組的內容。這一點尤其重要,因為 Oracle 資料庫資料儲存的 NFS 需要 HARD NFS 掛載選項,而這對於在 Oracle 層級鏡像 ASM 內容來說是不可取的。
-
*資料庫備份。 * NetApp提供了 SaaS 版本的SnapCenter software服務,用於在雲端進行資料庫備份、復原和克隆,可透過NetApp BlueXP控制台 UI 使用。 NetApp建議實施這樣的服務,以實現快速(一分鐘內)的 SnapShot 備份、快速(幾分鐘)的資料庫復原和資料庫複製。
解決方案部署
以下部分提供了逐步部署流程。
部署先決條件
Details
部署需要以下先決條件。
-
已設定 AWS 帳戶,並在您的 AWS 帳戶內建立了必要的 VPC 和網路段。
-
從 AWS EC2 控制台,您必須部署兩個 EC2 Linux 實例,一個作為主 Oracle DB 伺服器,另一個作為可選的備用克隆目標 DB 伺服器。有關環境設定的更多詳細信息,請參閱上一節中的架構圖。還請查看"Linux 實例使用者指南"了解更多。
-
從 AWS EC2 控制台部署Amazon FSx ONTAP儲存 HA 叢集來託管 Oracle 資料庫磁碟區。如果您不熟悉 FSx 儲存的部署,請參閱文檔"建立 FSx ONTAP檔案系統"以獲得逐步說明。
-
步驟 2 和 3 可以使用以下 Terraform 自動化工具包執行,該工具包會建立一個名為
ora_01`以及一個名為 `fsx_01。在執行之前,請仔細檢查說明並更改變數以適合您的環境。git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
|
|
確保您已在 EC2 執行個體根磁碟區中指派至少 50G,以便有足夠的空間來暫存 Oracle 安裝檔案。 |
EC2 執行個體核心配置
Details
滿足先決條件後,以 ec2-user 身分登入 EC2 實例,並使用 sudo 以 root 使用者身分配置 Linux 核心以進行 Oracle 安裝。
-
建立暫存目錄 `/tmp/archive`資料夾並設置 `777`允許。
mkdir /tmp/archive chmod 777 /tmp/archive
-
下載 Oracle 二進位安裝檔案和其他所需的 rpm 檔案並將其暫存到 `/tmp/archive`目錄。
請參閱以下安裝檔案清單以說明 `/tmp/archive`在 EC2 執行個體上。
[ec2-user@ip-172-30-15-58 ~]$ ls -l /tmp/archive total 10537316 -rw-rw-r--. 1 ec2-user ec2-user 19112 Mar 21 15:57 compat-libcap1-1.10-7.el7.x86_64.rpm -rw-rw-r-- 1 ec2-user ec2-user 3059705302 Mar 21 22:01 LINUX.X64_193000_db_home.zip -rw-rw-r-- 1 ec2-user ec2-user 2889184573 Mar 21 21:09 LINUX.X64_193000_grid_home.zip -rw-rw-r--. 1 ec2-user ec2-user 589145 Mar 21 15:56 netapp_linux_unified_host_utilities-7-1.x86_64.rpm -rw-rw-r--. 1 ec2-user ec2-user 31828 Mar 21 15:55 oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm -rw-rw-r-- 1 ec2-user ec2-user 2872741741 Mar 21 22:31 p34762026_190000_Linux-x86-64.zip -rw-rw-r-- 1 ec2-user ec2-user 1843577895 Mar 21 22:32 p34765931_190000_Linux-x86-64.zip -rw-rw-r-- 1 ec2-user ec2-user 124347218 Mar 21 22:33 p6880880_190000_Linux-x86-64.zip -rw-r--r-- 1 ec2-user ec2-user 257136 Mar 22 16:25 policycoreutils-python-utils-2.9-9.el8.noarch.rpm
-
安裝 Oracle 19c 預先安裝 RPM,滿足大多數核心配置需求。
yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
-
下載並安裝缺少的 `compat-libcap1`在 Linux 8 中。
yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
-
從NetApp下載並安裝NetApp主機實用程式。
yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
-
安裝
policycoreutils-python-utils,這在 EC2 執行個體中不可用。yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
-
安裝開放的JDK版本1.8。
yum install java-1.8.0-openjdk.x86_64
-
安裝 nfs-utils。
yum install nfs-utils
-
在目前系統中停用透明大頁面。
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag
新增以下行 `/etc/rc.local`停用 `transparent_hugepage`重啟後:
# Disable transparent hugepages if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi -
透過更改禁用 selinux
SELINUX=enforcing`到 `SELINUX=disabled。您必須重新啟動主機才能使變更生效。vi /etc/sysconfig/selinux
-
新增以下行到
limit.conf`設定檔案描述符限制和堆疊大小(不含引號) `" "。vi /etc/security/limits.conf "* hard nofile 65536" "* soft stack 10240"
-
請依照下列說明為 EC2 執行個體新增交換空間:"如何使用交換檔案分配記憶體作為 Amazon EC2 執行個體中的交換空間?"要增加的特定空間量取決於 RAM 的大小,最高可達 16G。
-
新增要用於 asm sysasm 群組的 ASM 群組
groupadd asm
-
修改 oracle 使用者以新增 ASM 作為輔助群組(oracle 使用者應該在 Oracle 預先安裝 RPM 安裝後建立)。
usermod -a -G asm oracle
-
重啟 EC2 執行個體。
配置並匯出要掛載到 EC2 執行個體主機的 NFS 卷
Details
透過 ssh 以 fsxadmin 使用者身分使用 FSx 叢集管理 IP 登入 FSx 集群,從命令列配置三個磁碟區來託管 Oracle 資料庫二進位檔案、資料和日誌檔案。
-
以 fsxadmin 使用者身分透過 SSH 登入 FSx 叢集。
ssh fsxadmin@172.30.15.53
-
執行下列命令為 Oracle 二進位檔案建立磁碟區。
vol create -volume ora_01_biny -aggregate aggr1 -size 50G -state online -type RW -junction-path /ora_01_biny -snapshot-policy none -tiering-policy snapshot-only
-
執行以下命令為 Oracle 資料建立磁碟區。
vol create -volume ora_01_data -aggregate aggr1 -size 100G -state online -type RW -junction-path /ora_01_data -snapshot-policy none -tiering-policy snapshot-only
-
執行下列命令為 Oracle 日誌建立磁碟區。
vol create -volume ora_01_logs -aggregate aggr1 -size 100G -state online -type RW -junction-path /ora_01_logs -snapshot-policy none -tiering-policy snapshot-only
-
驗證已建立的資料庫磁碟區。
vol show
預計回傳結果如下:
FsxId02ad7bf3476b741df::> vol show (vol show) FsxId06c3c8b2a7bd56458::> vol show Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- svm_ora ora_01_biny aggr1 online RW 50GB 47.50GB 0% svm_ora ora_01_data aggr1 online RW 100GB 95.00GB 0% svm_ora ora_01_logs aggr1 online RW 100GB 95.00GB 0% svm_ora svm_ora_root aggr1 online RW 1GB 972.1MB 0% 4 entries were displayed.
資料庫儲存配置
Details
現在,在 EC2 執行個體主機上匯入並設定 Oracle 網格基礎架構和資料庫安裝的 FSx 儲存。
-
使用您的 SSH 金鑰和 EC2 執行個體 IP 位址,以 ec2-user 身分透過 SSH 登入 EC2 執行個體。
ssh -i ora_01.pem ec2-user@172.30.15.58
-
建立 /u01 目錄來掛載 Oracle 二進位檔案系統
sudo mkdir /u01
-
掛載二進位磁碟區到
/u01,變更為您的 FSx NFS lif IP 位址。如果您透過NetApp自動化工具包部署了 FSx 集群,則 FSx 虛擬儲存伺服器 NFS lif IP 位址將在資源配置執行結束時列在輸出中。否則,可以從 AWS FSx 控制台 UI 中檢索它。sudo mount -t nfs 172.30.15.19:/ora_01_biny /u01 -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
-
改變 `/u01`掛載點所有權歸 Oracle 使用者及其關聯的主要群組。
sudo chown oracle:oinstall /u01
-
建立/oradata目錄來掛載Oracle資料檔案系統
sudo mkdir /oradata
-
掛載資料磁碟區到
/oradata,更改為您的 FSx NFS lif IP 位址sudo mount -t nfs 172.30.15.19:/ora_01_data /oradata -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
-
改變 `/oradata`掛載點所有權歸 Oracle 使用者及其關聯的主要群組。
sudo chown oracle:oinstall /oradata
-
建立 /oralogs 目錄以掛載 Oracle 日誌檔案系統
sudo mkdir /oralogs
-
掛載日誌捲到
/oralogs,更改為您的 FSx NFS lif IP 位址sudo mount -t nfs 172.30.15.19:/ora_01_logs /oralogs -o rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536
-
改變 `/oralogs`掛載點所有權歸 Oracle 使用者及其關聯的主要群組。
sudo chown oracle:oinstall /oralogs
-
新增掛載點
/etc/fstab。sudo vi /etc/fstab
新增以下行。
172.30.15.19:/ora_01_biny /u01 nfs rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536 0 0 172.30.15.19:/ora_01_data /oradata nfs rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536 0 0 172.30.15.19:/ora_01_logs /oralogs nfs rw,bg,hard,vers=3,proto=tcp,timeo=600,rsize=65536,wsize=65536 0 0
-
sudo 到 oracle 用戶,建立 asm 資料夾,用於存放 asm 磁碟文件
sudo su su - oracle mkdir /oradata/asm mkdir /oralogs/asm
-
以 oracle 使用者身分建立 asm 資料磁碟文件,更改計數以匹配具有區塊大小的磁碟大小。
dd if=/dev/zero of=/oradata/asm/nfs_data_disk01 bs=1M count=20480 oflag=direct dd if=/dev/zero of=/oradata/asm/nfs_data_disk02 bs=1M count=20480 oflag=direct dd if=/dev/zero of=/oradata/asm/nfs_data_disk03 bs=1M count=20480 oflag=direct dd if=/dev/zero of=/oradata/asm/nfs_data_disk04 bs=1M count=20480 oflag=direct
-
修改資料盤檔案權限為640
chmod 640 /oradata/asm/*
-
以 oracle 使用者身分建立 asm 日誌磁碟文件,並將計數變更為與區塊大小相符的磁碟大小。
dd if=/dev/zero of=/oralogs/asm/nfs_logs_disk01 bs=1M count=40960 oflag=direct dd if=/dev/zero of=/oralogs/asm/nfs_logs_disk02 bs=1M count=40960 oflag=direct
-
將日誌檔案權限變更為 640
chmod 640 /oralogs/asm/*
-
重新啟動 EC2 執行個體主機。
Oracle 網格基礎架構安裝
Details
-
透過 SSH 以 ec2-user 身分登入 EC2 實例,並透過取消註解來啟用密碼驗證
PasswordAuthentication yes`然後註解掉 `PasswordAuthentication no。sudo vi /etc/ssh/sshd_config
-
重新啟動 sshd 服務。
sudo systemctl restart sshd
-
重設 Oracle 用戶密碼。
sudo passwd oracle
-
以 Oracle Restart 軟體擁有者使用者 (oracle) 身分登入。建立 Oracle 目錄如下:
mkdir -p /u01/app/oracle mkdir -p /u01/app/oraInventory
-
更改目錄權限設定。
chmod -R 775 /u01/app
-
建立網格主目錄並變更至該目錄。
mkdir -p /u01/app/oracle/product/19.0.0/grid cd /u01/app/oracle/product/19.0.0/grid
-
解壓縮網格安裝檔。
unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
-
從網格主頁中刪除 `OPatch`目錄。
rm -rf OPatch
-
從網格主頁複製 `p6880880_190000_Linux-x86-64.zip`到grid_home,然後解壓縮。
cp /tmp/archive/p6880880_190000_Linux-x86-64.zip . unzip p6880880_190000_Linux-x86-64.zip
-
從網格主頁,修改
cv/admin/cvu_config,取消註釋並替換CV_ASSUME_DISTID=OEL5`和 `CV_ASSUME_DISTID=OL7。vi cv/admin/cvu_config
-
準備一個 `gridsetup.rsp`文件進行靜默安裝,並將 rsp 檔案放在 `/tmp/archive`目錄。 rsp 檔案應涵蓋 A、B 和 G 部分,並包含以下資訊:
INVENTORY_LOCATION=/u01/app/oraInventory oracle.install.option=HA_CONFIG ORACLE_BASE=/u01/app/oracle oracle.install.asm.OSDBA=dba oracle.install.asm.OSOPER=oper oracle.install.asm.OSASM=asm oracle.install.asm.SYSASMPassword="SetPWD" oracle.install.asm.diskGroup.name=DATA oracle.install.asm.diskGroup.redundancy=EXTERNAL oracle.install.asm.diskGroup.AUSize=4 oracle.install.asm.diskGroup.disks=/oradata/asm/nfs_data_disk01,/oradata/asm/nfs_data_disk02,/oradata/asm/nfs_data_disk03,/oradata/asm/nfs_data_disk04 oracle.install.asm.diskGroup.diskDiscoveryString=/oradata/asm/*,/oralogs/asm/* oracle.install.asm.monitorPassword="SetPWD" oracle.install.asm.configureAFD=false
-
以 root 使用者登入 EC2 執行個體。
-
安裝
cvuqdisk-1.0.10-1.rpm。rpm -ivh /u01/app/oracle/product/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
-
以 Oracle 使用者身分登入 EC2 執行個體並擷取補丁 `/tmp/archive`資料夾。
unzip p34762026_190000_Linux-x86-64.zip
-
從 grid home /u01/app/oracle/product/19.0.0/grid 並以 oracle 使用者身分啟動 `gridSetup.sh`用於電網基礎設施安裝。
./gridSetup.sh -applyRU /tmp/archive/34762026/ -silent -responseFile /tmp/archive/gridsetup.rsp
忽略電網基礎設施錯誤群組的警告。我們使用單一 Oracle 使用者來管理 Oracle Restart,因此這是預料之中的。
-
以 root 使用者身分執行以下腳本:
/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.0.0/grid/root.sh
-
以Oracle用戶執行以下指令完成設定:
/u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
-
以 Oracle 使用者身分建立 LOGS 磁碟組。
bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk '/oralogs/asm/nfs_logs_disk*' -redundancy EXTERNAL -au_size 4
-
以 Oracle 使用者身份,在安裝配置後驗證網格服務。
bin/crsctl stat res -t + Name Target State Server State details Local Resources ora.DATA.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.LISTENER.lsnr ONLINE ONLINE ip-172-30-15-58 STABLE ora.LOGS.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.asm ONLINE ONLINE ip-172-30-15-58 Started,STABLE ora.ons OFFLINE OFFLINE ip-172-30-15-58 STABLE Cluster Resources ora.cssd ONLINE ONLINE ip-172-30-15-58 STABLE ora.diskmon OFFLINE OFFLINE STABLE ora.driver.afd ONLINE ONLINE ip-172-30-15-58 STABLE ora.evmd ONLINE ONLINE ip-172-30-15-58 STABLE
Oracle資料庫安裝
Details
-
以 Oracle 使用者登入並取消設定 `$ORACLE_HOME`和 `$ORACLE_SID`如果已設定。
unset ORACLE_HOME unset ORACLE_SID
-
建立 Oracle DB 主目錄並變更至該目錄。
mkdir /u01/app/oracle/product/19.0.0/db1 cd /u01/app/oracle/product/19.0.0/db1
-
解壓縮 Oracle DB 安裝檔。
unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
-
從資料庫主目錄刪除 `OPatch`目錄。
rm -rf OPatch
-
從 DB 主頁複製
p6880880_190000_Linux-x86-64.zip`到 `grid_home,然後解壓縮。cp /tmp/archive/p6880880_190000_Linux-x86-64.zip . unzip p6880880_190000_Linux-x86-64.zip
-
從 DB 主頁修改
cv/admin/cvu_config,並取消註釋並替換CV_ASSUME_DISTID=OEL5`和 `CV_ASSUME_DISTID=OL7。vi cv/admin/cvu_config
-
從 `/tmp/archive`目錄中,解壓縮DB 19.18 RU補丁。
unzip p34765931_190000_Linux-x86-64.zip
-
準備 DB 靜默安裝 rsp 文件 `/tmp/archive/dbinstall.rsp`具有以下值的目錄:
oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=oper oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba oracle.install.db.rootconfig.executeRootScript=false
-
從 db1 home /u01/app/oracle/product/19.0.0/db1 執行靜默純軟體 DB 安裝。
./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
-
以 root 使用者身分執行 `root.sh`僅安裝軟體後的腳本。
/u01/app/oracle/product/19.0.0/db1/root.sh
-
以 Oracle 使用者身分創建 `dbca.rsp`包含以下條目的文件:
gdbName=db1.demo.netapp.com sid=db1 createAsContainerDatabase=true numberOfPDBs=3 pdbName=db1_pdb useLocalUndoForPDBs=true pdbAdminPassword="yourPWD" templateName=General_Purpose.dbc sysPassword="yourPWD" systemPassword="yourPWD" dbsnmpPassword="yourPWD" storageType=ASM diskGroupName=DATA characterSet=AL32UTF8 nationalCharacterSet=AL16UTF16 listeners=LISTENER databaseType=MULTIPURPOSE automaticMemoryManagement=false totalMemory=8192
根據 EC2 執行個體主機中的可用記憶體設定總記憶體。 Oracle 分配 75% `totalMemory`到資料庫執行個體 SGA 或緩衝區快取。 -
以 Oracle 使用者身份,使用 dbca 啟動 DB 建立。
bin/dbca -silent -createDatabase -responseFile /tmp/archive/dbca.rsp output: Prepare for db operation 7% complete Registering database with Oracle Restart 11% complete Copying database files 33% complete Creating and starting Oracle instance 35% complete 38% complete 42% complete 45% complete 48% complete Completing Database Creation 53% complete 55% complete 56% complete Creating Pluggable Databases 60% complete 64% complete 69% complete 78% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/db1. Database Information: Global Database Name:db1.demo.netapp.com System Identifier(SID):db1 Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db1/db1.log" for further details.
-
以 Oracle 使用者身份,在建立資料庫後驗證 Oracle Restart HA 服務。
[oracle@ip-172-30-15-58 db1]$ ../grid/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.LISTENER.lsnr ONLINE ONLINE ip-172-30-15-58 STABLE ora.LOGS.dg ONLINE ONLINE ip-172-30-15-58 STABLE ora.asm ONLINE ONLINE ip-172-30-15-58 Started,STABLE ora.ons OFFLINE OFFLINE ip-172-30-15-58 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE ip-172-30-15-58 STABLE ora.db1.db 1 ONLINE ONLINE ip-172-30-15-58 Open,HOME=/u01/app/o racle/product/19.0.0 /db1,STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE ip-172-30-15-58 STABLE -------------------------------------------------------------------------------- [oracle@ip-172-30-15-58 db1]$ -
設定 Oracle 用戶
.bash_profile。vi ~/.bash_profile
-
新增以下條目:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1 export ORACLE_SID=db1 export PATH=$PATH:$ORACLE_HOME/bin alias asm='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid;export ORACLE_SID=+ASM;export PATH=$PATH:$ORACLE_HOME/bin'
-
驗證已建立的 CDB/PDB。
. ~/.bash_profile sqlplus / as sysdba SQL> select name, open_mode from v$database; NAME OPEN_MODE DB1 READ WRITE SQL> select name from v$datafile; NAME +DATA/DB1/DATAFILE/system.256.1132176177 +DATA/DB1/DATAFILE/sysaux.257.1132176221 +DATA/DB1/DATAFILE/undotbs1.258.1132176247 +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1132177009 +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1132177009 +DATA/DB1/DATAFILE/users.259.1132176247 +DATA/DB1/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1132177009 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/system.271.1132177853 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/sysaux.272.1132177853 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/undotbs1.270.1132177853 +DATA/DB1/F7852758DCD6B800E0533A0F1EAC1DC6/DATAFILE/users.274.1132177871 NAME +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/system.276.1132177871 +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/sysaux.277.1132177871 +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/undotbs1.275.1132177871 +DATA/DB1/F785288BBCD1BA78E0533A0F1EACCD6F/DATAFILE/users.279.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/system.281.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/sysaux.282.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/undotbs1.280.1132177889 +DATA/DB1/F78529A14DD8BB18E0533A0F1EACB8ED/DATAFILE/users.284.1132177907 19 rows selected. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED 2 PDB$SEED READ ONLY NO 3 DB1_PDB1 READ WRITE NO 4 DB1_PDB2 READ WRITE NO 5 DB1_PDB3 READ WRITE NO SQL> -
以 oracle 使用者身份,切換到 Oracle 資料庫主目錄 /u01/app/oracle/product/19.0.0/db1 並啟用 dNFS
cd /u01/app/oracle/product/19.0.0/db1 mkdir rdbms/lib/odm cp lib/libnfsodm19.so rdbms/lib/odm/
-
在ORACLE_HOME中設定oranfstab文件
vi $ORACLE_HOME/dbs/oranfstab add following entries: server: fsx_01 local: 172.30.15.58 path: 172.30.15.19 nfs_version: nfsv3 export: /ora_01_biny mount: /u01 export: /ora_01_data mount: /oradata export: /ora_01_logs mount: /oralogs
-
以 oracle 使用者身份,從 sqlplus 登入資料庫並將 DB 還原大小和位置設為 +LOGS 磁碟組。
. ~/.bash_profile sqlplus / as sysdba alter system set db_recovery_file_dest_size = 80G scope=both; alter system set db_recovery_file_dest = '+LOGS' scope=both;
-
啟用存檔日誌模式並重新啟動 Oracle DB 實例
shutdown immediate; startup mount; alter database archivelog; alter database open; alter system switch logfile;
-
實例重新啟動後驗證 DB 日誌模式和 dNFS
SQL> select name, log_mode from v$database; NAME LOG_MODE --------- ------------ DB1 ARCHIVELOG SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- fsx_01 /ora_01_data fsx_01 /ora_01_biny fsx_01 /ora_01_logs
-
驗證 Oracle ASM
[oracle@ip-172-30-15-58 db1]$ asm [oracle@ip-172-30-15-58 db1]$ sqlplus / as sysasm SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 9 20:39:39 2023 Version 19.18.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.18.0.0.0 SQL> set lin 200 SQL> col path form a30 SQL> select name, path, header_status, mount_status, state from v$asm_disk; NAME PATH HEADER_STATU MOUNT_S STATE ------------------------------ ------------------------------ ------------ ------- -------- DATA_0002 /oradata/asm/nfs_data_disk01 MEMBER CACHED NORMAL DATA_0000 /oradata/asm/nfs_data_disk02 MEMBER CACHED NORMAL DATA_0001 /oradata/asm/nfs_data_disk03 MEMBER CACHED NORMAL DATA_0003 /oradata/asm/nfs_data_disk04 MEMBER CACHED NORMAL LOGS_0000 /oralogs/asm/nfs_logs_disk01 MEMBER CACHED NORMAL LOGS_0001 /oralogs/asm/nfs_logs_disk02 MEMBER CACHED NORMAL 6 rows selected. SQL> select name, state, ALLOCATION_UNIT_SIZE, TOTAL_MB, FREE_MB from v$asm_diskgroup; NAME STATE ALLOCATION_UNIT_SIZE TOTAL_MB FREE_MB ------------------------------ ----------- -------------------- ---------- ---------- DATA MOUNTED 4194304 81920 73536 LOGS MOUNTED 4194304 81920 81640 This completes Oracle 19c version 19.18 Restart deployment on an Amazon FSx ONTAP and EC2 compute instance with NFS/ASM. If desired, NetApp recommends relocating the Oracle control file and online log files to the +LOGS disk group.
自動部署選項
NetApp將發布與 Ansible 配套的全自動解決方案部署工具包,以促進該解決方案的實施。請回來檢查工具包是否可用。發布後會在這裡發布連結。
使用SnapCenter服務備份、復原和克隆 Oracle 資料庫
目前,具有 NFS 和 ASM 儲存選項的 Oracle 資料庫僅受傳統SnapCenter Server UI 工具支持,請參閱"採用SnapCenter的混合雲資料庫解決方案"有關使用NetApp SnapCenter UI 工具備份、還原和克隆 Oracle 資料庫的詳細資訊。
在哪裡可以找到更多信息
要了解有關本文檔中描述的信息的更多信息,請查看以下文檔和/或網站:
-
使用新資料庫安裝為獨立伺服器安裝 Oracle Grid Infrastructure
-
使用回應檔案安裝和配置 Oracle 資料庫
-
Amazon FSx ONTAP
-
亞馬遜 EC2