設定 Amazon RDS Custom for Oracle 的資料庫執行個體 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 Amazon RDS Custom for Oracle 的資料庫執行個體

您可以建立 RDS Custom 資料庫執行個體,然後使用安全通訊殼層 (SSH) 或 AWS Systems Manager與它連線。

多租戶架構考量

如果您使用 Oracle 多租戶架構 (custom-oracle-ee-cdbcustom-oracle-se2-cdb引擎類型) 建立適用於 Oracle 資料庫的 Amazon RDS 自訂執行個體,則您的資料庫就是容器資料庫 (CDB)。如果您未指定 Oracle 多租戶架構,則資料庫是使用custom-oracle-eecustom-oracle-se2引擎類型的傳統非 CDB。非 CDB 不能包含插入式資料庫 (PDB)。如需詳細資訊,請參閱 Amazon RDS Custom for Oracle 的資料庫架構

當您建立 RDS Custom for Oracle CDB 執行個體時,請考慮下列事項:

  • 您只能從 Oracle Database 19c CEV 建立多租戶資料庫。

  • 您只能在 CEV 使用custom-oracle-ee-cdbcustom-oracle-se2-cdb引擎類型時建立 CDB 執行個體。

  • 如果您使用標準版 2 建立 CDB 執行個體,CDB 最多可以包含 3 個 PDB。

  • 依預設,您的 CDB 會命名為 RDSCDB (其也是 Oracle 系統 ID (Oracle SID) 的名稱)。您可以選擇不同名稱。

  • 您的 CDB 只包含一個起始 PDB。PDB 名稱預設為 ORCL。您可以針對起始 PDB 選擇不同的名稱,但 Oracle SID 和 PDB 名稱不能相同。

  • RDS Custom for Oracle 不會為 PDB 提供 API。若要建立其他 PDB,請使用 Oracle SQL 命令 CREATE PLUGGABLE DATABASE。RDS Custom for Oracle 不會限制您可以建立的 PDB 數目。通常,您負責建立和管理 PDB,如同內部部署中一般。

  • 您無法使用 RDS API 建立、修改和刪除 PDB:您必須使用 Oracle SQL 陳述式。當您使用 Oracle SQL 建立 PDB 時,建議您稍後建立手動快照,以防您需要執行 point-in-time 復原 (PITR)。

  • 您無法使用 Amazon RDS API 重新命名現有的 PDB。您也不能使用 modify-db-instance 命令重新命名 CDB。

  • CDB 根的開放模式在主要資料庫上為 READ WRITE,而在掛載的待命資料庫上則為 MOUNTED。RDS Custom for Oracle 嘗試在開啟 CDB 時開啟所有 PDB。如果 RDS Custom for Oracle 無法開啟所有 PDB,它會發出事件 tenant database shutdown

建立 RDS Custom for Oracle 資料庫執行個體

使用 AWS Management Console 或建立適用於 Oracle 資料庫執行個體的 Amazon RDS 自訂 AWS CLI。該程序與建立 Amazon RDS 資料庫執行個體的程序類型。如需詳細資訊,請參閱 建立 Amazon RDS 資料庫執行個體

如果您在 CEV 清單檔案中包含安裝參數,則資料庫執行個體會使用您指定的 Oracle 基本目錄、Oracle 主目錄,以及 UNIX/Linux 使用者和群組的識別符和名稱。Oracle Database 在安裝期間建立的 oratab 檔案會指向真實的安裝位置,而不是符號連結。當 RDS Custom for Oracle 執行命令時,其會以設定的作業系統使用者身分執行,而非預設使用者 rdsdb。如需詳細資訊,請參閱 步驟 5:準備 CEV 清單檔案

在您嘗試建立或連線至 RDS Custom 資料庫執行個體之前,請先完成設定您的 Amazon RDS Custom for Oracle 的環境中的任務。

