Oracle 12c新特性---Rapid Home Provisioning (RHP)
Oracle 12c新特性---Rapid Home Provisioning (RHP)
RHP: Rapid Home Provisioning Server - Minimum Requirement ( 文件 ID 2126710.1)
How To Setup a Rapid Home Provisioning (RHP) Server and Client ( 文件 ID 2097026.1)
RHP(Rapid Home Provisioning)是什麼
隨著IT資訊化的發展。現在資料中心的規模越來越大,對管理員的要求也越來越高。同時,使用者希望快速訪問始終線上的服務,因此對於企業來說,部署和維護必須高效且對業務執行無干擾。為了跟上步伐,必須減少運維複雜性和手動參與的步驟。Oracle RHP (Rapid Home Provisioning) 的解決方案標準化、簡化了軟體分發和管理。自動化和高效率是她的特點,她最小化了對大規模部署的影響。
Rapid Home Provisioning (RHP) 代表了一種標準的方法,以統一的方式,在軟體基礎設施的所有體系結構層 (Oracle Database和其他第三方定製軟體) 上進行部署、補丁、升級、遷移等工作,尤其是Oracle叢集、資料庫的部署、升級、補丁、遷移,以及叢集節點的伸縮等操作非常便捷。
RHP可以理解成一個獨立的叢集(僅安裝GI即可)。RHP服務是Grid Infrastructure的一部分。Oracle Clusterware會管理RHP的相關元件。這些元件包括RHP Server自身、GNS、一個用於支援HA-NFS的VIP(不論是否使用NFS來儲存workingcopy,都是必須的)和用於儲存workingcopy快照的ASM叢集檔案系統(ACFS)。在日常操作中,通過RHP部署的客戶端或目標端不依賴於RHP服務。因此,即使RHP服務不可用,已經部署的home不會受到影響。
Rapid Home Provisioning (RHP) 是一種部署軟體HOME的方法。我們可以從已安裝的HOME中建立Image,並儲存和管理,Oracle稱之為“Gold Image”。DBA可以在這個“Gold Image”上製作副本(workingcopy),然後把這些副本供應到資料中心的所有目標端。
“Gold Image”代表一個Home,無論是Oracle資料庫軟體Home,還是第三方的或自定義軟體Home。“Gold Image”儲存在Oracle自動軟體管理叢集檔案系統 (Oracle ACFS) 中。
RHP的相關後設資料儲存在Grid Infrastructure Management Repository。Management Database MGMTDB在安裝Grid infrastructure時會被建立。
RHP的特點和功能
RHP提供集中的軟體部署和維護。軟體只需要安裝一次,然後儲存在RHP伺服器上,並且從那裡可以隨時向資料中心的任何節點或叢集供應。主要特徵包括:管理現有部署,不需要任何更改、不需要重新配置、也不需要代理或守護程式。
主要優勢有
流程自動化,減少人工參與的步驟
簡化了資料庫相關的安裝部署、修補和升級
最大限度地減少維護的影響和風險
支援大規模部署
RHP的基本功能
Gold Images集中儲存,包括GI、DB、應用、中介軟體等
支援安裝和配置新的叢集和資料庫
最小化維護視窗
一條命令就能搞定安裝、補丁或升級
內建了還原和從失敗點繼續的能力執行
支援 自定義工作流
提供審計日誌
支援所有部署模型——物理機器、虛擬化、容器、Oracle多租戶
RHP架構圖
RHP (Rapid Home Provisioning) 服務依賴於Grid Infrastructure。她儲存和管理了很多ORACLE_HOME的模板,我們稱之為“Gold Images”。 您可以向資料中心中的任何節點部署基於“Gold Images”的副本(working copy實際上就是基於Gold Image部署的ORACLE HOME)。RHP支援Oracle Home、Oracle Database、Grid Infrastructure、和新叢集(前提是需要作業系統和網路已配置好)的部署,以及GI、DB的升級和遷移等,還支援第三方的軟體。
RHP可以管理其叢集自身,12.2.0.1或更高版本的Rapid Home Provisioning Clients,還可以管理通過RHP Service部署的Oracle Grid Infrastructure 11gR2 (11.2.0.4) 和12cR1 (12.1.0.2) ,稱為Clientless Targets部署。RHP還可以管理在Oracle Restart上執行的單例項資料庫以及沒有叢集軟體的伺服器。總之一句話,只要是11.2.0.4及以上的無論是叢集還是單例項都可以管理,前提是必須通過RHP部署部署。
下面的架構圖描述的是通過RHP Server部署11.2、12.1、12.2、18c target,這些稱為Managed target。還有一些未連線的18c target,這些不是通過RHP Server部署的,稱之為Unmanaged target,不能通過RHP管理。由於這些不是通過RHP Server部署的,所以RHP也無法直接管理。下面會介紹目標端、RHP客戶端,注意這些都不是必須的。
目標端(no RHP Client)
沒有執行Oracle Grid Infrastructure RHP Client的目標稱為Clientless Targets。這些目標不能發起與RHP Service的通訊,只能從RHP Service端進行管理。這些目標可以執行網格基礎設施11.2.0.4/12.1.0.2/12.2.0.1,或者沒有安裝GI,只執行了單例項的Oracle例項資料庫,或者是安裝Oracle Restart等。SSH協議用於RHPS和目標之間的通訊。
RHP客戶端(RHP Client)
RHP Client程式是一個叢集中的HA資源,執行在叢集的一個節點中,並處理來自RHP Service的請求。能夠與客戶端互動,並在沒有憑據的情況下執行預期的任務。此外,客戶端可以在本地啟動許多工。在啟動時,客戶機-伺服器程式之間建立一個經過身份驗證的通訊通道並保持連線,稱為JMX通訊通道。這需要在RHP Service和RHP Client上都開啟埠來建立這個通道。
如何配置RHP Server
從18c開始,在安裝GI的時候,RHP Server是預設被安裝的,使用的是本地模式。也就是下面的輸出,只有move命令。如果只想在本地模式下使用,也可以不配置RHP Server。
本地模式下的輸出
orgrid@ohs1 ~]$ rhpctl Usage: rhpctl <command> <object> [<options>] commands: move objects: database|gihome For detailed help on each command and object and its options use: rhpctl <command> <object> -help [orgrid@ohs1 ~]$
伺服器模式下的輸出(如果是這種模式,請忽略下面的步驟)
[orgrid@ohs1 ~]$ rhpctl Usage: rhpctl <command> <object> [<options>] commands: add|addnode|allow|delete|deleteimage|deletenode|disallow|discover|export|grant|import|insertimage|instantiate|modify|move|promote|query|register|revoke|subscribe|uninstantiate|unregister|unsubscribe|upgrade|verify|enable|disable|collect|deploy objects: audit|client|credentials|database|gihome|image|imagetype|job|node|osconfig|peerserver|role|series|server|user|useraction|workingcopy For detailed help on each command and object and its options use: rhpctl <command> <object> -help [orgrid@ohs1 ~]$
下圖記錄了在已安裝18c(18.3)叢集上建立 RHP Server 的詳細步驟。
ohs1和ohs2是已安裝18c的叢集,其中RHP Client不是可選的。
停止RHP Server [orgrid@ohs1 ~]$ srvctl stop rhpserver [orgrid@ohs1 ~]$ srvctl remove rhpserver PRCN-2018 : Current user orgrid is not a privileged user [orgrid@ohs1 ~]$ which srvctl /pgold/orgrid/oracle/product/183/bin/srvctl [orgrid@ohs1 ~]$ su - Password: 移除RHP Server [root@ohs1 ~]# /pgold/orgrid/oracle/product/183/bin/srvctl remove rhpserver [root@ohs1 ~]# 增加RHP Server [root@ohs1 ~]# /pgold/orgrid/oracle/product/183/bin/srvctl add rhpserver -storage /rhpstorage -diskgroup DATA -verbose ohs1.ohsdba.cn: Creating a new volume... ohs1.ohsdba.cn: Checking for the existence of file system... ohs1.ohsdba.cn: Creating a new ACFS file system... ohs1.ohsdba.cn: Starting the ACFS file system... ohs1.ohsdba.cn: Creating authentication keys... [root@ohs1 ~]# su – orgrid Note:/rhpstorage會被自動建立 啟動RHP Server [root@ohs1 ~]# /pgold/orgrid/oracle/product/183/bin/srvctl start rhpserver [root@ohs1 ~]# /pgold/orgrid/oracle/product/183/bin/srvctl status rhpserver Rapid Home Provisioning Server is enabled Rapid Home Provisioning Server is running on node ohs1 檢視RHP Server配置 [root@ohs1 ~]# /pgold/orgrid/oracle/product/183/bin/srvctl config rhpserver Storage base path: /rhpstorage Disk Groups: DATA Port number: 23795 Transfer port range: Rapid Home Provisioning Server is enabled Rapid Home Provisioning Server is individually enabled on nodes: Rapid Home Provisioning Server is individually disabled on nodes: Email address: Mail server address: Mail server port: Transport Level Security disabled HTTP Secure is enabled [orgrid@ohs1 ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_ohs-lv_root 50G 5.1G 42G 11% / tmpfs 2.4G 1.1G 1.3G 46% /dev/shm /dev/sda1 477M 84M 368M 19% /boot /dev/mapper/vg_ohs-lv_pgold 537G 23G 487G 5% /pgold /dev/asm/ghchkpt-33 5.5G 784M 4.8G 14% /rhpstorage/chkbase /dev/asm/ghvol464715-33 12G 5.7G 6.4G 47% /rhpstorage/images/iDB112957258 /dev/asm/ghvol895499-33 22G 12G 11G 51% /rhpstorage/images/iDB183271079 [orgrid@ohs1 ~]$ 增加HAVIP [root@ohs1 ~]# /pgold/orgrid/oracle/product/183/bin/srvctl add havip -id havip -address 192.168.56.6
rhpctl命令列
RHP是從12.1開始引入的,也只有在GI下面才有,檔名是rhpctl。在這個版本,如果要通過rhpctl部署軟體HOME,必須是配置了RHP Client才可以。到了12.2,在沒有RHP Client客戶下,也可以部署。從18c開始,沒有安裝GI也可以使用(也可以說在單例項下面也可以使用),從資料庫的HOME下我們能找到rhpctl這命令。
版本 |
GI_HOME(rhpctl) |
DB_HOME(rhpctl) |
RHP是否 預設安裝 |
是否需要配置 RHP Client才部署 |
DB是否支援 本地 move |
12.1 |
有 |
無 |
否 |
是 |
否 |
12.2 |
有 |
無 |
否 |
否 |
否 |
18c |
有 |
有 |
是 |
否 |
是 |
[root@ohs1 ~]# rhpctl -h
Performs Rapid Home Provisioning operations and manages Rapid Home Provisioning Servers and Clients. Usage: rhpctl add Adds a resource, type or other entity. rhpctl addnode Adds nodes or instances of specific resources. rhpctl addpdb Adds a pluggable database to the specified multitenant container database. rhpctl allow Allows access to the image, series or image type. rhpctl collect Collects backup of operating system configuration for the cluster. rhpctl compare Compares operating system configurations for the specified cluster. rhpctl delete Deletes a resource, type or other entity. rhpctl deleteimage Deletes an image from a series. rhpctl deletenode Deletes nodes or instances of specific resources. rhpctl deletepdb Removes a pluggable database from the specified multitenant container database. rhpctl deploy Deploys OS image for the cluster. rhpctl disable Disables the scheduled daily backup of operating system configuration for the cluster. rhpctl disallow Disallows access to the image, series or image type. rhpctl discover Validates and discovers parameters to generate a response file. rhpctl enable Enables the scheduled daily backup of operating system configuration for the cluster. rhpctl export Exports data from the repository to a client or server data file. rhpctl grant Grants a role to a client user. rhpctl import Creates a new image from the specified path. rhpctl insertimage Inserts a new image into a series. rhpctl instantiate Requests images from another server. rhpctl modify Modifies a resource, type or other entity. rhpctl move Moves a resource from a source path to a destination path. rhpctl promote Promotes an image. rhpctl query Gets information of a resource, type or other entity. rhpctl recover Recovers a node after its failure. rhpctl register Registers an image, user or server. rhpctl replicate Replicate image from server to a specified client. rhpctl revoke Revokes a role of a client user. rhpctl subscribe Subscribes the specified user to an image series. rhpctl uninstantiate Stops updates for previously requested images from another server. rhpctl unregister Unregisters an image, user or server. rhpctl unsubscribe Unsubscribes the specified user to an image series. rhpctl upgrade Upgrades a resource. rhpctl verify Validates and creates or completes a response file. rhpctl zdtupgrade Performs zero downtime upgrade of a database. For detailed help on each command use: rhpctl <command> -help [root@ohs1 ~]#
RHP的“Gold Image ”和“workingcopy ”
RHP最基本的操作,一個是建立“Gold Image”,一個是建立“workingcopy”。
每個 “Gold Image”都代表一個HOME,可以是Oracle資料庫HOME、Grid Infrastructure HOME或任何其他軟體HOME。應用程式不會直接在“Gold Image”上執行。可以從“Gold Image”上建立副本(working copy),然後在這些workingcopy上執行。“Gold Image”可以從RHP服務上安裝的HOME、RHP Client或資料中心中的任何節點匯入。Gold Image還可以在RHP服務之間共享。預設的狀態是PUBLISHED,在建立image的時候可以指定引數-state來設定狀態,之後還可以通過“promote image”命令來改變狀態。
有多種方式來建立“Gold Images”
一個是“import image”,
一個是“add image”,
一個是“register image”(這個在白皮書中暫時沒找到說明)
“add image”用於從workingcopy中建立副本。並且這個workingcopy是在RHP服務端上,並且部署時的儲存選項是RHP_MANAGED。通過這個還可以節省儲存空間。這個在後面會有介紹。
“import image” 用於從安裝的HOME中建立“Gold Image”。可以是在RHP服務端,也可以是RHP Client端,或者是一個沒有客戶端的目標端 (11.2, 12.1 or 12.2) ,這個是常用選項。
支援import image的Database 和 GI 版本為11.2.0.4, 12.1.0.2, and 12.2.0.1。請記住,資料中心中的任何家HOME都可以作為“gold images”匯入,因此您可以選擇哪些image作為標準化部署基礎。
Image狀態和訪問
RHP允許您定義Image的狀態PUBLISHED、RESTRICTED、TESTABLE(釋出的、可測試的或受限的三種),來實現Image的生命週期管理。此外,還可以在角色和特定使用者級別控制對給定映像的訪問。
Workingcopy
只要是通過rhpctl部署的HOME(就是wokingcopy)都屬於被託管(managed)的,不是通過rhpctl部署的HOME都統稱為非託管(unmanaged)的。例如,在一個非託管的HOME下,在補丁或升級過程中,可以通過rhpctl部署新的HOME,然後通過rhpctl做升級或遷移,非託管(unmanaged)的HOME可以很容易的切換到被託管(managed),納入RHP的管理框架。
打補丁方式的改變
之前打補丁的操作以及後續步驟,現在通過下面的兩條命令就可以搞定了
1. rhpctl add workingcopy
2. rhpctl move database
部署新叢集或資料庫 就是這麼簡單
只要作業系統、相關安裝包和網路配置好。在RHP服務端通過下面的三個命令就可以快速的部署一個新叢集,包含資料庫。
通過RHP部署和升級體驗
下面是原始環境的資訊。我們通過在RHP Server ohs1上匯入ood 11204的ORACLE_HOME,在ohs1上匯入183的ORACLE HOME。然後在ohs1上通過RHP為ohs部署11204的ORACLE_HOME,並建立資料庫,然後再部署183的ORACLE_HOME,最後將11204的資料庫升級都183。
OS Server |
ohs1,ohs2 RHP Server |
ood |
ohs |
GI HOME |
/pgold/orgrid/oracle/product/183 |
N/A |
N/A |
Database HOME |
/pgold/ordb/oracle/product/183 |
/u01/app/oracle/product/11204 |
N/A |
18c在本地模式下通過rhpctl move切換ORACLE HOME
注意:move只適合於大版本相同,小版本不同的情況。比如這裡是介紹從Oracle 18.2切換到18.3。
檢視情況環境
[oracle@sdb09] /home/oracle> env |grep ORACLE ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/18.0.0/dbhome_1 ORACLE_HOSTNAME=sdb09 ORACLE_PATH=/home/oracle/scripts ORACLE_SID=cdb2 ORACLE_UNQNAME=cdb2 [oracle@sdb09] /home/oracle> sqlplus "/as sysdba" SQL*Plus: Release 18.0.0.0.0 - Production on Tue Jul 24 16:43:00 2018 Version 18.2.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 CDB$ROOT@cdb2>show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY YES 3 PDB2 READ WRITE NO CDB$ROOT@cdb2>exit Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 [oracle@sdb09] /home/oracle>
安裝18.3 ORACLE HOME
18.3 ORACLE_HOME的安裝(略)
注意:這裡是本地模式,就不能通過rhpctl add workingcopy來部署183的ORACLE HOME了
執行rhpctl move database
一條命令搞定,真的很簡單。在18.2下執行rhpctl move database
[oracle@sdb09] /home/oracle> rhpctl move database -dbname cdb2 \
> -sourcehome /u01/app/oracle/product/18.0.0/dbhome_1 \
> -desthome /u01/app/oracle/product/18.0.0/dbhome_3 \
> -stopoption IMMEDIATE
Running RHPCTL for Stand Alone Home SQL*Plus: Release 18.0.0.0.0 - Production on Tue Jul 24 16:46:23 2018 Version 18.2.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 SQL> Database closed. Database dismounted. ORACLE instance shut down. SQL> Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.2.0.0.0 SQL*Plus: Release 18.0.0.0.0 - Production on Tue Jul 24 16:46:55 2018 Version 18.3.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to an idle instance. SQL> ORACLE instance started. Total System Global Area 1073741304 bytes Fixed Size 8904184 bytes Variable Size 771751936 bytes Database Buffers 289406976 bytes Redo Buffers 3678208 bytes Database mounted. Database opened. SQL> Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 /u01/app/oracle/product/18.0.0/dbhome_3 cdb2 SQL Patching tool version 18.0.0.0.0 Production on Tue Jul 24 16:47:19 2018 Copyright (c) 2012, 2018, Oracle. All rights reserved. Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_533_2018_07_24_16_47_19/sqlpatch_invocation.log Connecting to database...OK Gathering database info...done Note: Datapatch will only apply or rollback SQL fixes for PDBs that are in an open state, no patches will be applied to closed PDBs. Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation (Doc ID 1585822.1) Bootstrapping registry and package to current versions...done Determining current state...done Current state of interim SQL patches: Interim patch 27923415 (OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)): Binary registry: Installed PDB CDB$ROOT: Rolled back with errors on 24-JUL-18 04.30.06.505223 PM PDB PDB$SEED: Rolled back with errors on 24-JUL-18 04.30.06.873780 PM PDB PDB2: Rolled back with errors on 24-JUL-18 04.30.07.119076 PM Current state of release update SQL patches: Binary registry: 18.3.0.0.0 Release_Update 1806280943: Installed PDB CDB$ROOT: Rolled back to 18.2.0.0.0 Release_Update 1804041635 successfully on 24-JUL-18 04.30.06.555634 PM PDB PDB$SEED: Rolled back to 18.2.0.0.0 Release_Update 1804041635 successfully on 24-JUL-18 04.30.06.951502 PM PDB PDB2: Rolled back to 18.2.0.0.0 Release_Update 1804041635 successfully on 24-JUL-18 04.30.07.155698 PM Adding patches to installation queue and performing prereq checks...done Installation queue: For the following PDBs: CDB$ROOT PDB$SEED PDB2 No interim patches need to be rolled back Patch 28090523 (Database Release Update : 18.3.0.0.180717 (28090523)): Apply from 18.2.0.0.0 Release_Update 1804041635 to 18.3.0.0.0 Release_Update 1806280943 The following interim patches will be applied: 27923415 (OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)) Installing patches... Patch installation complete. Total patches installed: 6 Validating logfiles...done Patch 28090523 apply (pdb CDB$ROOT): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/28090523/22329768/28090523_apply_CDB2_CDBROOT_2018Jul24_16_49_17.log (no errors) Patch 27923415 apply (pdb CDB$ROOT): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27923415/22239273/27923415_apply_CDB2_CDBROOT_2018Jul24_16_51_54.log (no errors) Patch 28090523 apply (pdb PDB$SEED): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/28090523/22329768/28090523_apply_CDB2_PDBSEED_2018Jul24_16_52_15.log (no errors) Patch 27923415 apply (pdb PDB$SEED): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27923415/22239273/27923415_apply_CDB2_PDBSEED_2018Jul24_16_55_08.log (no errors) Patch 28090523 apply (pdb PDB2): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/28090523/22329768/28090523_apply_CDB2_PDB2_2018Jul24_16_52_16.log (no errors) Patch 27923415 apply (pdb PDB2): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27923415/22239273/27923415_apply_CDB2_PDB2_2018Jul24_16_55_01.log (no errors) SQL Patching tool complete on Tue Jul 24 16:55:24 2018 [oracle@sdb09] /home/oracle>
Reference
https://www.oracle.com/technetwork/database/database-cloud/private/index.html
https://www.oracle.com/assets/rapid-home-provisioning-2405191.pdf
https://blogs.oracle.com/db_maintenance/rapid-home-provisioning-simplifies-oracle-database-estate-management
https://blogs.oracle.com/db_maintenance/whats-new-in-122-for-rapid-home-provisioning-and-maintenance
https://blogs.oracle.com/db_maintenance/rapid-home-provisioning-and-maintenance-whats-new-in-18c
https://www.oracle.com/technetwork/database/database-cloud/private/rhp-datasheet-2529714.pdf
https://docs.oracle.com/en/database/oracle/oracle-database/18/sprhp/rapid-home-provisioning-use-cases.html
https://docs.oracle.com/en/database/oracle/oracle-database/18/sprhp/rhp_upgrading-oracle-database-12c-release-2.html
12.1 Reference
https://docs.oracle.com/database/121/CWADD/GUID-CCEC5960-EDA4-4A3F-9643-0CA308EA49AA.htm#CWADD92402
https://docs.oracle.com/database/121/CWADD/GUID-CDF55B0E-85FE-48A6-9329-EC3D78252F29.htm#CWADD-GUID-CDF55B0E-85FE-48A6-9329-EC3D78252F29
12.2 Reference
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwadd/rapid-home-provisioning.html#GUID-CCEC5960-EDA4-4A3F-9643-0CA308EA49AA
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwadd/rapid-home-provisioning-and-server-control-command-reference.html#GUID-CDF55B0E-85FE-48A6-9329-EC3D78252F29
18c Reference
https://docs.oracle.com/en/database/oracle/oracle-database/18/cwadd/rapid-home-provisioning.html#GUID-CCEC5960-EDA4-4A3F-9643-0CA308EA49AA
https://docs.oracle.com/en/database/oracle/oracle-database/18/cwadd/rapid-home-provisioning-and-server-control-command-reference.html#GUID-66345667-F035-4ADB-A25F-5530299E04B7
https://docs.oracle.com/en/database/oracle/oracle-database/18/sprhp/deploying-and-managing-oracle-software-using-rapid-home-provisioning.pdf
2126710.1 RHP: Rapid Home Provisioning Server - Minimum Requirement
2097026.1 How to Setup a Rapid Home Provisioning (RHP) Server and Client
2124960.1 Rapid Home Provisioning (RHP) setup in 1-Click
關鍵詞:
rhp
18c
oracle
相關文章
低程式碼開發用Oracle Apex,看這篇就夠了
Oracle Database 20c之SQL巨集
Java beginner for Oracle DBA
Oracle Database 20c之區塊連結串列
Oracle Database 20c的一些微妙變化
關於Oracle的Sequence,你需要知道的
Oracle資料庫優化方面資料
Oracle Database 19c在優化方面有哪些新特性
Oracle Database 20c雲端預覽版釋出了
Oracle 19c新特性之RAC Automatic Failback Service
Install Oracle RAC Database 19c Step by Step
保障業務連續性的神器
How To Setup a Rapid Home Provisioning (RHP) Server and Client (Doc ID 2097026.1)
In this Document
|
Goal |
|
Solution |
|
Introduction |
|
Using Rapid Home Provisioning |
|
GNS Setup |
|
Creating a Rapid Home Provisioning Server |
|
RHP Server: Create the Rapid Home Provisioning Server resource |
|
RHP Server: Start the Rapid Home Provisioning Server resource |
|
RHP Server: HA-VIP setup |
|
RHP Server: Create client data file |
|
RHP Client setup |
|
Scenarios to Use Rapid Home Provisioning |
|
Adding Gold Images to the Rapid Home Provisioning Server |
|
Database Home provisioning |
|
Database home provisioning (LOCAL) |
|
Database home provisioning (NFS) |
|
Database provisioning |
|
Switch to Managed Homes |
|
Database Patching |
|
Standby Database Patching |
|
Troubleshooting |
|
References |
APPLIES TO:
Oracle Database - Enterprise Edition - Version 12.2.0.1 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
IBM AIX on POWER Systems (64-bit)
Linux x86-64
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on x86-64 (64-bit)
GOAL
To provide the steps to setup a Rapid Home Provisioning (RHP) Server & Client
SOLUTION
Introduction
Rapid Home Provisioning (RHP) represents a standard way for provisioning, patching and update at organizational level, in a unified manner, across all architectural layers of software infrastructure – Oracle databases and custom software.
- Rapid Home Provisioning is a method of deploying software homes from single cluster where you create, store and manage templates of Oracle homes as images - called gold images - of Oracle software. The DBA can make a working copy of any gold image and then provision that working copy to any RHP Client in a data center.
- RHP is installed as part of Grid Infrastructure. Oracle Clusterware manages the components that form the Rapid Home Provisioning Server. These components include the RHP server itself, Grid Naming Service (GNS) which is used to advertise the location of the RHP server, a VIP to support HA-NFS (required if there are any clients that you want to provision to - whether you use NFS storage for the workingcopies or not) and Oracle ASM Cluster File System (ACFS) which is used to store snapshots of the working copies.
- The gold images represent an installed home, whether that is an Oracle Database software home or some custom software home. The gold image is stored in an Oracle Automatic Software Management Cluster File System (Oracle ACFS).
- Metadata describing an installed home is stored as an image series in the Management Repository. The Management Repository (or Management Database MGMTDB) is created when installing Oracle Grid Infrastructure.
Using the rhpctl utility, gold images can be imported from an installed home on any of the RHP clients or RHP Server.
An existing working copy can be promoted to a gold image.
- A working copy is an instantiation of an Oracle database software home
- Working copies are writable and independent of one another
Using RHP we can provision Oracle GI/DB software for the various versions
- 11.2.0.* (Oracle Database 11g)
- 12.1.0.* (Oracle Database 12c)
- 12.2.0.* (Oracle Database 12c)
It's recommended on RHP Server to use the latest GI (Grid Infrastructure) version (at the time of writing this article 12.2.0.1_180116).
Using Rapid Home Provisioning
Rapid Home Provisioning requires ASM, the Management DB and the Grid Naming Service (GNS). As part of the Grid Infrastructure deploy
- ASM is configured
- The Management Repository (Management DB) is available. The Management DB is installed by default with Oracle Grid Infrastructure 12.2.0.1
Database is enabled
Instance -MGMTDB is running on node oda101
As the Management DB (MGMTDB) is doing a key role with the RHP, you should consider to setup a backup for it, in particular for the schema: '
GHSUSER' (for example using
expdp).
The size of it depends on the number of images, workingcopies, sites, users, etc.
In general, the size requirement is very low since we only store the metadata: for 100 images, 2000 workingcopies and 25 RHP Clients, our internal test showed a size of about 200 Mb only.
You need to configure the GNS such that a GNS VIP is provided. A GNS with Zone Delegation is not required by RHP.
you could skip the manual steps to setup RHP Server using "setrhp" the "1-Click" utility described on Note:2124960.1 - Rapid Home Provisioning (RHP) setup in "1-Click"
GNS Setup
Execute the following command as root, providing a valid IP address (domain is not needed on RHP):
# $GRID_HOME/bin/srvctl start gns
example:
# $GRID_HOME/bin/srvctl add gns -vip rhps-gns
# $GRID_HOME/bin/srvctl start gns
# $GRID_HOME/bin/srvctl status gns
GNS is running on node rhps.
GNS is enabled on node rhps.
# $GRID_HOME/bin/srvctl config gns
GNS is enabled.
GNS VIP addresses: 10.xxx.51.63
Domain served by GNS: No domain is being forwarded.
Once the GNS is configured the Rapid Home Provisioning server can be configured.
Creating a Rapid Home Provisioning Server
The Rapid Home Provisioning Server uses an Oracle ACFS file system for Oracle database software homes that will be published to clients.
To configure the Rapid Home Provisioning Server you will need to:
- Provide an ASM diskgroup (DATA/RECO). It is recommended that this diskgroup is with at least 100Gb in free space. The diskgroup is used to store gold images and RHP managed NFS-provisioned workingcopies.
- Provide a mount path that exists on all nodes of the RHP server. Oracle ACFS snapshots can be used to provision server-local workingcopies or NFS-mounted workingcopies on clients.
- Configure an HA VIP. The NFS client, on the RHP client clusters will communicate with the NFS server on the RHP server over this IP address for NFS mounted homes. The VIP allows for the configuration of HANFS. Note that the HA VIP has to be configured in the same subnet as the default network configured on the RHP server.
As HANFS requires NFS in order to run. It is assumed that NFS (and its associated needs) will be started by init scripts at node boot time. NFS will need to be running on all RHP server nodes. We can check this on each node issuing:
rpcbind (pid 13256) is running...
# service nfs status
rpc.mountd (pid 13858) is running...
nfsd (pid 13855 13854 13853 13852 13851 13850 13849 13848 13847 13846 13845 13844 13843 13842 13841 13840 13839 13838 13837 13836 13835 13834 13833 13832 13831 13830 13829 13828 13827 13826 13825 13824 13823 13822 13821 13820 13819 13818 13817 13816 13815 13814 13813 13812 13811 13810 13809 13808 13807 13806 13805 13804 13803 13802 13801 13800 13799 13798 13797 13796 13795 13794 13793 13792 13791 13790 13789 13788 13787 13786 13785 13784 13783 13782 13781 13780 13779 13778 13777 13776 13775 13774 13773 13772 13771 13770 13769 13768 13767 13766 13765 13764 13763 13762 13761 13760 13759 13758 13757 13756 13755 13754 13753 13752 13751 13750 13749 13748 13747 13746 13745 13744 13743 13742 13741 13740 13739 13738 13737 13736 13735 13734 13733 13732 13731 13730 13729 13728) is running...
rpc.rquotad (pid 13713) is running...
# service nfslock status
rpc.statd (pid 23372) is running...
If one of these is not running, you could start it by using (as root):
The 'chkconfig' command can be used to ensure that these services are started at boot time
chkconfig rpcbind on
chkconfig nfslock on
You may verify the NFS functionalities with 'mnttest' tool, see note:2167541.1 - RHP (Rapid Home Provisioning): mnttest tool to test NFS 'export' and 'mount' functionalities
Once the pre-requisites mentioned above have been met, the RHP server can be added to Grid Infrastructure and started.
RHP Server: Create the Rapid Home Provisioning Server resource
# srvctl stop rhpserver
Ignore a message similar to "Rapid Home Provisioning Server is not running".
# srvctl remove rhpserver
Assuming DATA diskgroup usage, and ' /rhp_storage' as ACFS mount point, issue the following command (as 'root' user):
example:
$GRID_HOME/bin/srvctl add rhpserver -storage /rhp_storage -diskgroup DATA
If adding rhpserver with above command you are getting the warning message:
you can set it up with the command (attaching ASM instance with sqlplus)
You can check the status for rhp server doing:
Rapid Home Provisioning Server is enabled
Rapid Home Provisioning Server is not running
On all RHP Server nodes at this time, you have a new ACFS mount point:
[root@oda101 ~]# mount
(...)
/dev/asm/<MOUNT_PT> on /rhp_storage/chkbase type acfs (rw)
RHP Server: Start the Rapid Home Provisioning Server resource
Issue the following command (as 'root' user):
# $GRID_HOME/bin/ srvctl start rhpserver
example:
[root@oda101 ~]# $GRID_HOME/bin/srvctl start rhpserver
[root@oda101 ~]# $GRID_HOME/bin/srvctl status rhpserver
Rapid Home Provisioning Server is enabled
Rapid Home Provisioning Server is running on node oda102
RHP Server: HA-VIP setup
On the RHP server as the Grid Infrastructure owner determine if an HA-VIP has been created (as 'grid' user):
HAVIP exists: /rhphavip/10.xxx.51.64, network number 1
Description:
Home Node:
HAVIP is enabled.
HAVIP is individually enabled on nodes:
HAVIP is individually disabled on nodes:
If it's not configured, you need to issue the following command (as root):
example
[root@oda101 ~]# $GRID_HOME/bin/ srvctl add havip -id rhphavip -address 10.xxx.51.64
RHP Server: Create client data file
On RHP Server create the RHP client configuration file (as 'grid' user), RHPCTL creates the client data file in the directory path you specify after the -toclientdata flag. The name of the client data file is "client_cluster_name".xml:
example:
[grid@oda101 ~]$ $GRID_HOME/bin/rhpctl add client -client odaremote1-c -toclientdata /home/grid
oda101.<DOMAIN_NAME>: Creating client data ...
oda101.<DOMAIN_NAME>: Client data created for user "odaremote-c".
[grid@oda101 ~]$ ls –al /home/grid/stormcloud-cluster.xml
-rw-r—-r-- 1 grid oinstall 3158 Oct 31 21:59 /home/grid/odaremote-c.xml
move the RHP Client config file created above to the RHP Client:
[grid@oda101 ~]$ scp odaremote-c.xml root@odaremote1:/home/grid
At this time you should configure the RHP Client.
RHP Client setup
Perform the following actions on the RHP client cluster (as 'root' user):
- Create the RHP client using the XML wallet created for this cluster
- Start the RHP client.
$GRID_HOME/bin/ srvctl start rhpclient
example:
[root@odaremote1 ~]# $GRID_HOME/bin/srvctl add rhpclient -clientdata /home/grid/odaremote-c.xml
[root@odaremote1 ~]# $GRID_HOME/bin/srvctl status rhpclient
Rapid Home Provisioning Client is enabled
Rapid Home Provisioning Client is not running
[root@odaremote1 ~]# $GRID_HOME/bin/ srvctl start rhpclient
The command “ srvctl add rhpclient” has two optional arguments:
-storage <base_path> A location which is available on every cluster node and is not necessarily shared.
"-diskgroup" and "-storage" are defined as a pair (you cannot define one without the other). They can be provided in "srvctl add rhpclient", and they may be modified or added with "srvctl modify rhpclient". The specified diskgroup and storage location are used in two scenarios:
1. when provisioning working copies of Oracle Database Homes in to RHP_MANAGED_STORAGE. RHP_MANAGED_STORAGE is the recommended storage type for Oracle Database Homes because it leverages ACFS features to minimize storage footprint.
2. If the client is a multi-node cluster. When a working copy of a software home (Grid, DB or generic) is provisioned to the client, the client will create a local cached copy in ACFS, and then copy it to the other nodes of the cluster locally. (Otherwise, the RHP Server itself must provision the working copy to each node.)
Scenarios to Use Rapid Home Provisioning
Adding Gold Images to the Rapid Home Provisioning Server
Rapid Home Provisioning Server stores and serves gold images of software homes. These gold images must be instantiated on the Rapid Home Provisioning Server. Gold images are read-only, preventing a client from running programs from them. Gold images are not used as software homes directly. Rather, the gold image is used to create working copies. These working copies are usable as software homes on RHP Client.
The DBA can import software to the Rapid Home Provisioning Server using any one of the following methods:
- Import a gold image from an installed home on the Rapid Home Provisioning Server using the following command:
- Import a gold image from an installed home on a Rapid Home Provisioning Client, using the following command run from the RHP Client:
- Promote an existing workingcopy to a gold image using the following command:
As example, let's suppose you have created several Oracle homes (on RHP Server)
---------------- ------------------- ------------
OraDb11203_home1 11.2.0.3.14(20299017,17592127) <DB_HOME_1>
OraDb11204_home1 11.2.0.4.6(20299013) <DB_HOME_2>
OraDb12102_home1 12.1.0.2..4(20831110,20831113) <DB_HOME_3>
You could make them available as gold image issuing the following command (as 'grid' user):
$ $GRID_HOME/bin/ rhpctl import image -image OraDb11203_home1 -path <DB_HOME_1> -imagetype ORACLEDBSOFTWARE
slcac464.<DOMAIN_NAME>: Creating a new ACFS file system for image "OraDb11203_home1" ...
slcac464.<DOMAIN_NAME>: Copying files...
slcac464.<DOMAIN_NAME>: Copying home contents...
slcac464.<DOMAIN_NAME>: Changing the home ownership to user oracle...
slcac464.<DOMAIN_NAME>: Transferring data to 1 nodes
slcac464.<DOMAIN_NAME>: 10% complete
slcac464.<DOMAIN_NAME>: 20% complete
slcac464.<DOMAIN_NAME>: 30% complete
slcac464.<DOMAIN_NAME>: 40% complete
slcac464.<DOMAIN_NAME>: 50% complete
slcac464.<DOMAIN_NAME>: 60% complete
slcac464.<DOMAIN_NAME>: 70% complete
slcac464.<DOMAIN_NAME>: 80% complete
slcac464.<DOMAIN_NAME>: 90% complete
slcac464.<DOMAIN_NAME>: 100% complete
slcac464.<DOMAIN_NAME>: Changing the home ownership to user grid...
$ $GRID_HOME/bin/ rhpctl import image -image OraDb11204_home1 -path <DB_HOME_2> -imagetype ORACLEDBSOFTWARE
slcac464.<DOMAIN_NAME>: Creating a new ACFS file system for image "OraDb11204_home1" ...
slcac464.<DOMAIN_NAME>: Copying files...
slcac464.<DOMAIN_NAME>: Copying home contents...
slcac464.<DOMAIN_NAME>: Changing the home ownership to user oracle...
slcac464.<DOMAIN_NAME>: Transferring data to 1 nodes
slcac464.<DOMAIN_NAME>: 10% complete
slcac464.<DOMAIN_NAME>: 20% complete
slcac464.<DOMAIN_NAME>: 30% complete
slcac464.<DOMAIN_NAME>: 40% complete
slcac464.<DOMAIN_NAME>: 50% complete
slcac464.<DOMAIN_NAME>: 60% complete
slcac464.<DOMAIN_NAME>: 70% complete
slcac464.<DOMAIN_NAME>: 80% complete
slcac464.<DOMAIN_NAME>: 90% complete
slcac464.<DOMAIN_NAME>: 100% complete
slcac464.<DOMAIN_NAME>: Changing the home ownership to user grid...
$ $GRID_HOME/bin/ rhpctl import image -image OraDb12102_home1 -path <DB_HOME_3> -imagetype ORACLEDBSOFTWARE
slcac464.<DOMAIN_NAME>: Creating a new ACFS file system for image "OraDb12102_home1" ...
slcac464.<DOMAIN_NAME>: Copying files...
slcac464.<DOMAIN_NAME>: Copying home contents...
slcac464.<DOMAIN_NAME>: Changing the home ownership to user oracle...
slcac464.<DOMAIN_NAME>: Transferring data to 1 nodes
slcac464.<DOMAIN_NAME>: 10% complete
slcac464.<DOMAIN_NAME>: 20% complete
slcac464.<DOMAIN_NAME>: 30% complete
slcac464.<DOMAIN_NAME>: 40% complete
slcac464.<DOMAIN_NAME>: 50% complete
slcac464.<DOMAIN_NAME>: 60% complete
slcac464.<DOMAIN_NAME>: 70% complete
slcac464.<DOMAIN_NAME>: 80% complete
slcac464.<DOMAIN_NAME>: 90% complete
slcac464.<DOMAIN_NAME>: 100% complete
slcac464.<DOMAIN_NAME>: Changing the home ownership to user grid...
Note as at this time you will have three new ACFS filesystems (for every single
rhpctl import command, a new ACFS mount point will be created):
Filesystem Size Used Avail Use% Mounted on
(...)
/dev/asm/<MOUNT_PT> 1.0G 141M 884M 14% /rhp_storage/images/chkbase
/dev/asm/ghvol960162-338
15G 5.2G 9.9G 35% /rhp_storage/images/iOraDb11203_home1673418
/dev/asm/ghvol439750-338
15G 5.2G 9.9G 35% /rhp_storage/images/iOraDb11204_home1977401
/dev/asm/ghvol937106-338
18G 5.9G 13G 33% /rhp_storage/images/iOraDb12102_home1267449
Database Home provisioning
The command rhpctl add workingcopy is used to provision an ORACLE_HOME for use by an Oracle database. This command can be run on the RHP Server or on the RHP Client. If run on the RHP Server, the command can provision an Oracle database either RHP-server-local or remotely on any RHP Client. When using the rhpctl command on the RHP Server, use the -client option to specify the remote cluster.
- Create the mount point for the working copy on all nodes of the RHP Client
[root@odaremote1 /]# mkdir -p /u01/rhp_base
[root@odaremote1 /]# chown -R oracle:oinstall /u01/rhp_base
[root@odaremote2 /]# mkdir -p /u01/rhp_base
[root@odaremote2 /]# chown -R oracle:oinstall /u01/rhp_base
Database home provisioning (LOCAL)
-help [REMOTEPROVISIONING|STORAGETYPE|ADMINDB|POLICYDB|DBWITHPQPOOLS|DBTEMPLATE|PDB|GRIDHOMEPROV|SWONLYGRIDHOMEPROV|STANDALONEPROVISIONING] Typical options (context sensitive) for various use cases
-workingcopy <workingcopy_name> Name of the working copy to be created
-image <image_name> Image name from the configured images
-oraclebase <oraclebase_path> ORACLE_BASE path for provisioning Oracle database home or Oracle Grid Infrastructure home
-inventory <inventory_path> Location of Oracle Inventory
-path <path> The absolute path for provisioning software home (For database images, this will be the ORACLE_HOME)
-storagetype {NFS | LOCAL | RHP_MANAGED} Type of storage for the home
-user <user_name> Name of the user for whom the software home is being provisioned
-dbname <unique_db_name> Name of database (DB_UNIQUE_NAME) to be provisioned
-dbtype {RACONENODE | RAC | SINGLE} Type of database: RAC One Node or RAC or Single Instance
-datafileDestination <datafileDestination_path> Data file destination location or ASM disk group name
-dbtemplate <filepath> | <image_name>:<relative_file_path> Absolute file path for the template file or relative path to the image home directory on Rapid Home Provisioning Server
-node <node_list> Comma-separated list of nodes on which database will be created
-serverpool <pool_name> Existing server pool name
-newpool <pool_name> Server pool name for pool to be created
-cardinality <cardinality> Cardinality for new server pool
-pqpool <pool_name> Existing PQ pool name
-newpqpool <pool_name> PQ pool name for pool to be created
-pqcardinality <cardinality> Cardinality for new PQ pool
-cdb To create database as container database
-pdbName <pdb_prefix> The pdbName prefix if one or more PDBs need to be created
-numberOfPDBs <pdb_count> Number of PDBs to be created
-client <cluster_name> Client cluster name
-ignoreprereq To ignore the CVU pre-requisite checks
-fixup Execute fixup script. Valid only for Grid Infrastructure provisioning.
-responsefile response file to be used to perform Oracle Grid Infrastructure provisioning
-clusternodes <node_name>:<node_vip>[:<node_role>][,<node_name>:<node_vip>[:<node_role>]...] Comma-separated list of node information on which Oracle Clusterware will be provisioned
-groups "OSDBA|OSOPER|OSASM|OSBACKUP|OSDG|OSKM|OSRAC=<group_name>[,...]" Comma-separated list of Oracle groups to be configured in the working copy.
-root Use root credentials to access the remote node
-sudouser <username> perform super user operations as sudo user name
-sudopath <sudo_binary_path> location of sudo binary
-notify Send email notification
-cc <users_list> List of users to whom email notifications will be sent, in addition to owner of working copy
-asmclientdata <data_path> File that contains the ASM client data
-gnsclientdata <data_path> File that contains the GNS client data
-clustermanifest <data_path> Location of Cluster Manifest File
-local Perform Grid Infrastructure software-only provisioning on the local node.
-softwareonly Perform Grid Infrastructure software-only provisioning.
-targetnode <node_name> Name of a node in a remote cluster with no Rapid Home Provisioning Client
-agpath <read_write_path> Read-write path for OLFS-based Oracle home.
-aupath <gold_image_path> Gold image path for OLFS-based Oracle home
-setupssh sets up passwordless SSH user equivalence on the remote nodes for the provisioning user
-useractiondata <user_action_data> Value to be passed to useractiondata parameter of useraction script
Provide an Oracle Home to RHP Client available as "oracle" user making it available " locally" (as 'grid' user from RHP Server)
[grid@oda101 ~]$ rhpctl add workingcopy -workingcopy WC_OraDb11204_home1 -image OraDb11204_home1 -oraclebase /u01/rhp_base
Creating a workingcopy, a new ACFS snapshot of the DB Home gold image will be created, example:
snapshot name: wWC_OraDb11204_home1
snapshot location: /rhp_storage/images/iOraDb11204_home1977401/.ACFS/snaps/ wWC_OraDb11204_home1
RO snapshot or RW snapshot: RW
parent name: /rhp_storage/images/iOraDb11204_home1977401
snapshot creation time: Tue Sep 8 00:58:57 2015
number of snapshots: 1
snapshot space usage: 1614921728 ( 1.50 GB )
Database home provisioning (NFS)
Provide an Oracle Home to RHP Client available as " oracle" user making it available by " NFS" (HA-NFS) (as 'grid' user from RHP Server):
[grid@oda101 ~]$ rhpctl add workingcopy -workingcopy WC_OraDb11204_home1 -image OraDb11204_home1 -oraclebase /u01/rhp_base - client odaremote-c -storagetype NFS -user oracle
Database provisioning
Using RHP 'rhpctl add workingcopy', you can provide also a (RAC, RacOne, Single Instance) database (non-CDB, CDB).
- there is no flexibilty on having the redologs file on REDO diskgroup (SSD) and the recovery files on RECO dg.
- the db template used is a generic template and not specialized for ODA
- special enhancements are done on ODA to store the database on ACFS filesystem
Switch to Managed Homes
A DBA can switch databases from an Oracle home that was not provisioned using Rapid Home Provisioning (unmanaged Oracle home) to an Oracle home provisioned and managed by Rapid Home Provisioning Server.
Assume the following:
- Oracle Home installed at /u01/app/product/12.1.0/dbhome (currently an unmanaged home) on an RHP client cluster named odaremote. This home has one or more databases created from it.
- A gold image named ORACLEDB12 is managed by the RHP server.
- (Optionally) the gold image ORACLEDB12 has a working copy named myDB12HOME1 created on the client cluster odaremote from it.
Example:
RHP Client
Name Type Storage HomeName HomeLocation Version
----- ------ -------- -------------- ---------------- ----------
odasdb SINGLE ACFS
OraDb12102_home2 <DB_HOME_4> 12.1.0.2.4(20831110,20831113)
----------------------------------------------------------------------------
RHP Server
[grid@oda101 ~]$ rhpctl query image
Image name: OraDb11203_home1
Image name: OraDb11204_home1
Image name: OraDb12102_home1
[grid@oda101 ~]$ rhpctl query workingcopy
Working copy name: WC_OraDb11203_home1
Working copy name: WC_OraDb11204_home1
Working copy name: WC_OraDb12102_home1
[grid@oda101 ~]$ rhpctl move database -sourcehome <DB_HOME_4> -client odaremote-c -patchedwc WC_OraDb12102_home1 -dbname odasdb
----------------------------------------------------------------------------
RHP Client
Name Type Storage HomeName HomeLocation Version
----- ------ -------- -------------- ---------------- ----------
odasdb SINGLE ACFS
WC_OraDb12102_home1 <RHP_WC_HOME_for_home_4> 12.1.0.2.4(20831110,20831113)
Note: Moving a RAC database from un-managed Oracle Home to an RHP managed Oracle Home by default will be done in rolling mode
Database Patching
Similar to the above scenario, patching involves moving a database from one workingcopy to a new patched workingcopy.
Workingcopies are independent and multiple workingcopies can be created from the same gold image.
A typical scenario would involve creating an initial workingcopy from a base release. As new patches, PSUs are a good example, get released create a new workingcopy from your current gold image and apply the PSU.
The latest workingcopy would be promoted as a new gold image from which new databases are created. Existing databases can then be moved to this latest gold image (which contains the current PSU).
This maintains a lineage of homes, allows for reverting to an older home if necessary, and keeps databases up to date, with regard to PSU application.
Assume you are moving all databases from a workingcopy named
wcDB12PSU1 to a workingcopy named
wcDB12PSU2, you would issue the command:
This command creates a new ORACLE_HOME based on the patched image, if it does not exist, and then switches all Oracle databases from their current ORACLE_HOME location to the new ORACLE_HOME.
By default, patching is performed in a
rolling mode. Use the
-nonrolling option to perform patching in non-rolling mode. The database is then completely stopped on the old ORACLE_HOME, and is then restarted using the newly patched ORACLE_HOME.
For databases versions 12.1.0.1 or higher, the command rhpctl move database also executes any SQL commands required for database patching. For database versions earlier than Oracle Database 12c Release 1, a message is displayed asking the user to run the SQL commands for database patching manually. If only a specific database is to have its ORACLE_HOME moved, include the
-dbnameswitch:
Standby Database Patching
Similar to the above scenario, standby database patching involves moving a database oracle home from one workingcopy to a new patched workingcopy without applying any dictionary patch.
On RHP Client a standby database is running under 12.1.0.2.0:
----- ------ -------- -------------- ---------------- ----------
STDBY SINGLE ACFS OraDb12102_home1 <DB_HOME_3> 12.1.0.2.0
From the RHP Server provide a new OH 12.1.0.2.3 (as 'grid' user):
Now, on RHP Client a new OH 12.1.0.2.3 is show:
---------------- ------------------- ------------
OraDb12102_home1 12.1.0.2.0 <DB_HOME_3>
WC_OraDb121023_home1 12.1.0.2.3(20299023) /rhp_oracle_home/product/12.1.0.2/WC_OraDb121023_home1
At this point we can move the remote standby from binaries 12.1.0.2.0 to 12.1.0.2.3 (patch the standby OH), as 'grid' user:
The STDBY database is now attached to the new OH provided above:
----- ------ -------- -------------- ---------------- ----------
STDBY SINGLE ACFS WC_OraDb121023_home1 /rhp_oracle_home/product/12.1.0.2/WC_OraDb121023_home1 12.1.0.2.3(20299023)
Troubleshooting
- The RHP Server logs are located at the following location:
- The RHP Client logs are located at the following location:
- In order to investigate what an srvctl command is doing:
Depending on the nature of the error, enable additional tracing by defining SRVM_NATIVE_TRACE=TRUE and SRVM_JNI_TRACE=TRUE. This will produce additional jni trace information and is helpful to isolate issue in the jni layer.
REFERENCES
https://docs.oracle.com/en/database/oracle/oracle-database/18/cwadd/rapid-home-provisioning.html#GUID-CCEC5960-EDA4-4A3F-9643-0CA308EA49AA
NOTE:2124960.1
- Rapid Home Provisioning (RHP) setup in "1-Click"
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwadd/rapid-home-provisioning.html#GUID-CCEC5960-EDA4-4A3F-9643-0CA308EA49AA
NOTE:2126710.1
- RHP: Rapid Home Provisioning Server - Minimum Requirement
NOTE:2167541.1
- RHP (Rapid Home Provisioning): mnttest tool to test NFS 'export' and 'mount' functionalities
NOTE:2054804.1
- ODA (Oracle Database Appliance): How To Setup a Rapid Home Provisioning (RHP) Server and Client
About Me
........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ● 本文在個人微 信公眾號( DB寶)上有同步更新 ● QQ群號: 230161599 、618766405,微信群私聊 ● 個人QQ號(646634621),微 訊號(db_bao),註明新增緣由 ● 於 2020年7月 在西安完成 ● 最新修改時間:2020年7月 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店: https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麥苗出版的資料庫類叢書: http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用、DBA學習班: http://blog.itpub.net/26736162/viewspace-2148098/ ● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ........................................................................................................................ 請掃描下面的二維碼來關注小麥苗的微 信公眾號( DB寶)及QQ群(230161599、618766405)、新增小麥苗微 信(db_bao), 學習最實用的資料庫技術。
........................................................................................................................ |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2703216/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12C新特性-History命令Oracle
- Oracle 12C新特性In-MemoryOracle
- Oracle 12c 兩個新特性Oracle
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性OracleASMFilter
- Oracle 12C新特性-RMAN恢復表Oracle
- Oracle 12C新特性-資料泵新引數(LOGTIME)Oracle
- Oracle 12C新特性-資料泵新引數(VIEWS_AS_TABLES)OracleView
- Oracle 12c 新特性之臨時Undo--temp_undo_enabledOracle
- Oracle 12C R2新特性-本地UNDO模式(LOCAL_UNDO_ENABLED)Oracle模式
- ORACLE 12C 優化器的一些新特性總結(二)Oracle優化
- ORACLE 12C 優化器的一些新特性總結(一)Oracle優化
- 12c RMAN新特性之Recover Table
- Oracle 12c新特性--LREG程式專門負責註冊例項服務Oracle
- Oracle 12C新特性-線上把非分割槽錶轉為分割槽表Oracle
- 【12.2】Oracle 12C R2新特性-外部表支援分割槽了(Partitioning External Tables)Oracle
- [20190718]12c rman新特性 表恢復.txt
- 【12c】12c RMAN新特性之recover table(表級別恢復)
- 12c新特性,線上move資料檔案
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- Oracle merge 與 PG新特性 UPSERTOracle
- 嚐鮮Oracle Database 12c的十二大新特性VKOracleDatabase
- 12C新特性___In-Memory列式儲存的總結
- 1 Oracle Database 19c 新特性OracleDatabase
- 12c DG新特性 - Active Data Guard Far Sync (Doc ID 2179719.1)
- lockdown profile 12c之後的許可權控制新特性
- 【DATAGUARD】Data Guard 12C 新特性:Far Sync Standby (Doc ID 2179719.1)
- Oracle12C新特性_DDL日誌Oracle
- Oracle 20C 多租戶_新特性Oracle
- LightDB 23.1相容Oracle新特性支援Oracle
- $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithOracleAI
- Oracle 18c新特性詳解 - 表和表空間相關的新特性Oracle
- Oracle 21c新特性預覽與日常管理相關的幾個新特性Oracle
- Oracle 12c Automatic ReoptimizationOracle
- Oracle 12C安裝Oracle
- Oracle 12.2 新特性: Online PDB relocate (PDB hot move)Oracle
- oracle 19C新特性——混合分割槽表Oracle
- 【DATAGUARD】Oracle19c dataguard新特性及部署Oracle
- Oracle 11g DG新特性--Automatic block repairOracleBloCAI