CEV 作成の準備
CEV を作成するには、次のいずれかのリリースの Amazon S3 バケットに保存されているインストールファイルおよびパッチにアクセスします。
-
Oracle Database 19c
-
Oracle Database 18c
-
Oracle Database 12c Release 2 (12.2)
-
Oracle Database 12c Release 1 (12.1)
例えば、Oracle Database 19c の 2021 年 4 月 RU/RUR、またはインストールファイルとパッチの有効な組み合わせを使用できます。RDS Custom for Oracle でサポートされているバージョンとリージョンの詳細については、「RDS Custom with RDS for Oracle」を参照してください。
トピック
ステップ 1 (オプション): マニフェストテンプレートをダウンロードする
CEV マニフェストは、CEV のデータベースインストール .zip ファイルのリストを含む JSON ドキュメントです。CEV を作成するには、以下の手順を実行します。
-
CEV に含める Oracle データベースのインストールファイルを特定します。
-
インストールファイルをダウンロードします。
-
インストールファイルを一覧表示する JSON マニフェストを作成します。
RDS Custom for Oracle には、サポートされている Oracle データベースの各リリース用に、推奨する.zip ファイルが含まれた JSON マニフェストテンプレートが用意されています。例えば、次のテンプレートは 19.17.0.0.0 RU 用です。
{ "mediaImportTemplateVersion": "2020-08-14", "databaseInstallationFileNames": [ "V982063-01.zip" ], "opatchFileNames": [ "p6880880_190000_Linux-x86-64.zip" ], "psuRuPatchFileNames": [ "p34419443_190000_Linux-x86-64.zip", "p34411846_190000_Linux-x86-64.zip" ], "otherPatchFileNames": [ "p28852325_190000_Linux-x86-64.zip", "p29997937_190000_Linux-x86-64.zip", "p31335037_190000_Linux-x86-64.zip", "p32327201_190000_Linux-x86-64.zip", "p33613829_190000_Linux-x86-64.zip", "p34006614_190000_Linux-x86-64.zip", "p34533061_190000_Linux-x86-64.zip", "p34533150_190000_Generic.zip", "p28730253_190000_Linux-x86-64.zip", "p29213893_1917000DBRU_Generic.zip", "p33125873_1917000DBRU_Linux-x86-64.zip", "p34446152_1917000DBRU_Linux-x86-64.zip" ] }
各テンプレートには、パッチのダウンロード手順、.zip ファイルの URL、およびファイルチェックサムが記載された Readme が関連付けられています。これらのテンプレートはそのまま使用することも、独自のパッチで修正することもできます。テンプレートを確認するには、custom-oracle-manifest.zip をローカルディスクにダウンロードし、ファイルアーカイブアプリケーションで開きます。詳細については、「ステップ 5: CEV マニフェストを準備する」を参照してください。
ステップ 2: Oracle Software Delivery Cloud からデータベースインストールファイルおよびパッチをダウンロードする
CEV に必要なインストールファイルを特定したら、ローカルシステムにダウンロードします。Oracle Database のインストールファイルおよびパッチは、Oracle Software Delivery Cloudでホストされています。各 CEV には Oracle Database 19c や Oracle Database 12c Release 2 (12.2) などのベースのリリースが必要です。
Oracle Database のデータベースインストールファイルをダウンロードするには
-
https://edelivery.oracle.com/
に移動してサインインします。 -
検索ボックスに「
Oracle Database Enterprise Edition」または「Oracle Database Standard Edition 2」と入力し、[検索] を選択します。 -
次のベースのリリースのいずれかを選択します。
データベースのバージョン Enterprise Edition Standard Edition 2 Oracle Database 19c DLP: Oracle Database 19c Enterprise Edition 19.3.0.0.0 (Oracle Database Enterprise Edition ) DLP: Oracle Database 19c Standard Edition 2 19.3.0.0.0 ( Oracle Database Standard Edition 2 ) Oracle Database 18c DLP: Oracle Database 18c Enterprise Edition 18.0.0.0.0 ( Oracle Database Enterprise Edition ) DLP: Oracle Database Standard Edition 2 18.0.0.0.0 ( Oracle Database Standard Edition 2 ) Oracle Database 12c Release 2 (12.2.0.1) DLP: Oracle Database 12c Enterprise Edition 12.2.0.1.0 ( Oracle Database Enterprise Edition ) DLP: Oracle Database Standard Edition 2 12.2.0.1.0 ( Oracle Database Standard Edition 2 ) Oracle Database 12c Release 1 (12.1.0.2) DLP: Oracle Database 12c Enterprise Edition 12.1.0.2.0 ( Oracle Database Enterprise Edition ) DLP: Oracle Database Standard Edition 2 12.1.0.2.0 ( Oracle Database Standard Edition 2 ) -
[続行] をクリックしてください。
-
[Download Queue] (キューのダウンロード) チェックボックスをオフにします。
-
ベースのリリースに対応するオプションを選択します。
-
Oracle Database 19.3.0.0.0 - 長期リリース。
-
Oracle Database 18.0.0.0.0
-
Oracle Database 12.2.0.1.0.
-
Oracle Database 12.1.0.2.0.
-
-
プラットフォーム/言語でLinux x86-64を選択します。
-
[続行] を選択し、Oracle ライセンス契約に署名します。
-
データベースリリースに対応する.zip ファイルを選択します。
データベースのリリースとエディション Zip ファイル SHA-256 ハッシュ 19c EE と SE2 V982063-01.zip BA8329C757133DA313ED3B6D7F86C5AC42CD9970A28BF2E6233F3235233AA8D818c EE と SE2 V978967-01.zip C96A4FD768787AF98272008833FE10B172691CF84E42816B138C12D4DE63AB9612.2.0.1 EE と SE2 V839960-01.zip 96ED97D21F15C1AC0CCE3749DA6C3DAC7059BB60672D76B008103FC754D22DDE12.1.0.2 EE V46095-01_1of2.zip V46095-01_2of2.zip 31FDC2AF41687B4E547A3A18F796424D8C1AF36406D2160F65B0AF6A9CD47355for V46095-01_1of2.zip03DA14F5E875304B28F0F3BB02AF0EC33227885B99C9865DF70749D1E220ACCDfor V46095-01_2of2.zip12.1.0.2 SE2 V77388-01_1of2.zip V77388-01_2of2.zip 73873369753230F5A0921F95ACEADB591388CB06ED72A7F3AEA7BCBCEA2403BCfor V77388-01_1of2.zip2492E1BE1E3E3531DA83D0843C09C08E435AC8CEFD9A00C0DF56BE4F15CEEBF3for V77388-01_2of2.zip -
必要な Oracle パッチを
updates.oracle.comまたはsupport.oracle.comからローカルシステムにダウンロードします。パッチの URL は次の場所にあります。-
ステップ 1 (オプション): マニフェストテンプレートをダウンロードする でダウンロードした .zip ファイル内の Readme ファイル
-
Release notes for Amazon Relational Database Service (Amazon RDS) for Oracle の 各 Release Update (RU) に一覧表示されているパッチ
-
ステップ 3: Amazon S3 へのインストールファイルをアップロードする
AWS CLIを使用して、Oracle インストールファイルとパッチファイルを Amazon S3 にアップロードします。インストールファイルを含む S3 バケットはCEV と同じAWSリージョンにある必要があります。
このセクションの例では、次のプレースホルダを使用します。
-
- Oracle インストールメディアファイルです。例えば、p32126828_190000_Linux-x86-64.zip はパッチです。install-or-patch-file.zip -
- アップロードされたインストールファイル用に設計された Amazon S3 バケットです。amzn-s3-demo-destination-bucket -
– Amazon S3 バケット内のオプションのプレフィックスです。123456789012/cev1 -
– オプションでファイルをステージングできる Amazon S3 バケットです。amzn-s3-demo-source-bucket
トピック
ステップ 3a: S3 バケットが正しい AWS リージョン にあることを確認する
S3 バケットが、create-custom-db-engine-versionコマンドを実行する予定のAWSリージョンにあることを確認します。
aws s3api get-bucket-location --bucketamzn-s3-demo-destination-bucket
ステップ 3b: S3 バケットポリシーに正しい権限があることを確認する
CEV はゼロから作成することも、ソース CEV から作成することもできます。ソース CEV から新しい CEV を作成する場合は、S3 バケットポリシーに正しい権限があることを確認してください。
-
RDS Custom によって予約されている S3 バケットを特定します。バケットの形式は
do-not-delete-rds-custom-になります。例えば、バケットにはaccount-region-stringdo-not-delete-rds-custom-という名前が付けられる可能性があります。123456789012-us-east-1-abc123EXAMPLE -
S3 バケットポリシーに次の権限が追加されていることを確認してください。
do-not-delete-rds-custom-をバケットの名前に置き換えます。123456789012-us-east-1-abc123EXAMPLE{ "Sid": "AWSRDSCustomForOracleCustomEngineVersionGetObject", "Effect": "Allow", "Principal": { "Service": "custom.rds.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-123456789012-us-east-1-abc123EXAMPLE/CustomEngineVersions/*" }, ...
ステップ 3c: cp コマンドまたは sync コマンドを使用してファイルをアップロードする
次のいずれかのオプションを選択します。
-
aws s3 cpを使用して、単一の.zip ファイルをアップロードします。各インストール.zip ファイルを個別にアップロードします。.zip ファイルを単一の.zip ファイルに結合しないでください。
-
aws s3 syncを使用して、ディレクトリをアップロードします。
次の例では、をRDS Custom Amazon S3 バケット内のフォルダinstall-or-patch-file.zipにアップロードします。アップロードする .zip ごとに123456789012/cev1aws s3コマンドを実行します。
Linux、macOS、Unix の場合:
aws s3 cpinstall-or-patch-file.zip\ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
Windows の場合:
aws s3 cpinstall-or-patch-file.zip^ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
以下の例では、ローカルのcev1フォルダのファイルを、Amazon S3 バケットの123456789012/cev1フォルダにアップロードします。
Linux、macOS、Unix の場合:
aws s3 sync cev1 \ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
Windows の場合:
aws s3 sync cev1 ^ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
次の例では、 のすべてのファイルを Amazon S3 バケット内の amzn-s3-demo-source-bucket フォルダにアップロードしています。123456789012/cev1
Linux、macOS、Unix の場合:
aws s3 sync s3://amzn-s3-demo-source-bucket/ \ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
Windows の場合:
aws s3 sync s3://amzn-s3-demo-source-bucket/ ^ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
ステップ 3 d: S3 バケットにあるファイルをリストする
次の例では、s3 lsコマンドを使用して、RDS Custom Amazon S3 バケットにあるファイルを指定します。
aws s3 ls \ s3://amzn-s3-demo-destination-bucket/123456789012/cev1/
ステップ 4 (オプション): S3 にあるインストールメディアを AWS アカウント 間で共有する
このセクションでは、アップロードした Oracle インストールファイルを含む Amazon S3 バケットをメディアバケットとします。組織では、AWS リージョン で複数の AWS アカウント を使用する場合があります。その場合、メディアバケットに埋め込むために1つの AWS アカウント を使用し、CEV を作成するために別の AWS アカウント を使用する場合もあります。メディアバケットを共有する予定がない場合は、次のセクションにスキップしてください。
このセクションでは、以下を想定しています。
-
メディアバケットを作成したアカウントと、CEV を作成する予定の別のアカウントにアクセスできます。
-
CEV を 1 つの AWS リージョン だけで作成します。複数のリージョンを使用する場合は、リージョンごとにメディアバケットを作成してください。
-
CLI を使用しています。Amazon S3 コンソールを使用している場合は、次のステップを適用します。
メディアバケットを AWS アカウント 全体で共有するように設定するには
-
インストールメディアをアップロードした S3 バケットを含む AWS アカウント にログインします。
-
空白の JSON ポリシーテンプレートまたは適用可能な既存のポリシーから開始します。
次のコマンドは、既存のポリシーを取得して
my-policy.jsonとして保存します。この例では、インストールファイルを含む S3 バケットにamzn-s3-demo-bucketという名前を付けています。aws s3api get-bucket-policy \ --bucketamzn-s3-demo-bucket\ --query Policy \ --output text >my-policy.json -
メディアバケットの権限を次のように編集します。
-
テンプレートの
Resourceで、Oracle Database インストールファイルをアップロードした S3 バケットを指定します。 -
Principal要素で、CEV を作成するために使用する予定のすべての AWS アカウント の ARN を指定します。ルート、ユーザー、またはロールを S3 バケット許可リストに追加できます。詳細については、AWS Identity and Access Management ユーザーガイドの「IAM ID」を参照してください。
-
-
ポリシーをメディアバケットにアタッチします。
次の例では、
amzn-s3-demo-bucketは、インストールファイルを含む S3 バケットの名前であり、my-policy.jsonは JSON ファイルの名前です。aws s3api put-bucket-policy \ --bucketamzn-s3-demo-bucket\ --policy file://my-policy.json -
CEV を作成する AWS アカウント にログインします。
-
このアカウントが、メディアバケットを作成した AWS アカウント でアクセスできることを確認します。
aws s3 ls --query "Buckets[].Name"詳細については、AWS CLI コマンドリファレンスの「aws s3 ls」を参照してください。
-
CEV の作成 のステップに従って、CEV を作成します。
ステップ 5: CEV マニフェストを準備する
CEV マニフェストは、以下を含む JSON ドキュメントです。
-
(必須) Amazon S3 にアップロードされたインストールの .zip ファイルのリスト。RDS Custom は、マニフェストにリストされている順にパッチを適用します。
-
(オプション) Oracle ベース、Oracle ホーム、および UNIX/Linux ユーザーとグループの ID と名前のデフォルト以外の値を設定するインストールパラメータ。既存の CEV または既存の DB インスタンスのインストールパラメータは変更できないことに注意してください。また、インストールパラメータの設定が異なる場合、ある CEV から別の CEV にアップグレードすることはできません。
CEV マニフェストのサンプルについては、ステップ 1 (オプション): マニフェストテンプレートをダウンロードする でダウンロードした JSON テンプレートを参照してください。CEV マニフェストの例 でサンプルを確認することもできます。
CEV マニフェストの JSON フィールド
次の表では、マニフェストの JSON フィールドについて説明します。
| JSON フィールド | 説明 |
|---|---|
|
|
CEV マニフェストのバージョンです。日付は |
|
|
データベースのインストールファイルの順序一覧です。 |
|
|
Oracle DB エンジンで使用される OPatch インストーラの順序一覧です。有効な値は 1 つだけです。 |
|
|
このデータベースの PSU および RU パッチです。 重要
|
|
|
PSU および RU パッチのリストにないパッチです。RDS Custom は、PSU および RU パッチ適用後に、これらのパッチを適用します。 重要
|
|
|
Oracle ベース、Oracle ホーム、および UNIX/Linux ユーザーとグループの ID と名前のデフォルト以外の設定。以下のパラメータを設定できます。
|
Oracle データベースのリリースごとに、サポートされるインストールファイルのリストは異なります。CEV マニフェストを作成するときは、RDS Custom for Oracle でサポートされているファイルのみを指定してください。そうしないと、CEV の作成はエラーで失敗します。Release notes for Amazon Relational Database Service (Amazon RDS) for Oracle で一覧表示されているすべてのパッチがサポートされています。
CEV マニフェストの作成
CEV マニフェストを作成するには
-
適用する予定のすべてのインストールファイルを、適用する順序で一覧表示します。
-
インストールファイルを、CEV マニフェストの JSON フィールド で説明されている JSON フィールドと関連付けます。
-
次のいずれかを実行します。
-
CEV マニフェストを JSON テキストファイルとして作成します。
-
コンソールで CEV を作成するときに、CEV マニフェストテンプレートを編集します。(詳しくは、「CEV の作成」を参照してください。)
-
CEV マニフェストの例
次の例は、さまざまな Oracle Database リリースの CEV マニフェストファイルを示しています。マニフェストに JSON フィールドを含める場合は、それが空でないことを確認してください。例えば、次の CEV マニフェストは otherPatchFileNames が空のため有効ではありません。
{ "mediaImportTemplateVersion": "2020-08-14", "databaseInstallationFileNames": [ "V982063-01.zip" ], "opatchFileNames": [ "p6880880_190000_Linux-x86-64.zip" ], "psuRuPatchFileNames": [ "p32126828_190000_Linux-x86-64.zip" ], "otherPatchFileNames": [ ] }
トピック
例 Oracle Database 12c Release 1 (12.1) のサンプル CEV マニフェスト
次の Oracle Database 12c Release 1 (12.1) の 2021 年 7 月 PSU の例では、RDS Custom は、指定された順序でパッチを適用します。したがって、RDS Custom は、p32768233、次に p32876425、次に p18759211 を適用することになります。この例では、UNIX ユーザーとグループ、Oracle ホームと Oracle ベースに新しい値を設定します。
{ "mediaImportTemplateVersion":"2020-08-14", "databaseInstallationFileNames":[ "V46095-01_1of2.zip", "V46095-01_2of2.zip" ], "opatchFileNames":[ "p6880880_121010_Linux-x86-64.zip" ], "psuRuPatchFileNames":[ "p32768233_121020_Linux-x86-64.zip" ], "otherPatchFileNames":[ "p32876425_121020_Linux-x86-64.zip", "p18759211_121020_Linux-x86-64.zip", "p19396455_121020_Linux-x86-64.zip", "p20875898_121020_Linux-x86-64.zip", "p22037014_121020_Linux-x86-64.zip", "p22873635_121020_Linux-x86-64.zip", "p23614158_121020_Linux-x86-64.zip", "p24701840_121020_Linux-x86-64.zip", "p25881255_121020_Linux-x86-64.zip", "p27015449_121020_Linux-x86-64.zip", "p28125601_121020_Linux-x86-64.zip", "p28852325_121020_Linux-x86-64.zip", "p29997937_121020_Linux-x86-64.zip", "p31335037_121020_Linux-x86-64.zip", "p32327201_121020_Linux-x86-64.zip", "p32327208_121020_Generic.zip", "p17969866_12102210119_Linux-x86-64.zip", "p20394750_12102210119_Linux-x86-64.zip", "p24835919_121020_Linux-x86-64.zip", "p23262847_12102201020_Linux-x86-64.zip", "p21171382_12102201020_Generic.zip", "p21091901_12102210720_Linux-x86-64.zip", "p33013352_12102210720_Linux-x86-64.zip", "p25031502_12102210720_Linux-x86-64.zip", "p23711335_12102191015_Generic.zip", "p19504946_121020_Linux-x86-64.zip" ], "installationParameters": { "unixGroupName": "dba", "unixGroupId": 12345, "unixUname": "oracle", "unixUid": 12345, "oracleHome": "/home/oracle/oracle.12.1.0.2", "oracleBase": "/home/oracle" } }
例 Oracle Database 12c Release 2 (12.2) のサンプル CEV マニフェスト
次の Oracle Database 12c Release 1 (12.2) の 2021 年 10 月 PSU の例では、RDS Custom が p33261817、p33192662、p29213893 などを順に適用しています。この例では、UNIX ユーザーとグループ、Oracle ホームと Oracle ベースに新しい値を設定します。
{ "mediaImportTemplateVersion":"2020-08-14", "databaseInstallationFileNames":[ "V839960-01.zip" ], "opatchFileNames":[ "p6880880_122010_Linux-x86-64.zip" ], "psuRuPatchFileNames":[ "p33261817_122010_Linux-x86-64.zip" ], "otherPatchFileNames":[ "p33192662_122010_Linux-x86-64.zip", "p29213893_122010_Generic.zip", "p28730253_122010_Linux-x86-64.zip", "p26352615_12201211019DBOCT2021RU_Linux-x86-64.zip", "p23614158_122010_Linux-x86-64.zip", "p24701840_122010_Linux-x86-64.zip", "p25173124_122010_Linux-x86-64.zip", "p25881255_122010_Linux-x86-64.zip", "p27015449_122010_Linux-x86-64.zip", "p28125601_122010_Linux-x86-64.zip", "p28852325_122010_Linux-x86-64.zip", "p29997937_122010_Linux-x86-64.zip", "p31335037_122010_Linux-x86-64.zip", "p32327201_122010_Linux-x86-64.zip", "p32327208_122010_Generic.zip" ], "installationParameters": { "unixGroupName": "dba", "unixGroupId": 12345, "unixUname": "oracle", "unixUid": 12345, "oracleHome": "/home/oracle/oracle.12.2.0.1", "oracleBase": "/home/oracle" } }
例 Oracle Database 18c のサンプル CEV マニフェスト
次の Oracle Database 18c の 2021 年 10 月 PSU の例では、RDS Custom が p32126855、p28730253、p27539475 などを順に適用しています。この例では、UNIX ユーザーとグループ、Oracle ホームと Oracle ベースに新しい値を設定します。
{ "mediaImportTemplateVersion":"2020-08-14", "databaseInstallationFileNames":[ "V978967-01.zip" ], "opatchFileNames":[ "p6880880_180000_Linux-x86-64.zip" ], "psuRuPatchFileNames":[ "p32126855_180000_Linux-x86-64.zip" ], "otherPatchFileNames":[ "p28730253_180000_Linux-x86-64.zip", "p27539475_1813000DBRU_Linux-x86-64.zip", "p29213893_180000_Generic.zip", "p29374604_1813000DBRU_Linux-x86-64.zip", "p29782284_180000_Generic.zip", "p28125601_180000_Linux-x86-64.zip", "p28852325_180000_Linux-x86-64.zip", "p29997937_180000_Linux-x86-64.zip", "p31335037_180000_Linux-x86-64.zip", "p31335142_180000_Generic.zip" ] "installationParameters": { "unixGroupName": "dba", "unixGroupId": 12345, "unixUname": "oracle", "unixUid": 12345, "oracleHome": "/home/oracle/18.0.0.0.ru-2020-10.rur-2020-10.r1", "oracleBase": "/home/oracle/" } }
例 Oracle Database 19c のサンプル CEV マニフェスト
次の Oracle Database 19c の例では、RDS Custom が p32126828、p29213893、p29782284、などを順に適用しています。この例では、UNIX ユーザーとグループ、Oracle ホームと Oracle ベースに新しい値を設定します。
{ "mediaImportTemplateVersion": "2020-08-14", "databaseInstallationFileNames": [ "V982063-01.zip" ], "opatchFileNames": [ "p6880880_190000_Linux-x86-64.zip" ], "psuRuPatchFileNames": [ "p32126828_190000_Linux-x86-64.zip" ], "otherPatchFileNames": [ "p29213893_1910000DBRU_Generic.zip", "p29782284_1910000DBRU_Generic.zip", "p28730253_190000_Linux-x86-64.zip", "p29374604_1910000DBRU_Linux-x86-64.zip", "p28852325_190000_Linux-x86-64.zip", "p29997937_190000_Linux-x86-64.zip", "p31335037_190000_Linux-x86-64.zip", "p31335142_190000_Generic.zip" ], "installationParameters": { "unixGroupName": "dba", "unixGroupId": 12345, "unixUname": "oracle", "unixUid": 12345, "oracleHome": "/home/oracle/oracle.19.0.0.0.ru-2020-04.rur-2020-04.r1.EE.1", "oracleBase": "/home/oracle" } }
ステップ 6 (オプション): CEV マニフェストを検証する
オプションで、マニフェストが有効な JSON ファイルであることをjson.toolPython スクリプトを実行して確認します。例えば、manifest.jsonという名前の CEV マニフェストを含むディレクトリに変更した場合、以下のコマンドを実行します。
python -m json.tool < manifest.json
ステップ 7: 必要な IAM アクセス許可を追加する
CEV を作成する IAM プリンシパルに、ステップ 5: IAM ユーザーまたはロールに必要なアクセス許可を付与する で説明されている必要なポリシーがあることを確認してください。