若要建立 RDS Custom for Oracle 資料庫執行個體
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇 Create database (建立資料庫)。

  4. Choose a database creation method (選擇資料庫建立方法) 中,選取 Standard Create (標準建立)

  5. 引擎選項區段中,執行下列動作:

    1. 針對 Engine type (引擎類型),請選擇 Oracle

    2. 針對 Database management type (引擎管理類型),選擇 Amazon RDS Custom

    3. 對於管理設定,執行下列其中一項動作:

      • 選取多租戶架構以建立容器資料庫 (CDB)。建立時,您的 CDB 包含一個 PDB 種子和一個起始 PDB。

        注意

        僅 Oracle Database 19c 支援多租戶架構設定。

      • 清除多租戶架構以建立非 CDB。非 CDB 不能包含 PDB。

    4. 對於「版本」,請選擇 「Oracle 企業版」或「Oracle 標準版 2」。

    5. 對於自訂引擎版本,選擇現有的 RDS Custom 自訂引擎版本 (CEV)。CEV 採用下列格式:major-engine-version.customized_string。範例識別符為 19.cdb_cev1

      如果您在上一個步驟中選擇了多租戶架構,則只能指定使用custom-oracle-ee-cdbcustom-oracle-se2-cdb引擎類型的 CEV。主控台會篩選出使用不同引擎類型建立的 CEV。

  6. Templates (範本) 中,選擇 Production (生產)

  7. Settings (設定) 區段中,執行下列動作:

    1. 對於資料庫執行個體識別符,輸入資料庫執行個體的唯一名稱。

    2. 對於主要使用者名稱,輸入使用者名稱。您稍後可以從主控台擷取此值。

      當您連線至非 CDB 時,主要使用者就是非 CDB 的使用者。當您連線至 CDB 時,主要使用者就是 PDB 的使用者。若要連線至 CDB 根,請登入主機、啟動 SQL 用戶端,然後使用 SQL 命令建立管理使用者。

    3. 清除自動產生密碼

  8. 選擇資料庫執行個體類別

    如需支援的類別,請參閱 RDS Custom for Oracle 的資料庫執行個體類別支援

  9. Storage (儲存) 區段中,執行下列動作:

    1. 對於儲存體類型,選擇 SSD 類型:io1、gp2 或 gp3。您具有下列其他選項:

      • 對於 io1 或 gp3,選擇佈建 IOPS 的速率。對於 io1,預設為 1000,而對於 gp3,預設為 12000。

      • 對於 gp3,選擇儲存體輸送量的速率。預設值為 500 MiBps。

    2. 對於已配置的儲存體,選擇儲存體大小。預設為 40 GiB。

  10. 對於連線,指定您的虛擬私有雲端 (VPC)資料庫子網路群組VPC 安全群組 (防火牆)

  11. 針對 RDS Custom security (RDS Custom 安全),請執行下列操作:

    1. 針對 IAM instance profile (IAM 執行個體設定檔),為您的 RDS Custom for Oracle 資料庫執行個體選擇執行個體設定檔。

      例如AWSRDSCustom,IAM 執行個體設定檔必須以開頭AWSRDSCustomInstanceProfileForRdsCustomInstance

    2. 在加中,選擇輸入金鑰 ARN 以列出可用的 AWS KMS 金鑰。然後從清單選擇您的金鑰。

      RDS 自訂需要 AWS KMS 金鑰。如需詳細資訊,請參閱 步驟 1:建立或重複使用對稱加密 AWS KMS 金鑰

  12. 對於資料庫選項,執行下列動作:

    1. (選用) 在系統 ID (SID) 中,輸入 Oracle SID 的值,也是 CDB 的名稱。SID 是管理資料庫檔案之 Oracle 資料庫執行個體的名稱。在此內容中,「Oracle 資料庫執行個體」一詞特指系統全區域 (SGA) 和 Oracle 背景程序。如果您未指定 SID,值會預設為 RDSCDB

    2. (選用) 對於初始資料庫名稱,輸入一個名稱。預設值為 ORCL。在多租戶架構中,初始資料庫名稱是 PDB 名稱。

      注意

      SID 和 PDB 名稱必須不同。

    3. 對於「選項」群組,請選擇選項群組或接受預設值。

      注意

      RDS 自定義為甲骨文唯一支持的選項是Timezone。如需詳細資訊,請參閱 Oracle 時區

    4. 對於備份保留期,選擇一值。您無法選擇 0 天

    5. 在其餘區段,指定您偏好的 RDS Custom 資料庫執行個體的設定。如需每項設定的相關資訊,請參閱 資料庫執行個體的設定。以下設定不會出現在主控台中,也不受支援:

      • 處理器功能

      • 儲存體自動調整規模

      • Database authentication (資料庫身分驗證) 中的 Password and Kerberos authentication (密碼和 Kerberos 身分驗證) 選項 (僅支援 Password authentication (密碼身分驗證))

      • Performance Insights (績效詳情)

      • Log exports (日誌匯出)

      • Enable auto minor version upgrade (啟用自動次要版本升級)

      • 刪除保護

  13. 選擇建立資料庫

    重要

    建立 RDS Custom for Oracle 資料庫執行個體時,您可能會收到下列錯誤:服務連結角色正在建立的程序中。請稍後再試。如果收到這個訊息,請等待幾分鐘的時間然後再次嘗試建立資料庫執行個體。

    View credential details (檢視憑證詳細資訊) 按鈕會顯示在 Databases (資料庫) 頁面上。

    若要檢視 RDS Custom 資料庫執行個體的主要使用者名稱和密碼,請選擇 View credential details (檢視憑證詳細資訊)。

    若要以主要使用者的身分連線至資料庫執行個體,請使用出現的使用者名稱和密碼。

    重要

    您無法再次於主控台中檢視主要使用者密碼。如果您沒有記錄下來,您可能需要進行變更。若要在 RDS Custom 資料庫執行個體可供使用之後變更主要使用者密碼,請登入資料庫並執行 ALTER USER 命令。您無法使用主控台中的修改選項來重設密碼。

  14. 選擇 Databases (資料庫) 以檢視 RDS Custom 資料庫執行個體的清單。

  15. 選擇您剛剛建立的 RDS Custom 資料庫執行個體。

    在 RDS 主控台上,新 RDS Custom 資料庫執行個體的詳細資訊即會出現:

    • 在 RDS Custom 資料庫執行個體建立完成且可供使用之前,資料庫執行個體會處於 Creating (建立中) 狀態。狀態變更為 Available (可用) 時,您便能連線至資料庫執行個體。視執行個體類別和分配的儲存空間而定,新的資料庫執行個體可能需要幾分鐘才能使用。

    • Role (角色) 具有 Instance (RDS Custom) (執行個體 (RDS Custom)) 值。

    • RDS Custom automation mode (RDS Custom 自動化模式) 具有 Full automation (全自動化) 值。此設定表示資料庫執行個體提供自動監控和執行個體復原。

