データベースの更新
この記事では、コンソールおよびAPIを使用してDBシステム内のデータベースを更新する手順について説明します。
必要なIAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。 コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。 権限がない、または認可されていないというメッセージが表示された場合は、アクセス権のタイプと作業するコンパートメントを管理者に確認してください。
管理者向け: 「データベース管理者がOracle Cloudデータベース・システムを管理できるようにします」のポリシーを使用すると、指定したグループはデータベースおよび関連するデータベース・リソースに対してすべての操作を実行できます。
ポリシーを初めて使用する場合は、ポリシーの開始および共通ポリシーを参照してください。 データベースのポリシーの作成の詳細は、「データベース・サービスの詳細」を参照してください。
データベースの更新について
Oracleでは、DBシステム内のデータベースを更新する前に、そのDBシステムを更新することをお薦めします。
Oracle Databaseの場合、更新は4つの最新バージョン(NからN-3)で使用可能です。 たとえば、インスタンスが21cを使用しており、提供されている21cの最新バージョンが21.10.0.0の場合、21.10.0.0, 21.9.0.0, 21.8.0.0および21.7.0.0はOracle Databaseの更新に使用できます。 これらの更新のいずれかを使用できますが、Oracleでは最新の使用をお薦めします。
カスタム・データベース・ソフトウェア・イメージを使用して、Oracle Databaseを更新することもできます。 ソフトウェア・イメージで更新する場合、Oracleでは、4つの最新バージョン(NからN-3)のいずれかに基づく任意のイメージによる更新がサポートされます。
次は、12.1および12.2の2022年4月の更新から19cの2022年7月の更新までのOracleベースの更新にのみ適用されます。
暫定更新(以前は「個別パッチ」と呼ばれていたもの)がインストールされている場合、それらの暫定更新は、新しい更新をインストールする前に自動的にロールバックされます。 新しい更新に暫定更新が含まれていない場合は、新しい更新のインストールが完了したあとで、暫定更新を再度インストールできます。
暫定更新がデータベースにインストールされている場合は、新しい更新後に暫定更新をインストールしないように、Oracleでは、カスタム・データベース・ソフトウェア・イメージを使用し、そのイメージを使用してデータベースを更新することをお薦めします。
事前チェックの実行後、dbcliで次のコマンドを実行して、追加の個別更新をインストールしているかどうかを確認できます。
dbcli describe-job -i <job id>
ここで、job id (dbcli list-jobs)は、事前チェック実行のジョブIDです。
Oracle Homeのすべての変更は、新しく更新およびインストールされたデータベースにコピーされます。
ノート:
- Oracleでは、データベース・ホーム内のファイルを変更することはお薦めしません。
- データベース・ホームに加えたすべての変更が正しくコピーされたか確認してください。 データベース・ホーム内のファイルまたはフォルダ(
tnsnames.ora、listener.oraなど)をコピーした場合は、これらのファイルを手動でバックアップする必要があります。
DBシステムは、OCI内のアイデンティティ・エンドポイントおよびオブジェクト・ストレージ・エンドポイントにアクセスできる必要があります。 プライベート・サブネットで実行されているDBシステムが、サービス・ゲートウェイのみで構成されており、追加のゲートウェイ(NAT Gatewayなど)がない場合、サービス・ゲートウェイが、Object Storageのみでなく、すべてのOracle Servicesへのアクセスを許可するように設定されていることを確認する必要があります。 Identity and Object Storageのエンドポイントに他の方法で到達できる場合、変更は必要ありません。
現在使用可能なデータベース更新のリストの詳細は、「現在使用可能な更新」を参照してください。
ノート:
OJVMの更新は、OPATCHツールを使用して手動で適用する必要があります。データベース・ソフトウェア・イメージを使用した暫定更新の適用
DBシステムに暫定更新を適用することはお薦めしません。 かわりに、必要な修正を含むデータベース・ソフトウェア・イメージを作成してデプロイする必要があります。 暫定更新をGIホームに適用するなど、データベース・ソフトウェア・イメージを使用できない場合にのみ、サービス・リクエスト(SR)を申請し、サポート・アシスタンスをリクエストして暫定更新をダウンロードできます。
データベース・ソフトウェア・イメージの詳細は、「ソフトウェア・イメージ」を参照してください。
データベースの更新
OCIコンソールを使用して、古い更新リリースからデータベースを更新するには、次のステップを実行します:
- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。 リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、「DBシステムのリスト」を参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
- データベースの詳細ページで、「更新」タブを選択して、データベースで使用可能な更新のリストを表示します。
- 目的の更新の「アクション」メニューから、次のいずれかのアクションを選択します:
- 詳細の表示: この更新の詳細を表示します。
- 事前チェック: 前提条件をチェックして、更新が正常に適用できることを確認します。
- 更新の適用: 選択した更新を適用します。 Oracleでは、更新を適用する前に事前チェック操作を実行することをお薦めします。
リストで、「状態」に操作のステータスが表示されます。 更新の適用中、「状態」は「更新中」と表示されます。 データベースのステータスも「更新中」と表示されます。 データベースおよびそのリソースに対するライフサイクル操作は一時的に使用できなくなる可能性があります。 更新が正常に完了すると、状態が「適用済」に変わり、データベースのステータスが「使用可能」に変わります。
データベース更新履歴の表示
OCIコンソールを使用してデータベースの更新履歴を表示するには、次のステップを実行します:
ノート:
コンソールの更新履歴には、dbcliやパッチ・ユーティリティなどのコマンドライン・ツールを使用して適用された更新は表示されません。- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。 リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、「DBシステムのリスト」を参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
- 詳細ページで、「更新履歴」タブを選択して、そのデータベースの更新およびアップグレード操作の履歴を表示します。
暫定更新の適用
ノート:
このトピックは、単一ノードおよびマルチ・ノードのRAC DBシステムのデータベース・ホームにのみ適用されます。暫定更新を適用して特定の欠陥を修正するには、このセクションの手順に従います。 Opatchユーティリティを使用して、データベース・ホームに暫定更新を適用します。
ノート:
この手順の例では、データベース・ホーム・ディレクトリは/u02/app/oracle/product/12.1.0.2/dbhome_1で、更新番号は26543344です。- My Oracle Supportから適用可能な暫定更新を取得します。
- 更新
README.txtファイルの情報を確認します。 このファイルには、更新を正常に適用するためにに従う追加またはカスタム(あるいはその両方)の手順が含まれている可能性があります。 - SCPまたはSFTPを使用して、更新をターゲット・データベースに配置します。
- データベース・ホームで実行されている各データベースを停止します。
srvctl stop database -db <db name> -stopoption immediate -verbose - Oracle Home環境変数がターゲットOracle Homeを指すように設定します。
sudo su - oracle export ORACLE_HOME=/u02/app/oracle/product/12.1.0.2/dbhome_1 - 更新したディレクトリに移動し、更新を解凍します。
cd <working directory where opatch is stored> unzip p26543344_122010_Linux-x86-64.zip - 更新を解凍したディレクトリに変更し、競合がないことを確認します。
cd 26543344 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ - 更新を適用します。
$ORACLE_HOME/OPatch/opatch apply - 更新が正常に適用されたことを確認します。
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME - データベース・ホームにデータベースが含まれている場合は、再起動します。
$ORACLE_HOME/bin/srvctl start database -db <db name>それ以外の場合は、
rootユーザーとして次のコマンドを実行します。# /u01/app/<db version>/grid/bin/setasmgidwrap o=/u01/app/oracle/product/<db version>/dbhome_1/bin/oracle - readmeで、更新に
sqlpatchコンポーネントがあることが示されている場合は、各データベースに対してdatapatchコマンドを実行します。datapatchを実行する前に、すべてのプラガブル・データベース(PDB)がオープンしていることを確認します。 PDBをオープンするには、SQL*Plusを使用して、PDBに対して次を実行できます。ALTER PLUGGABLE DATABASE <pdb name> OPEN READ WRITE$ORACLE_HOME/OPatch/datapatch