本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 RDS for Oracle 上使用 Oracle Repository Creation Utility
您可以使用 Amazon RDS 來託管保存結構描述的 RDS for Oracle 資料庫執行個體,以支援您的 Oracle Fusion Middleware 元件。您需在資料庫中為它們建立和填入結構描述,才可以使用 Fusion Middleware 元件。您可以使用 Oracle Repository Creation Utility (RCU) 來建立和填入結構描述。
RCU 支援的版本和授權選項
Amazon RDS 僅支援 Oracle Repository Creation Utility (RCU) 版本 12c。您可以在下列組態中使用 RCU:
-
RCU 12c 搭配 Oracle 資料庫 21c
-
RCU 12c 搭配 Oracle 資料庫 19c
在您可以使用 RCU 之前,請確認執行下列作業:
-
取得 Oracle Fusion Middleware 的授權。
-
遵循託管儲存庫之 Oracle 資料庫的 Oracle 授權準則。如需詳細資訊,請參閱 Oracle 文件中的 Oracle Fusion Middleware 授權資訊使用者手冊
。
融合 MiddleWare 支持甲骨文數據庫企業版和標準版 2 的存儲庫。Oracle 建議將 Enterprise Edition 用於需要分割的生產安裝,和需要重新建置線上索引的安裝。
建立 RDS for Oracle 執行個體之前,請確認您需要的 Oracle 資料庫版本可支援您想要部署的元件。若要尋找您想要部署的 Fusion Middleware 元件和版本的需求,請使用認證矩陣。如需詳細資訊,請參閱 Oracle 文件中的 Oracle Fusion Middleware 支援的系統組態
Amazon RDS 可視需要支援 Oracle 資料庫版本升級。如需詳細資訊,請參閱 升級資料庫執行個體引擎版本。
RCU 的要求與限制
若要使用 RCU,您需要 Amazon VPC。Amazon RDS 資料庫執行個體必須只供 Fusion Middleware 元件使用,且不得對公有網際網路公開。因此,請在私有子網路上託管 Amazon RDS 資料庫執行個體,藉此提高安全性。您也需要 RDS for Oracle 資料庫執行個體。如需詳細資訊,請參閱 建立並連線至 Oracle 資料庫執行個體。
您可以在 Amazon RDS 資料庫執行個體中為任何 Fusion Middleware 元件存放結構描述。下列是已驗證可正確安裝的結構描述:
-
Analytics (ACTIVITIES)
-
Audit Services (IAU)
-
Audit Services Append (IAU_APPEND)
-
Audit Services Viewer (IAU_VIEWER)
-
Discussions (DISCUSSIONS)
-
Metadata Services (MDS)
-
Oracle Business Intelligence (BIPLATFORM)
-
Oracle Platform Security Services (OPSS)
-
Portal and Services (WEBCENTER)
-
Portlet Producers (PORTLET)
-
Service Table (STB)
-
SOA Infrastructure (SOAINFRA)
-
User Messaging Service (UCSUMS)
-
WebLogic 服務(維隆斯)
使用 RCU 的指導方針
下列是在此案例中搭配使用資料庫執行個體的一些建議:
-
對於生產工作負載,建議使用多個可用區。如需有關使用多個可用區域的詳細資訊,請參閱區域、可用區域和 Local Zones。
-
若要獲得額外的安全性,Oracle 建議您使用透明資料加密 (TDE) 來靜態加密您的資料。如果您有包含進階安全性選項的 Enterprise Edition 授權,則可以透過使用 TDE 選項來啟用靜態加密。如需更多詳細資訊,請參閱 Oracle 透明資料加密。
Amazon RDS 也為所有資料庫版本提供靜態加密選項。如需更多詳細資訊,請參閱 加密 Amazon RDS 資源。
-
設定 VPC 安全群組,以允許應用程式伺服器和 Amazon RDS 資料庫執行個體之間的通訊。託管 Fusion Middleware 元件的應用程式伺服器可以採用 Amazon EC2 或現場部署。
執行 RCU
若要建立和填入結構描述以支援 Fusion Middleware 元件,請使用 Oracle Repository Creation Utility (RCU)。您能以不同方式執行 RCU。
使用命令列以一個步驟執行 RCU
如果不需要在填入您的任何結構描述之前加以編輯,您可以透過單一步驟執行 RCU。否則,請查看用於以多個步驟執行 RCU 的下列小節。
您可以使用命令列參數 -silent
在靜音模式中執行 RCU。當您以無訊息模式執行 RCU 時,您可以建立包含密碼的文字檔案,避免在命令列上輸入密碼。建立一個文字檔案,將 dbUser
的密碼放在第一行,以及將每個元件的密碼放在後續的行上。您可以指定密碼檔案的名稱做為對 RCU 命令的最後一個參數。
範例
下列範例會在單一步驟中建立和填入 SOA Infrastructure 元件 (及其相依性) 的結構描述。
對於LinuxmacOS、或Unix:
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}
/oracle_common/bin/rcu \ -silent \ -createRepository \ -connectString${dbhost}
:${dbport}
:${dbname}
\ -dbUser${dbuser}
\ -dbRole Normal \ -honorOMF \ -schemaPrefix${SCHEMA_PREFIX}
\ -component MDS \ -component STB \ -component OPSS \ -component IAU \ -component IAU_APPEND \ -component IAU_VIEWER \ -component UCSUMS \ -component WLS \ -component SOAINFRA \ -f </tmp/passwordfile.txt
如需更多詳細資訊,請參閱 Oracle 文件中的透過命令列執行 Repository Creation Utility
使用命令列以多個步驟執行 RCU
若要手動編輯結構描述指令碼,可透過多個步驟執行 RCU:
-
使用
-generateScript
命令列參數來為您的結構描述建立指令碼,在 Prepare Scripts for System Load (針對系統負載準備指令碼) 模式中執行 RCU。 -
手動編輯並執行產生的指令碼
script_systemLoad.sql
。 -
使用
-dataLoad
命令列參數來填入結構描述,再次於 Perform Product Load (執行產品負載) 模式中執行 RCU。 執行產生的清除指令碼
script_postDataLoad.sql
。
若要在無提示模式中執行 RCU,請指定命令列參數 -silent
。在靜音模式中執行 RCU 時,您可以透過建立包含密碼的文字檔案,避免在命令列上輸入密碼。建立一個文字檔案,將 dbUser
的密碼放在第一行,以及將每個元件的密碼放在後續的行上。指定密碼檔案的名稱做為傳至 RCU 命令的最後一個參數。
範例
下列範例會建立 SOA Infrastructure 元件及其相依性的結構描述指令碼。
對於LinuxmacOS、或Unix:
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}
/oracle_common/bin/rcu \ -silent \ -generateScript \ -connectString${dbhost}
:${dbport}
:${dbname}
\ -dbUser${dbuser}
\ -dbRole Normal \ -honorOMF \ [-encryptTablespace true] \ -schemaPrefix${SCHEMA_PREFIX}
\ -component MDS \ -component STB \ -component OPSS \ -component IAU \ -component IAU_APPEND \ -component IAU_VIEWER \ -component UCSUMS \ -component WLS \ -component SOAINFRA \ -scriptLocation /tmp/rcuscripts \ -f </tmp/passwordfile.txt
現在您可以編輯產生的指令碼,請連接至您的 Oracle 資料庫執行個體,並執行指令碼。產生的指令碼名為 script_systemLoad.sql
。如需連接至 Oracle 資料庫執行個體的詳細資訊,請參閱 步驟 3:將您的 SQL 連線至 Oracle 資料庫執行個體。
下列範例會填入 SOA Infrastructure 元件 (及其相依性) 的結構描述。
對於LinuxmacOS、或Unix:
export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}
/oracle_common/bin/rcu \ -silent \ -dataLoad \ -connectString${dbhost}
:${dbport}
:${dbname}
\ -dbUser${dbuser}
\ -dbRole Normal \ -honorOMF \ -schemaPrefix${SCHEMA_PREFIX}
\ -component MDS \ -component STB \ -component OPSS \ -component IAU \ -component IAU_APPEND \ -component IAU_VIEWER \ -component UCSUMS \ -component WLS \ -component SOAINFRA \ -f </tmp/passwordfile.txt
若要完成,您可以連接至 Oracle 資料庫執行個體,並執行清除指令碼。指令碼名為 script_postDataLoad.sql
。
如需更多詳細資訊,請參閱 Oracle 文件中的透過命令列執行 Repository Creation Utility
在互動式模式中執行 RCU
若要使用 RCU 圖形使用者界面,請在互動式模式中執行 RCU。包括 -interactive
參數並省略 -silent
參數。如需詳細資訊,請參閱 Oracle 文件中的了解 Repository Creation Utility 畫面
範例
下列範例會在互動式模式中啟動 RCU 並預先填入連接資訊。
對於LinuxmacOS、或Unix:
export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw export JAVA_HOME=/usr/java/jdk1.8.0_65
${ORACLE_HOME}
/oracle_common/bin/rcu \ -interactive \ -createRepository \ -connectString${dbhost}
:${dbport}
:${dbname}
\ -dbUser${dbuser}
\ -dbRole Normal
RCU 疑難排解
請注意以下問題。
Oracle Managed Files (OMF)
Amazon RDS 會使用 OMF 資料檔案來簡化儲存體管理作業。您可以自訂資料表空間屬性,例如大小和程度管理。不過,如果您在執行 RCU 時指定資料檔案名稱,則資料表空間代碼會失敗,出現 ORA-20900
。您可以下列方式,RCU 與 OMF 搭配使用:
-
在 RCU 12.2.1.0 和更新版本中,使用
-honorOMF
命令列參數。 -
在 RCU 12.1.0.3 和更新版本中,使用多個步驟並編輯產生的指令碼。如需詳細資訊,請參閱 使用命令列以多個步驟執行 RCU。
物件權限
因為 Amazon RDS 屬於受管服務,所以您不具備 RDS for Oracle 資料庫執行個體的完整 SYSDBA
存取權。不過,RCU 12c 支援權限較低的使用者。在多數情況下,要建立儲存庫,主要使用者權限即已足夠。
主要帳戶可以直接授與已授與的權限 WITH GRANT OPTION
。在某些情況下,當您嘗試授與
物件權限時,RCU 可能失敗,出現 SYS
ORA-01031
。您可以重試並執行 rdsadmin_util.grant_sys_object
儲存的程序,如下列範例所示:
BEGIN rdsadmin.rdsadmin_util.grant_sys_object('GV_$SESSION','MY_DBA','SELECT'); END; /
如果您嘗試授與 SCHEMA_VERSION_REGISTRY
物件的權限 SYS
,操作可能會失敗,出現 ORA-20199: Error in rdsadmin_util.grant_sys_object
。您可以限定資料表 SCHEMA_VERSION_REGISTRY$
和檢視 SCHEMA_VERSION_REGISTRY
結構描述擁有者的名稱,也就是 SYSTEM
,然後重試該作業。或者,您可以建立同義字。以主要使用者身分登入,然後執行下列陳述式:
CREATE OR REPLACE VIEW SYSTEM.SCHEMA_VERSION_REGISTRY AS SELECT * FROM SYSTEM.SCHEMA_VERSION_REGISTRY$; CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY FOR SYSTEM.SCHEMA_VERSION_REGISTRY; CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY$ FOR SCHEMA_VERSION_REGISTRY;
Enterprise Scheduler Service
使用 RCU 卸除 Enterprise Scheduler Service 儲存庫時,RCU 可能會失敗並出現 Error: Component drop check
failed
。