您可以使用create-db-instance AWS CLI 命令建立 RDS 自訂資料庫執行個體。

下列選項是必要的:

  • --db-instance-identifier

  • --db-instance-class (如需支援執行個體類別的清單,請參閱 RDS Custom for Oracle 的資料庫執行個體類別支援)

  • --engine engine-type,其中引擎類型custom-oracle-eecustom-oracle-se2custom-oracle-ee-cdbcustom-oracle-se2-cdb

  • --engine-version cev (其中 cev 是您在 建立 CEV 中指定的自訂引擎版本的名稱)

  • --kms-key-id my-kms-key

  • --backup-retention-period days (其中 days 是大於 0 的值)

  • --no-auto-minor-version-upgrade

  • --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1 (其中 region 是您要在其中建立資料庫執行個體的 AWS 區域 )

下列範例會建立名稱為 my-cfo-cdb-instance 的 RDS Custom 資料庫執行個體。資料庫是具有非預設名稱 MYCDB 的 CDB。非預設 PDB 名稱為 MYPDB。備份保留期為 3 天。

對於LinuxmacOS、或Unix:

aws rds create-db-instance \ --engine custom-oracle-ee-cdb \ --db-instance-identifier my-cfo-cdb-instance \ --engine-version 19.cdb_cev1 \ --db-name MYPDB \ --db-system-id MYCDB \ --allocated-storage 250 \ --db-instance-class db.m5.xlarge \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --port 8200 \ --kms-key-id my-kms-key \ --no-auto-minor-version-upgrade \ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1

在 Windows 中:

