設定資料庫移轉先決條件

設定邏輯移轉的來源和目標資料庫先決條件。

設定 OCI 物件儲存連線

確定來源和目標資料庫可以在連接埠 443 連線至 OCI Object Storage,以在執行資料庫備份傳輸時存取用於讀取和寫入的儲存桶。

設定資料庫備份位置

建立資料庫備份儲存的 OCI 物件儲存儲存桶。

正常關閉 PeopleSoft 應用程式

最佳做法是先正常關閉 PeopleSoft 應用程式網域 (包括 Web 伺服器、彈性搜尋網域等),再執行任何資料庫移轉活動。您可能也想鎖定環境以及採取額外的預防措施。

若要關閉 PeopleSoft 應用程式,請執行下列動作:

psadmin stop -d *all;

設定來源資料庫參數

使用初始化參數 STREAMS_POOL_SIZE 設定串流集區。

對於離線邏輯移轉,為達到最佳「資料汲取」效能,建議將 STREAMS_POOL_SIZE 設為最少 256MB-350MB,以配置初始集區,否則在啟動期間可能會發生嚴重延遲。

  1. 執行下列命令:
    SQL> alter system set streams_pool_size=512M scope=spfile sid='*';
    SQL> shutdown immediate;
    SQL> startup open
    將資料庫重新啟動為後續活動。
  2. 確定「零停機移轉」服務主機和來源資料庫伺服器的系統時間應與您的 Oracle Cloud Infrastructure 目標同步。
  3. 「離線移轉」需要「資料汲取」具備 DATAPUMP_EXP_FULL_DATABASEDATAPUMP_IMP_FULL_DATABASE 角色。確定是否應將授權的應用程式角色指派給構成移轉工作的處理作業。

設定資料庫角色和權限

Oracle Autonomous Database 中,系統物件上不再允許使用 SELECT

系統物件上的所有 SELECT 授權都必須以 READ 授權取代。如需詳細資訊,請參閱 Explore 中的 My Oracle Support 文件 ID 1911151.1。

  1. 從來源資料庫撤銷 SELECT 權限:
    SQL> alter session set container=hr9246;
    SQL> REVOKE SELECT ON SYS.V_$IM_COLUMN_LEVEL from PSADMIN;
    SQL> REVOKE SELECT ON SYS.V_$IM_USER_SEGMENTS from PSADMIN;
    SQL> REVOKE SELECT ON SYS.V_$MYSTAT from PSADMIN;
    SQL> REVOKE SELECT ON USER_AUDIT_POLICIES from PSADMIN;
    SQL> REVOKE SELECT ON DBA_AUDIT_POLICY_COLUMNS from PSADMIN;
  2. 在來源資料庫授與 READ 權限:
    SQL> GRANT READ ON SYS.V_$IM_COLUMN_LEVEL to PSADMIN;
    SQL> GRANT READ ON SYS.V_$IM_USER_SEGMENTS to PSADMIN;
    SQL> GRANT READ ON SYS.V_$MYSTAT to PSADMIN;
    SQL> GRANT READ ON USER_AUDIT_POLICIES to PSADMIN;
    SQL> GRANT READ ON DBA_AUDIT_POLICY_COLUMNS to PSADMIN;

設定目標資料庫參數

PeopleSoft Unicode 資料庫需要 NLS_LENGTH_SEMANTICS=CHAR

  1. 檢閱 My Oracle Support 文章 (文件 ID 1986664.1 和 2626966.1)。
  2. 根據 PeopleSoft 資料庫的建議更新 NLS_LENGTH_SEMANTICS 參數。

建立表格空間、角色以及 PeopleSoft 使用者

由於資料庫的 PeopleSoft 使用者 (例如 PSPEOPLESYSADM) 具有相互相依性,因此建議建立使用者及其先決條件 (例如 PeopleSoft 提供之命令檔之後的預設表格空間、角色和權限)。

這些命令檔需要根據 Oracle Autonomous Database on Dedicated Exadata Infrastructure 的使用案例進行更新。舉例而言:

  1. Oracle Autonomous Database on Dedicated Exadata Infrastructure 將有 ADMIN 使用者,而非 SYSTEM 使用者。
  2. 無需切換可插拔資料庫,預設情況下,Oracle Autonomous Database on Dedicated Exadata Infrastructure 只會連線至可插拔資料庫。
  3. 建立公用同義字。
  4. 執行資料說明命令檔。

設定 PeopleSoft 指令碼

PeopleSoft 命令檔必須從來源環境提取並設定。命令檔位於 $PS_HOME/scripts/unix/pdb

建立下列檔案的複本,並對 Oracle Autonomous Database on Dedicated Exadata Infrastructure 執行這些檔案。它可以從來源資料庫或從「零停機移轉」服務主機執行。如需這些指示,這些命令檔是從「零停機移轉」服務主機執行。