aws rds create-db-instance ^ --engine custom-oracle-ee-cdb ^ --db-instance-identifier my-cfo-cdb-instance ^ --engine-version 19.cdb_cev1 ^ --db-name MYPDB ^ --db-system-id MYCDB ^ --allocated-storage 250 ^ --db-instance-class db.m5.xlarge ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --port 8200 ^ --kms-key-id my-kms-key ^ --no-auto-minor-version-upgrade ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1
注意

指定此處所顯示提示以外的密碼,作為安全最佳實務。

使用 describe-db-instances 命令取得執行個體的詳細資訊。

aws rds describe-db-instances --db-instance-identifier my-cfo-cdb-instance

下列部分輸出顯示引擎、參數群組及其他資訊。

{ "DBInstanceIdentifier": "my-cfo-cdb-instance", "DBInstanceClass": "db.m5.xlarge", "Engine": "custom-oracle-ee-cdb", "DBInstanceStatus": "available", "MasterUsername": "admin", "DBName": "MYPDB", "DBSystemID": "MYCDB", "Endpoint": { "Address": "my-cfo-cdb-instance.abcdefghijkl.us-east-1.rds.amazonaws.com", "Port": 1521, "HostedZoneId": "A1B2CDEFGH34IJ" }, "AllocatedStorage": 100, "InstanceCreateTime": "2023-04-12T18:52:16.353000+00:00", "PreferredBackupWindow": "08:46-09:16", "BackupRetentionPeriod": 7, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-0a1bcd2e", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-cdb-19", "ParameterApplyStatus": "in-sync" } ], ...

RDS Custom 服務連結角色

服務連結角色可讓 Amazon RDS 自訂存取您 AWS 帳戶的. 它會讓使用 RDS Custom 更簡單,因為您不需要手動新增必要許可。RDS Custom 會定義其服務連結角色的許可,除非另有定義,否則僅有 RDS Custom 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能連接到任何其他 IAM 實體。

當您建立 RDS Custom 資料庫執行個體時,Amazon RDS 和 RDS Custom 服務連結角色兩者都會建立 (如果尚未存在) 並且使用。如需詳細資訊,請參閱 使用 Amazon RDS 的服務連結角色

第一次建立 RDS Custom for Oracle 資料庫執行個體時,您可能會收到下列錯誤:服務連結角色正在建立的程序中。請稍後再試。如果收到這個訊息,請等待幾分鐘的時間然後再次嘗試建立資料庫執行個體。

使用工作階段管理員連線至 RDS Custom 資料庫執行個體

建立 RDS 自訂資料庫執行個體之後,您可以使用 AWS Systems Manager Session Manager. 當您的資料庫執行個體無法公開存取時,這是偏好的技術。

工作階段管理員可讓您透過瀏覽器型 Shell 或透過 AWS CLI存取 Amazon EC2 執行個體。如需詳細資訊,請參閱 AWS Systems Manager 工作階段管理員

若要使用工作階段管理員連線至資料庫執行個體
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要連線的 RDS Custom 資料庫執行個體。

  3. 選擇 Configuration (組態)

  4. 請記下資料庫執行個體的 Resource ID (資源 ID)。例如,資源 ID 可能是 db-ABCDEFGHIJKLMNOPQRS0123456

  5. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  6. 在導覽窗格中,選擇執行個體

  7. 尋找 EC2 執行個體的名稱,然後按一下與其相關聯的執行個體 ID。例如,執行個體 ID 可能是 i-abcdefghijklm01234

  8. 選擇連線

  9. 選擇 Session Manager (工作階段管理員)

  10. 選擇連線

    您的工作階段會開啟一個視窗。

您可以使用 AWS CLI連線至 RDS Custom 資料庫執行個體。此技術需要 AWS CLI的工作階段管理員外掛程式。若要了解如何安裝外掛程式,請參閱安裝 AWS CLI的工作階段管理員外掛程式

若要尋找 RDS Custom 資料庫執行個體的資料庫資源 ID,請使用 aws rds describe-db-instances

aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

下列範例輸出顯示 RDS Custom 執行個體的資源 ID。字首是 db-

db-ABCDEFGHIJKLMNOPQRS0123456

若要尋找資料庫執行個體的 EC2 執行個體 ID,請使用 aws ec2 describe-instances。以下範例使用 db-ABCDEFGHIJKLMNOPQRS0123456 做為資源 ID。

aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

以下範例輸出顯示 EC2 執行個體 ID。

i-abcdefghijklm01234

使用 aws ssm start-session 命令,在 --target 參數中提供 EC2 執行個體 ID。

aws ssm start-session --target "i-abcdefghijklm01234"

成功的連線看起來如下。

Starting session with SessionId: yourid-abcdefghijklm1234 [ssm-user@ip-123-45-67-89 bin]$

使用 SSH 連線到您的 RDS Custom 資料庫執行個體

Secure Shell 通訊協定 (SSH) 是一種支援透過不安全網路進行加密通訊的網路通訊協定。建立 RDS Custom 資料庫執行個體之後,您可以使用 SSH 用戶端連線到此執行個體。如需詳細資訊,請參閱使用 SSH 連線至您的 Linux 執行個體

您的 SSH 連線技術取決於您的資料庫執行個體是否為私有,這表示它不接受來自公用網際網路的連線。在這種情況下,您必須使用 SSH 通道將 ssh 公用程式連線到執行個體。這項技術會在現有的 SSH 工作階段內使用專用資料串流 (通道) 傳輸資料。您可以使用 AWS Systems Manager來設定 SSH 通道。

注意

支援存取私有執行個體的各種策略。若要了解如何使用堡壘主機,將 SSH 用戶端連線到私有執行個體,請參閱 AWS上的 Linux 堡壘主機。若要了解如何設定連接埠轉送,請參閱使用 AWS Systems Manager Session Manager進行連接埠轉送

如果您的資料庫執行個體位於公有子網路且具有公開可用的設定,則不需要 SSH 通道。您可以像使用公有 Amazon EC2 執行個體一樣使用 SSH 進行連線。

若要將 SSH 用戶端連線到您的資料庫執行個體,請完成下列步驟:

步驟 1:將您的資料庫執行個體設定為允許 SSH 連線

若要確保您的資料庫執行個體能夠接受 SSH 連線,請執行下列動作:

  • 請確定您的資料庫執行個體安全群組允許 TCP 連接埠 22 上的傳入連線。

    若要了解如何設定資料庫執行個體的安全群組,請參閱 使用安全群組控制存取

  • 如果您不打算使用 SSH 通道,請確保您的資料庫執行個體位於公有子網路且可公開存取。

    在主控台中,可在資料庫詳細資訊頁面的連線能力與安全性索引標籤上公開存取相關欄位。若要在 CLI 中檢查您的設定,請執行下列命令:

    aws rds describe-db-instances \ --query 'DBInstances[*].{DBInstanceIdentifier:DBInstanceIdentifier,PubliclyAccessible:PubliclyAccessible}' \ --output table

    若要變更資料庫執行個體的協助工具設定,請參閱 修改 Amazon RDS 資料庫執行個體

步驟 2:擷取您的 SSH 私密金鑰和 EC2 執行個體 ID

若要使用 SSH 連線到資料庫執行個體,您需要與執行個體相關聯的 SSH 金鑰對。RDS 自訂會代表您建立安全殼層 key pair,並以前置詞命名do-not-delete-rds-custom-ssh-privatekey-db-。 AWS Secrets Manager 將您的 SSH 私鑰存儲為秘密。

使用 AWS Management Console 或擷取安全殼層密鑰 AWS CLI。如果您的執行個體具有公用 DNS,且您不打算使用 SSH 通道,亦請擷取 DNS 名稱。您可以指定 DNS 名稱進行公有連線。

擷取秘密 SSH 金鑰
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要連線的 RDS Custom 資料庫執行個體。

  3. 選擇 Configuration (組態)

  4. 請記下 Resource ID (資源 ID) 值。例如,資料庫執行個體資源 ID 可能是 db-ABCDEFGHIJKLMNOPQRS0123456

  5. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  6. 在導覽窗格中,選擇執行個體

  7. 尋找 EC2 執行個體的名稱,然後選擇與其相關聯的執行個體 ID。例如,EC2 執行個體 ID 可能是 i-abcdefghijklm01234

  8. Details (詳細資訊) 中尋找 Key pair name (金鑰對名稱)。配對名稱包含資料庫執行個體資源 ID。例如,配對名稱可能是 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c

  9. 如果您的 EC2 執行個體是公有的,請記下公有 IPv4 DNS。例如,公有網域名稱系統 (DNS) 地址可能是 ec2-12-345-678-901.us-east-2.compute.amazonaws.com

  10. 開啟主 AWS Secrets Manager 控台,網址為 https://console.aws.amazon.com/secretsmanager/

  11. 選擇與金鑰對具有相同名稱的密碼。

  12. 選擇 Retrieve secret value (擷取秘密值)

  13. 將 SSH 私有金鑰複製到文字檔,然後以 .pem 副檔名儲存檔案。例如,將檔案儲存為 /tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