更新下列命令檔:

  1. utlspace.sql 命令檔會建立 PeopleSoft 使用者的預設表格空間。對 Oracle Autonomous Database on Dedicated Exadata Infrastructure 執行之前,請先完成下列必要更新:
    1. 取得檔案位置:
      SQL> set linesize 200
      SQL> col name format a120
      SQL> select FILE# , NAME from  v$datafile;
      SQL> select FILE# , NAME from  v$tempfile;
    2. 在行下方加上註解 :
      ALTER SESSION SET CONTAINER = PDB_SERVICE_NAME: Connect with PDB as it is not required for Oracle Autonomous Database on Dedicated Exadata Infrastructure
      @$ORACLE_HOME/rdbms/admin/catblock.sql: Creates views that can dynamically display lock dependency graphs
    3. 更新下列行:
      CREATE TEMPORARY TABLESPACE PSTEMP: Update file location as per Database File Path
      CREATE TABLESPACE PSDEFAULT: Update file location as per Database File Path
  2. dbowner.sql 命令檔會建立 PeopleSoft PSDBOWNER 擁有者 ID。對 Oracle Autonomous Database on Dedicated Exadata Infrastructure 執行之前,請先完成下列必要更新:
    1. 註釋下列行:
      • CREATE PUBLIC SYNONYM PRODUCT_PROFILE:不可從可插拔資料庫內執行此作業。
      • CREATE PUBLIC SYNONYM PRODUCT_USER_PROFILE:不可從可插拔資料庫內執行此作業。
      • @$ORACLE_HOME/sqlplus/admin/pupbld.sql:PUBBLD 代表「產品使用者設定檔 BuiLD」。Oracle Autonomous Database on Dedicated Exadata Infrastructure 不需要這麼做。
    2. 更新下列行:
      • CONNECT system/&SYSTEMPWD@PDB_SERVICE_NAME:將使用者更新為 'ADMIN' 而非 'SYSTEM',以及正確的 PDB 服務名稱。
  3. connect.sql 命令檔會設定 PeopleSoft 連線 ID。此命令檔不需要更新。
  4. psroles.sql 命令檔提供執行 PeopleSoft 應用程式所需的權限。在對 Oracle Autonomous Database on Dedicated Exadata Infrastructure 執行之前,需要先進行一次更新。
    1. 將第 ALTER SESSION SET CONTAINER = PDB_SERVICE_NAME 行加上註解,這不是 Oracle Autonomous Database on Dedicated Exadata Infrastructure 所需的 PDB.
  5. psroles2.sql 命令檔提供 PSADMIN 角色所需的額外權限。對 Oracle Autonomous Database on Dedicated Exadata Infrastructure 執行之前,請先完成下列必要更新。
    1. 將第 ALTER SESSION SET CONTAINER = <PDB_SERVICE_NAME> 行加上註解,這樣就可以與 PDB 連線,因為 Oracle Autonomous Database on Dedicated Exadata Infrastructure 並非必要。
    2. 更新下列行:
      • GRANT SELECT ON SYS.V_$MYSTAT to PSADMIN:將 Oracle Autonomous Database on Dedicated Exadata Infrastructure 的 SELECT 更新為 READ。
      • GRANT SELECT ON USER_AUDIT_POLICIES to PSADMIN:將 Oracle Autonomous Database on Dedicated Exadata Infrastructure 的 SELECT 更新為 READ。
      • GRANT SELECT ON DBA_AUDIT_POLICY_COLUMNS to PSADMIN:將 Oracle Autonomous Database on Dedicated Exadata Infrastructure 的 SELECT 更新為 READ。
      • GRANT EXECUTE ON DBMS_FGA to PSADMIN:將 Oracle Autonomous Database on Dedicated Exadata Infrastructure 的 SELECT 更新為 READ。
  6. upggrant.sql 命令檔會授予現有 PSADMIN 角色所需的額外權限。不需要任何更新。
  7. psadmin.sql 命令檔會建立 PeopleSoft PSDBOWNER 擁有者 ID。對 Oracle Autonomous Database on Dedicated Exadata Infrastructure 執行之前,請先完成下列必要更新:
    1. 註釋下列行:
      • ALTER SESSION SET CONTAINER = PDB_SERVICE_NAME:與 PDB 連線,因為 Oracle Autonomous Database on Dedicated Exadata Infrastructure 並非必要。
      • @$ORACLE_HOME/rdbms/admin/catdbsyn:目錄 dba 同義字的命令檔。Oracle Autonomous Database on Dedicated Exadata Infrastructure 不需要這麼做。
      • @$ORACLE_HOME/sqlplus/admin/pupbld:產品使用者資料檔建置的指令碼。Oracle Autonomous Database on Dedicated Exadata Infrastructure 不需要這麼做。
      • @$ORACLE_HOME/rdbms/admin/utlxmv:建立 dbms_mview.explain_mview 程序需要的名為 mv_capabilities_table 的表格。Oracle Autonomous Database on Dedicated Exadata Infrastructure 不需要這麼做。
    2. 更新 CONNECT system/&SYSTEMPWD@PDB_SERVICE_NAME 行,將使用者更新為 'ADMIN',而非 'SYSTEM',以及正確的 PDB 服務名稱。
  8. 依下列順序在 Oracle Autonomous Database on Dedicated Exadata Infrastructure 中執行更新的命令檔:
    1. utlspace.sql
    2. dbowner.sql
    3. connect.sql
    4. psroles.sql
    5. psroles2.sql
    6. upggrant.sql
    7. psadmin.sql