若要擷取 SSH 私有金鑰並將其儲存在 .pem 檔案中,您可以使用 AWS CLI。

  1. 使用 aws rds describe-db-instances 尋找 RDS Custom 資料庫執行個體的資料庫資源 ID。

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

    下列範例輸出顯示 RDS Custom 執行個體的資源 ID。字首是 db-

    db-ABCDEFGHIJKLMNOPQRS0123456
  2. 使用 aws ec2 describe-instances 尋找資料庫執行個體的 EC2 執行個體 ID。以下範例使用 db-ABCDEFGHIJKLMNOPQRS0123456 做為資源 ID。

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    以下範例輸出顯示 EC2 執行個體 ID。

    i-abcdefghijklm01234
  3. 若要尋找金鑰名稱,請指定 EC2 執行個體 ID。下列範例描述 EC2 執行個體 i-0bdc4219e66944afa

    aws ec2 describe-instances \ --instance-ids i-0bdc4219e66944afa \ --output text \ --query 'Reservations[*].Instances[*].KeyName'

    下列範例輸出會顯示金鑰名稱,該名稱使用字首 do-not-delete-rds-custom-ssh-privatekey-

    do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c
  4. 使用 aws secretsmanager 將私有金鑰儲存在以金鑰命名的 .pem 檔案中。下列範例會將檔案儲存在 /tmp 目錄中。

    aws secretsmanager get-secret-value \ --secret-id do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c \ --query SecretString \ --output text >/tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

步驟 3:使用 ssh 公用程式連線到 EC2 執行個體

您的連線技術取決於您要連線到私有資料庫執行個體還是連線到公有執行個體。私有連線需要您透過 AWS Systems Manager設定 SSH 通道。

使用 ssh 公用程式連線到 EC2 執行個體
  1. 若為私人連線,請修改 SSH 組態檔,以透過 Proxy 將命令傳送至 AWS Systems Manager Session Manager。若為公有連線,請跳至步驟 2。

    將下列這幾行新增至 ~/.ssh/config。針對名稱開頭為 i-mi- 的主機,這些行會透過 Proxy 傳送 SSH 命令。

    Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  2. 變更為包含 .pem 檔案的目錄。使用 chmod,將許可設定為 400

    cd /tmp chmod 400 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem
  3. 執行 ssh 公用程式,指定 .pem 檔案和公有 DNS 名稱 (進行公用連線) 或 EC2 執行個體 ID (進行私有連線)。以使用者 ec2-user 身分登入。

    下列範例會使用 DNS 名稱 ec2-12-345-678-901.us-east-2.compute.amazonaws.com 連線至公有執行個體。

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@ec2-12-345-678-901.us-east-2.compute.amazonaws.com

    下列範例會使用 EC2 執行個體 ID i-0bdc4219e66944afa 連線到私有執行個體。

    ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@i-0bdc4219e66944afa

以 SYS 身分登入您的 RDS Custom for Oracle 資料庫

在建立 RDS Custom 資料庫執行個體之後,您可以使用者 SYS 身分登入 Oracle 資料庫,這將給予您 SYSDBA 權限。您有以下登入選項:

  • 從 Secrets Manager 取得 SYS 密碼,並在 SQL 用戶端中指定此密碼。

  • 使用作業系統身分驗證來登入您的資料庫。在此情況下,您不需要密碼。

為您的 RDS Custom for Oracle 資料庫尋找 SYS 密碼

您可以在 API 呼叫中指定主要使用者名稱,以 SYSSYSTEM 身分登入 Oracle 資料庫。SYSSYSTEM 的密碼存放在 Secrets Manager 中。該密碼使用命名格式 do-not-delete-rds-自定義-資源 ID-uuid您可以使用 AWS Management Console尋找密碼。

在 Secrets Manager 中為您的資料庫尋找 SYS 密碼
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在 RDS 主控台中,完成下列步驟︰

    1. 在導覽窗格中,選擇 Databases (資料庫)。

    2. 選擇 RDS Custom for Oracle 資料庫執行個體的名稱。

    3. 選擇 Configuration (組態)

    4. 複製資源 ID 下方的值。例如,您的資源 ID 可能是 db-ABC12CDE3FGH4I5JKLMNO6PQR7

  3. 前往以下位置開啟機密管理員控制台:https://console.aws.amazon.com/secretsmanager/

  4. 在 Secrets Manager 主控台中,完成下列步驟︰

    1. 在左側導覽窗格中,選擇秘密

    2. 依您在步驟 5 中複製的資源 ID 篩選秘密。

    3. 選擇名為-do-not-delete-rds自訂-ID-uuid 的密碼,其中資源識別碼是您在步驟 5 中複製的資源識別碼例如,如果您的資源識別碼是 DB-ABC12CDE3FGH4I5JK,則您的密碼將會被命名為-自訂 DB-自訂 DB 12CDE3F GH4I5JK。do-not-delete-rds

    4. 秘密值中,選擇擷取秘密值

    5. 金鑰/值中,複製密碼的值。

  5. 在資料庫執行個體上安裝 SQL*Plus,然後以 SYS 身分登入資料庫。如需詳細資訊,請參閱 步驟 3:將您的 SQL 連線至 Oracle 資料庫執行個體

使用作業系統身分驗證,登入 RDS Custom for Oracle 資料庫

作業系統使用者 rdsdb 擁有 Oracle 資料庫二進位檔案。您可以切換到 rdsdb 使用者並登入 RDS Custom for Oracle 資料庫,無需密碼。

  1. 使用 Connect 到您的資料庫執行個體 AWS Systems Manager。如需詳細資訊,請參閱 使用工作階段管理員連線至 RDS Custom 資料庫執行個體

  2. 在 Web 瀏覽器中,前往 https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

  3. 如需出現在網頁上的最新資料庫版本,請複製即時用戶端基本套件和 SQL*Plus 套件的 .rpm 連結 (不是 .zip 連結)。例如,下列是針對 Oracle Database 21.9 版的連結:

    • https://download.oracle.com/otn_software/linux/instantclient/219000/ 每oracle-instantclient-basic分鐘

    • https://download.oracle.com/otn_software/linux/instantclient/219000/ 每oracle-instantclient-sqlplus分鐘

  4. 在您的 SSH 工作階段中,執行 wget 命令,從您在上一個步驟中取得的連結下載 .rpm 檔案。下列範例會下載 Oracle Database 21.9 版的 .rpm 檔案:

    wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-basic-21.9.0.0.0-1.el8.x86_64.rpm wget https://download.oracle.com/otn_software/linux/instantclient/219000/oracle-instantclient-sqlplus-21.9.0.0.0-1.el8.x86_64.rpm
  5. 執行 yum 命令安裝套件,如下所示:

    sudo yum install oracle-instantclient-*.rpm
  6. 切換到 rdsdb 使用者。

    sudo su - rdsdb
  7. 使用作業系統身分驗證來登入您的資料庫。

    $ sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Wed Apr 12 20:11:08 2023 Version 21.9.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.10.0.0.0

在 RDS Custom for Oracle 資料庫執行個體上安裝其他軟體元件

在新建立的資料庫執行個體中,您的資料庫環境包含 Oracle 二進位檔、資料庫和資料庫接聽程式。您可能想要在資料庫執行個體的主機作業系統上安裝其他軟體。例如,您可能想要安裝 Oracle Application Express (APEX)、Oracle Enterprise Manager (OEM) 代理程式或 Guardium S-TAP 代理程式。如需指導方針和高階指示,請參閱詳細的 AWS 部落格文章在 Amazon RDS 自訂適用於 Oracle 的安裝其他軟體元件