翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Oracle E-Business Suite を Amazon RDS Custom に移行する
作成者: Simon Cunningham (AWS)、Jaydeep Nandy (AWS)、Nitin Saxena (AWS)、Vishnu Vinnakota (AWS)
概要
Oracle E-Business Suite は、財務、人事、サプライチェーン、製造などの企業全体のプロセスを自動化するための Enterprise Resource Planning (ERP) ソリューションです。クライアント、アプリケーション、データベースという 3 層のアーキテクチャで構成されています。以前は、Oracle E-Business Suite データベースをセルフマネージド Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで実行する必要がありましたが、Amazon Relational Database Service (Amazon RDS) Custom のメリットを享受できるようになりました。
Amazon RDS Custom for Oracle は、基盤となるオペレーティングシステムとデータベース環境へのアクセスを必要とする、レガシー、カスタム、およびパッケージ化されたアプリケーション向けのマネージド型データベースサービスです。データベース管理のタスクとオペレーションを自動化し、データベース管理者としてデータベース環境とオペレーティングシステムへのアクセスおよびカスタマイズを可能にします。Oracle データベースを Amazon RDS Custom に移行すると、Amazon Web Services (AWS) がバックアップタスクや高可用性の確保などの手間のかかる作業を処理し、Oracle E-Business Suite のアプリケーションと機能のメンテナンスに集中できます。移行で考慮すべき主な要因については、AWS「 規範ガイダンス」の「Oracle データベース移行戦略」を参照してください。
このパターンでは、EC2インスタンスと Amazon EC2 RDS Custom 間で Oracle Recovery Manager (RMAN) バックアップと Amazon Elastic File System (Amazon EFS) 共有ファイルシステムを使用して、Amazon 上のスタンドアロン Oracle データベースを Amazon RDS Custom に移行するステップに焦点を当てています。このパターンでは、RMANフルバックアップ (レベル 0 バックアップと呼ばれることもあります) を使用します。 簡単にするために、アプリケーションをシャットダウンし、データベースをマウントして開かないコールドバックアップを使用しています。(バックアップには Oracle Data Guard RMAN または重複を使用することもできます。 ただし、このパターンはこれらのオプションをカバーしていません)。
高可用性とディザスタリカバリAWSのために で Oracle E-Business Suite を設計する方法については、パターン「アクティブスタンバイデータベースを使用して Amazon RDS Custom で Oracle E-Business Suite の HA/DR アーキテクチャを設定する」を参照してください。
このパターンは、Oracle サポートノートへのリンクを提供します。これらのドキュメントにアクセスするには、「Oracle Support」アカウントが必要です。
前提条件と制限
前提条件
Oracle Linux 7 または Red Hat Enterprise Linux () バージョン 7.x EC2を搭載した Amazon で実行されている Oracle バージョン 12.1.0.2 または 19c (最小 19.3RHEL) ソースデータベース。このパターンでは、ソースデータベース名が VIS
、Oracle 19c の追加のコンテナデータベース名は VISCDB
であることを前提としていますが、他の名前も使用できます。
Oracle E-Business Suite バージョン 12.2.x アプリケーション (ビジョンインスタンス)。この手順はバージョン 12.2.11 でテストされています。
単一の Oracle E-Business Suite アプリケーション層。ただし、このパターンを複数のアプリケーション層で機能するように調整できます。
Oracle 12.1.0.2 の場合、Amazon RDS Custom は少なくとも 16 GB のスワップ領域で設定されています。そうしないと、12c Examples CD に警告が表示されます。(このドキュメントで後述するように、Oracle 19c ではサンプル CD は必要ありません)。
移行を開始する前に、以下の手順を完了します。
Amazon RDSコンソールで、データベース名 VIS
(またはソースデータベース名) を使用して Amazon RDS Custom for Oracle DB インスタンスを作成します。手順については、 AWSドキュメントの「Amazon RDS Custom の使用」および「Amazon RDS Custom for Oracle – データベース環境の新しいコントロール機能」ブログ記事を参照してください。これにより、データベース名はソースデータベースと同じ名前に設定されます。(空白のままにすると、EC2インスタンスとデータベース名は に設定されます)ORCL
。 少なくともソースに適用されたパッチを使用して、カスタムエンジンバージョン (CEV) を作成してください。詳細については、Amazon RDSドキュメントの「 の作成準備CEV」を参照してください。
Oracle 19c の注意: 現在、Oracle 19c では、Amazon RDSコンテナデータベース名をカスタマイズできます。デフォルト: RDSCDB
。必ず、ソースインスタンスと同じシステム ID (SID) でRDSカスタム Oracle EC2インスタンスを作成してください。例えば、このパターンでは、Oracle 19c SIDはソースインスタンスVISCDB
上にあると見なされます。そのため、Amazon RDS Custom SIDのターゲット Oracle 19c も である必要がありますVISCDB
。
Amazon RDS Custom DB インスタンスを、Amazon EC2ソースデータベースと一致するのに十分なストレージ、vCPU、メモリで設定します。 これを行うには、vCPU とメモリに基づいて Amazon EC2インスタンスタイプを一致させることができます。
Amazon EFS ファイルシステムを作成し、Amazon EC2および Amazon RDS Custom インスタンスにマウントします。 手順については、ブログ記事「Integrate Amazon RDS Custom for Oracle with AmazonEFS」を参照してください。このパターンでは、Amazon EFSボリュームをソース Amazon EC2インスタンスとターゲット Amazon RDS Custom DB インスタンスの両方/RMAN
にマウントし、ソースとターゲット間のネットワーク接続が可能であることを前提としています。Amazon FSx または任意の共有ドライブを使用して、同じ方法を使用することもできます。
引き受け
このパターンは、アプリケーションとデータベースが論理ホスト名を使用していることを前提としているため、移行手順の数が減ります。これらのステップは物理ホスト名を使用するように調整できますが、論理ホスト名を使用すると移行プロセスの複雑さが軽減されます。論理ホスト名を使用する利点については、以下のサポートノートを参照してください。
このパターンは、Oracle 12c から 19c へのアップグレードシナリオをカバーしておらず、Amazon で実行されている同じバージョンの Oracle データベースを Amazon RDS Custom for Oracle に移行するEC2ことに重点を置いています。
Amazon RDS Custom for Oracle は Oracle Home のカスタマイズをサポートしています。(Oracleホームには Oracle バイナリが格納されます)。/rdsdbbin/oracle
のデフォルトパスは、/d01/oracle/VIS/19c
など、指定したパスに変更できます。わかりやすくするために、このパターンの説明ではデフォルトパス /rdsdbbin/oracle
を想定しています。
制約事項
このパターンは以下の機能や構成をサポートしていません。
データベース ARCHIVE_LAG_TARGET
パラメータを 60 ~ 7,200 の範囲外の値に設定します。
DB インスタンスログモードを無効にする (NOARCHIVELOG
)
EC2 インスタンスの EBS-optimized
属性をオフにする
EC2 インスタンスにアタッチされた元の Amazon Elastic Block Store (Amazon EBS) ボリュームの変更
新しいEBSボリュームの追加またはボリュームタイプの から gp2
への変更gp3
TNS ifile のサポート
control_file
場所と名前の変更 ( がVISCDB
CDB名前の場合/rdsdbdata/db/VISCDB_A/controlfile/control-01.ctl
、 である必要があります)
これらの設定やその他のサポートされていない設定の詳細については、Amazon RDSドキュメントの「サポートされていない設定の修正」を参照してください。
製品バージョン
Amazon RDS Custom でサポートされている Oracle Database のバージョンとインスタンスクラスについては、「Amazon RDS Custom for Oracle の可用性と要件」を参照してください。
アーキテクチャ
次のアーキテクチャ図は、 の単一のアベイラビリティーゾーンで実行されている Oracle E-Business Suite システムを示していますAWS。アプリケーション層には Application Load Balancer を介してアクセスし、アプリケーションとデータベースの両方がプライベートサブネットにあり、Amazon RDS Custom と Amazon EC2 データベース層は Amazon EFS共有ファイルシステムを使用してRMANバックアップファイルを保存してアクセスします。
AWS サービス
Amazon RDS Custom for Oracle は、基盤となるオペレーティングシステムとデータベース環境へのアクセスを必要とする、レガシー、カスタム、およびパッケージ化されたアプリケーション向けのマネージド型データベースサービスです。データベース管理のタスクとオペレーションを自動化し、データベース管理者としてデータベース環境とオペレーティングシステムへのアクセスおよびカスタマイズを可能にします。
Amazon Elastic File System (Amazon EFS) は、管理やプロビジョニングを必要とせずにファイルを追加および削除するための、シンプルでサーバーレスな伸縮自在なファイルシステムです。このパターンでは、Amazon EFS共有ファイルシステムを使用してRMANバックアップファイルを保存し、アクセスします。
AWS Secrets Manager は、データベース認証情報、APIキー、およびその他のシークレット情報を簡単にローテーション、管理、取得できる AWSマネージドサービスです。Amazon RDS Custom は、データベースの作成時にキーペアとデータベースユーザー認証情報を Secrets Manager に保存します。このパターンでは、Secrets Manager からデータベースユーザーパスワードを取得して、RDSADMIN
および ADMIN
ユーザーを作成し、システムパスワードとシステムパスワードを変更します。
その他のツール
ベストプラクティス
論理ホスト名を使用してください。これにより、クローニング後に実行する必要のあるスクリプトの数が大幅に減ります。詳細については、「Oracle サポートノート 2246690.1」を参照してください。
Amazon RDS Custom は、デフォルトで Oracle 自動メモリ管理 (AMM) を使用します。 hugemem カーネルを使用する場合は、代わりに自動共有メモリ管理 (ASMM) を使用するように Amazon RDS Custom を設定できます。
memory_max_target
パラメータはデフォルトでは有効のままにしておきます。フレームワークはこのパラメータをバックグラウンドで使用してリードレプリカを作成します。
Oracle フラッシュバックデータベースを有効にします。この機能は、(スイッチオーバーではなく) フェイルオーバーのテストシナリオでスタンバイ状態に戻す場合に役立ちます。
データベース初期化パラメータについては、Oracle ソースデータベースの を使用する代わりにPFILE、Oracle E-Business Suite 用の Amazon RDS Custom DB インスタンスが提供する標準をカスタマイズSPFILEします。これは、Amazon RDS Custom でリードレプリカを作成するときに、空白とコメントが原因で問題が発生するためです。データベース初期化パラメータの詳細については、「Oracle Support ノート 396009.1」を参照してください。
次の「エピック」セクションでは、Oracle 12.1.0.2 と 19c の手順を個別に説明していますが、それぞれ詳細が異なります。
エピック
タスク | 説明 | 必要なスキル |
---|
アプリケーションをシャットダウンします。 | ソースアプリケーションをシャットダウンするには、以下のコマンドを使用します。 $ su - applmgr
$ cd $INST_TOP/admin/scripts
$ ./adstpall.sh
| DBA |
.zip ファイルを作成します。 | ソースアプリケーション層に appsutil.zip ファイルを作成します。このファイルは、後で Amazon RDS Custom データベースノードの設定に使用します。 $ perl $AD_TOP/bin/admkappsutil.pl
| DBA |
.zip ファイルを Amazon にコピーしますEFS。 | appsutil.zip から共有 Amazon EFSボリューム () にコピー$INST_TOP/admin/out します/RMAN/appsutil 。安全なコピー (SCP) または別の転送メカニズムを使用して、ファイルを手動で転送できます。
| DBA |
タスク | 説明 | 必要なスキル |
---|
Amazon でデータベース階層のクローンを事前に作成しますEC2。 | Oracle ユーザーとしてログインし、以下を実行します。 $ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ perl adpreclone.pl dbTier
生成されたログファイルを確認して、操作が正常に完了したことを確認します。 | DBA |
appsutil.zip を共有 Amazon EFS ファイルシステムにコピーします。 | tar バックアップを作成し、共有 Amazon EFS ファイルシステム (例: /RMAN/appsutil ) $ORACLE_HOME/appsutil にコピーします。 $ cd $ORACLE_HOME
$ tar cvf sourceappsutil.tar appsutil
$ cp sourceappsutil.tar /RMAN/appsutil
| DBA |
タスク | 説明 | 必要なスキル |
---|
バックアップスクリプトを作成します。 | ソースデータベースの共有 Amazon EFS ファイルシステムへのRMANフルバックアップを実行します。 わかりやすくするために、このパターンではコールドRMANバックアップを実行します。ただし、これらのステップを変更して Oracle Data Guard でホットRMANバックアップを実行し、ダウンタイムを減らすことができます。 1. マウントモードでソース Amazon EC2 データベースを起動します。 $ sqlplus / as sysdba
$ SQL> shutdown immediate
$ SQL> startup mount
2. RMAN バックアップスクリプトを作成し (Oracle のバージョンに応じて次のいずれかの例を使用するか、既存のRMANスクリプトのいずれかを実行します)、マウントした Amazon EFS ファイルシステムにデータベースをバックアップします (/RMAN この例では )。 Oracle 12.1.0.2 の場合 $ vi FullRMANColdBackup.sh
#!/bin/bash
. /home/oracle/.bash_profile
export ORACLE_SID=VIS
export ORACLE_HOME=/d01/oracle/VIS/12.1.0
export DATE=$(date +%y-%m-%d_%H%M%S)
rman target / log=/RMAN/VISDB_${DATE}.log << EOF
run
{
allocate channel ch1 device type disk format '/RMAN/visdb_full_bkp_%u';
allocate channel ch2 device type disk format '/RMAN/visdb_full_bkp_%u';
crosscheck backup;
delete noprompt obsolete;
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
backup archivelog all;
release channel ch1;
release channel ch2;
}
EOF
Oracle 19c の場合: $ vi FullRMANColdBackup.sh
#!/bin/bash
. /home/oracle/.bash_profile
export ORACLE_SID=VISCDB
export ORACLE_HOME=/d01/oracle/VIS/19c
export DATE=$(date +%y-%m-%d_%H%M%S)
rman target / log=/RMAN/VISDB_${DATE}.log << EOF
run
{
allocate channel ch1 device type disk format '/RMAN/visdb_full_bkp_%u';
allocate channel ch2 device type disk format '/RMAN/visdb_full_bkp_%u';
crosscheck backup;
delete noprompt obsolete;
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
backup archivelog all;
backup current controlfile format '/RMAN/cntrl.bak';
release channel ch1;
release channel ch2;
}
EOF
| DBA |
バックアップスクリプトを実行します。 | 権限を変更し、Oracle ユーザーとしてログインし、スクリプトを実行します。 $ chmod 755 FullRMANColdBackup.sh
$ ./FullRMANColdBackup.sh
| DBA |
エラーを確認し、バックアップファイル名をメモします。 | RMAN ログファイルにエラーがないか確認します。すべて問題なければ、制御ファイルのバックアップをリストアップしてください。出力ファイルの名前に注意してください。 Oracle 12.1.0.2 の場合 RMAN> connect target /
RMAN> list backup of controlfile;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
9 Full 1.11M DISK 00:00:04 23-APR-22
BP Key: 9 Status: AVAILABLE Compressed: YES Tag: TAG20220423T121011
Piece Name: /RMAN/visdb_full_bkp_100rlsbt
Control File Included: Ckp SCN: 12204595396727 Ckp time: 23-APR-22
バックアップファイルは、/RMAN/visdb_full_bkp_100rlsbt 後で Amazon RDS Custom でデータベースを復元するときに使用します。 Oracle 19c の場合: RMAN> connect target /
RMAN> list backup of controlfile;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
38 Full 17.92M DISK 00:00:01 25-NOV-22
BP Key: 38 Status: AVAILABLE Compressed: NO Tag: TAG20221125T095014
Piece Name: /RMAN/cntrl.bak
Control File Included: Ckp SCN: 12204620188873 Ckp time: 23-NOV-22
バックアップファイルは/RMAN/cntrl.bak 、後で Amazon RDS Custom でデータベースを復元するときに使用します。 | DBA |
タスク | 説明 | 必要なスキル |
---|
ホストファイルを変更し、ホスト名を設定します。 | このセクションのコマンドは、ルートユーザーとして実行する必要があります。 1. Amazon RDS Custom DB インスタンスで /etc/hosts ファイルを編集します。これを行う簡単な方法は、ソース Amazon データベースホストファイルからEC2データベースとアプリケーションのホストエントリをコピーすることです。 <IP-address> OEBS-app01.localdomain OEBS-app01 OEBS-app01log.localdomain OEBS-app01log
<IP-address> OEBS-db01.localdomain OEBS-db01 OEBS-db01log.localdomain OEBS-db01log
ここで、 <IP-address> はデータベースノードの IP アドレスであり、Amazon RDS Custom IP アドレスに置き換える必要があります。論理ホスト名には *log が付加されます。 2. 以下の hostnamectl コマンドを実行してデータベースのホスト名を変更します。 $ sudo hostnamectl set-hostname --static persistent-hostname
以下に例を示します。 $ sudo hostnamectl set-hostname --static OEBS-db01log
追加情報については、「Knowledge Centerの静的ホスト名の割り当て」に関する記事を参照してください。 3. Amazon RDS Custom DB インスタンスを再起動します。 データベースは後のステップで削除するので、シャットダウンの心配はありません。 $ reboot
4. Amazon RDS Custom DB インスタンスが起動したら、ログインしてホスト名が変更されていることを確認します。 $ hostname
oebs-db01
| DBA |
Oracle E-Business Suite ソフトウェアをインストールします。 | Amazon RDS Custom DB インスタンスの Oracle ホームロケーションに推奨される RPMs Oracle E-Business Suite をインストールします。詳細については、「Oracle Support ノート #1330701.1」を参照してください。以下に、その一部を示します。このRPMリストはリリースごとに変更されるため、必要な がすべてRPMsインストールされていることを確認してください。 ルートユーザーとして以下を実行します。 $ sudo yum -y update
$ sudo yum install -y elfutils-libelf-devel*
$ sudo yum install -y libXp-1.0.2-2.1*.i686
$ sudo yum install -y libXp-1.0.2-2.1*
$ sudo yum install -y compat-libstdc++-*
次のステップに進む前に、必要なパッチがすべてインストールされていることを確認してください。 | DBA |
VNC サーバーをインストールします。 | サンプル CD が不要になったため、Oracle 19c ではこのステップを省略できます。「Oracle サポートノート 2782085.1」を参照してください。 Oracle 12.1.0.2 の場合 VNC サーバーとその依存するデスクトップパッケージをインストールします。これは、次のステップで 12c Examples CD をインストールするための要件です。 1. ルートユーザーとして以下を実行します。 $ sudo yum install -y tigervnc-server
$ sudo yum install -y *kde*
$ sudo yum install -y *xorg*
2. rdsdb ユーザーのVNCサーバーを起動し、 のパスワードを設定しますVNC。 $ su - rdsdb
$ vncserver :1
$ vncpassword
| DBA |
12c サンプル CD をインストールします。 | サンプル CD が不要になったため、Oracle 19c ではこのステップを省略できます。「Oracle サポートノート 2782085.1」を参照してください。 Oracle 12.1.0.2 の場合 1. https://edelivery.oracle.com/ からインストールファイルをダウンロードします。 Oracle E-Business Suite 12.2.11 — Oracle Database 12c Release 1 (12.1.0.2) については、Linux x86-64 V100102-01.zip を探してください。 2. サンプル CD を格納するディレクトリを作成します。 $ mkdir /RMAN/12cexamples
3. 任意の転送メカニズム (例: SCP) を使用して、Examples CD .zip ファイルをこのディレクトリにコピーします。 V100102-01.zip
4. 所有権を rdsdb に変更します。 $ chown -R rdsdb:rdsdb /RMAN/12cexamples
5. rdsdb ユーザーとして、ファイルを解凍します。 $ unzip V10010201.zip
6. クライアントと Amazon RDS Custom にアクセスできるVNCクライアントから接続します。へのアクセスを許可するために必要なネットワーク接続とファイアウォールポートが開いていることを確認しますVNC。例えば、 で実行されているVNCサーバーdisplay :1 では、Amazon RDS Custom EC2ホストに関連付けられているセキュリティグループでポート 5901 を開く必要があります。 7. Examples CD をコピーしたディレクトリに移動します。 $ cd /RMAN/12cexamples/examples
8. インストーラーを実行します。 oraInst.loc ファイルの場所を必ず確認してください。 ./runInstaller -invPtrLoc /rdsdbbin/oracle.12.1.custom.r1.EE.1/oraInst.loc
9. Examples CD のインストール時には、以下のパラメーターを使用してください。 Skip Software Update Downloads
Select Oracle Home 12.1.0.2
(Oracle Base = /rdsdbbin)
(Software Location = /rdsdbbin/oracle/12.1.custom.r1.EE.1)
10. インストールプログラムには 5 つのステップとプロンプトが含まれています。 インストールが完了するまで手順に従ってください。 | DBA |
タスク | 説明 | 必要なスキル |
---|
自動化モードを一時停止します。 | 自動化がRMANアクティビティを妨げないように、次のステップに進む前に Amazon RDS Custom DB インスタンスの自動化モードを一時停止する必要があります。 次のAWSコマンドラインインターフェイス (AWS CLI) コマンドを使用して、オートメーションを一時停止します。(AWS最初の が設定されCLIていることを確認します)。 aws rds modify-db-instance \
--db-instance-identifier VIS \
--automation-mode all-paused \
--resume-full-automation-mode-minute 360 \
--region eu-west-1
一時停止時間を指定するときは、RMAN復元に十分な時間を確保してください。これはソースデータベースのサイズによって異なるため、360 の値を適宜変更してください。 | DBA |
スターターデータベースをドロップします。 | 既存の Amazon RDS Custom データベースを削除します。 Oracle ホームユーザーとして、以下のコマンドを実行します。(カスタマイズしていない限り、デフォルトユーザーは rdsdb です)。 $ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup nomount restrict;
SQL> alter database mount;
SQL> drop database;
SQL> exit
| DBA |
データベースファイルを保存するディレクトリを作成します。 | Oracle 12.1.0.2 の場合 データベース、制御ファイル、データファイル、オンラインログ用のディレクトリを作成します。前のコマンドの control_files パラメーターの親ディレクトリ (この場合は VIS_A ) を使用します。Oracle ホームユーザ (デフォルトでは rdsdb ) として以下のコマンドを実行します。 $ mkdir -p /rdsdbdata/db/VIS_A/controlfile
$ mkdir -p /rdsdbdata/db/VIS_A/datafile
$ mkdir -p /rdsdbdata/db/VIS_A/onlinelog
Oracle 19c の場合: データベース、制御ファイル、データファイル、オンラインログ用のディレクトリを作成します。前のコマンドの control_files パラメーターの親ディレクトリ (この場合は VISCDB_A ) を使用します。Oracle ホームユーザ (デフォルトでは rdsdb ) として以下のコマンドを実行します。 $ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/controlfile
$ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/datafile
$ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/onlinelog
$ mkdir -p /rdsdbdata/db/cdb/VISCDB_A/onlinelog/arch
$ mkdir /rdsdbdata/db/pdb/VISCDB_A
| DBA |
Oracle E-Business Suite のパラメータファイルを作成して変更します。 | このステップでは、ソースデータベースからサーバーパラメータファイル (SPFILE) をコピーしません。代わりに、Amazon RDS Custom DB インスタンスで作成された標準パラメータファイル (PFILE) を使用し、Oracle E-Business Suite に必要なパラメータを追加します。 データベースを削除すると、Amazon RDS Automation は Amazon RDS Custom データベースに関連付けられているinit.ora ファイルのバックアップを作成します。このファイルは oracle_pfile という名前で、/rdsdbdata/config にあります。 Oracle 12.1.0.2 の場合 1. /rdsdbdata/config/oracle_pfile を $ORACLE_HOME にコピーします。 $ cp /rdsdbdata/config/oracle_pfile $ORACLE_HOME/dbs/initVIS.ora
2. Amazon RDS Custom DB インスタンスで initVIS.ora ファイルを編集します。ソースのすべてのパラメータを検証し、必要に応じてパラメータを追加します。詳細については、「Oracle Support ノート 396009.1」を参照してください。 追加するパラメータにコメントがないことを確認します。コメントにより、リードレプリカの作成や復旧の発行 point-in-time () など、自動化に問題が発生しますPITRs。 3. 要件に応じて、次のようなパラメータを initVIS.ora ファイルに追加します。 *.workarea_size_policy='AUTO'
*.plsql_code_type='INTERPRETED'
*.cursor_sharing='EXACT'
*._b_tree_bitmap_plans=FALSE
*.session_cached_cursors=500
*.optimizer_adaptive_features=false
*.optimizer_secure_view_merging=false
*.SQL92_SECURITY=TRUE
*.temp_undo_enabled=true
_system_trig_enabled = TRUE
nls_language = american
nls_territory = america
nls_numeric_characters = ".,"
nls_comp = binary
nls_sort = binary
nls_date_format = DD-MON-RR
nls_length_semantics = BYTE
aq_tm_processes = 1
_sort_elimination_cost_ratio =5
_like_with_bind_as_equality = TRUE
_fast_full_scan_enabled = FALSE
_b_tree_bitmap_plans = FALSE
optimizer_secure_view_merging = FALSE
_optimizer_autostats_job = FALSE
parallel_max_servers = 8
parallel_min_servers = 0
parallel_degree_policy = MANUAL
sec_case_sensitive_logon = FALSE
compatible = 12.1.0
o7_dictionary_accessibility = FALSE
utl_file_dir =/tmp
4. 次のように修正します。値はソースシステムによって異なるため、現在の設定に基づいて変更してください。 *.open_cursors=500
*.undo_tablespace='APPS_UNDOTS1
5. SPFILE リファレンスを削除します。 *.spfile='/rdsdbbin/oracle/dbs/spfileVIS.ora'
注意: PFILE control_files および の Amazon RDS Custom によって提供される値は変更しないでくださいdb_unique_name 。Amazon はこれらの値をRDS期待します。これらから逸脱すると、future リードレプリカを作成しようとしたときに問題が発生します。 Amazon RDS Custom は、デフォルトで自動メモリ管理 (AMM) を使用します。hugemem を使用する場合は、自動共有メモリ管理 () を使用するように Amazon RDS Custom を設定できますASMM。 memory_max_target パラメータはデフォルトでは有効のままにしておきます。Amazon RDSフレームワークでは、これをバックグラウンドで使用してリードレプリカを作成します。
6. 以下の startup nomount コマンドを実行して、initVIS.ora ファイルに問題がないことを確認します。 SQL> startup nomount pfile=/rdsdbbin/oracle/dbs/initVIS.ora;
SQL> create spfile='/rdsdbdata/admin/VIS/pfile/spfileVIS.ora' from pfile;
SQL> exit
7. のシンボリックリンクを作成しますSPFILE。 $ ln -s /rdsdbdata/admin/VIS/pfile/spfileVIS.ora $ORACLE_HOME/dbs/
Oracle 19c の場合: 1. /rdsdbdata/config/oracle_pfile を $ORACLE_HOME にコピーします。 $ cp /rdsdbdata/config/oracle_pfile $ORACLE_HOME/dbs/initVISCDB.ora
2. Amazon RDS Custom DB インスタンスで initVISCDB.ora ファイルを編集します。ソースのすべてのパラメータを検証し、必要に応じてパラメータを追加します。詳細については、「Oracle Support ノート 396009.1」を参照してください。 追加するパラメータにコメントがないことを確認します。 コメントがある場合、リードレプリカの作成や復旧の発行 point-in-time () など、自動化に関する問題が発生しますPITRs。 3. 要件に応じて、次のようなパラメータを initVISCDB.ora ファイルに追加します。 *.instance_name=VISCDB
*.sec_case_sensitive_logon= FALSE
*.result_cache_max_size = 600M
*.optimizer_adaptive_plans =TRUE
*.optimizer_adaptive_statistics = FALSE
*.pga_aggregate_limit = 0
*.temp_undo_enabled = FALSE
*._pdb_name_case_sensitive = TRUE
*.event='10946 trace name context forever, level 8454144'
*.workarea_size_policy='AUTO'
*.plsql_code_type='INTERPRETED'
*.cursor_sharing='EXACT'
*._b_tree_bitmap_plans=FALSE
*.session_cached_cursors=500
*.optimizer_secure_view_merging=false
*.SQL92_SECURITY=TRUE
_system_trig_enabled = TRUE
nls_language = american
nls_territory = america
nls_numeric_characters = ".,"
nls_comp = binary
nls_sort = binary
nls_date_format = DD-MON-RR
nls_length_semantics = BYTE
aq_tm_processes = 1
_sort_elimination_cost_ratio =5
_like_with_bind_as_equality = TRUE
_fast_full_scan_enabled = FALSE
_b_tree_bitmap_plans = FALSE
optimizer_secure_view_merging = FALSE
_optimizer_autostats_job = FALSE
parallel_max_servers = 8
parallel_min_servers = 0
parallel_degree_policy = MANUAL
4. 次のように修正します。値はソースシステムによって異なるため、現在の設定に基づいて変更してください。 *.open_cursors=500
*.undo_tablespace='UNDOTBS1'
5. SPFILE リファレンスを削除します。 *.spfile='/rdsdbbin/oracle/dbs/spfileVISCDB.ora'
注意: PFILE control_files および の Amazon RDS Custom によって提供される値は変更しないでくださいdb_unique_name 。Amazon はこれらの値をRDS期待します。これらから逸脱すると、future リードレプリカを作成しようとしたときに問題が発生します。 Amazon RDS Custom は、デフォルトで自動メモリ管理 (AMM) を使用します。hugemem を使用する場合は、自動共有メモリ管理 () を使用するように Amazon RDS Custom を設定できますASMM。 memory_max_target パラメータはデフォルトでは有効のままにしておきます。Amazon RDSフレームワークでは、これをバックグラウンドで使用してリードレプリカを作成します。
6. 以下の startup nomount コマンドを実行して、initVISCDB.ora ファイルに問題がないことを確認します。 SQL> startup nomount pfile=/rdsdbbin/oracle/dbs/initVISCDB.ora;
SQL> create spfile='/rdsdbdata/admin/VISCDB/pfile/spfileVISCDB.ora' from pfile;
SQL> exit
7. のシンボリックリンクを作成しますSPFILE。 $ ln -s /rdsdbdata/admin/VISCDB/pfile/spfileVISCDB.ora $ORACLE_HOME/dbs/
| DBA |
バックアップから Amazon RDS Custom データベースを復元します。 | Oracle 12.1.0.2 の場合 1. 先にソースでキャプチャしたバックアップファイルを使用して、コントロールファイルを復元します。 RMAN> connect target /
RMAN> RESTORE CONTROLFILE FROM '/RMAN/visdb_full_bkp_100rlsbt';
Starting restore at 10-APR-22
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=201 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/rdsdbdata/db/VIS_A/controlfile/control-01.ctl
Finished restore at 10-APR-22
2. バックアップピースをカタログ化し、RMAN restore を発行できるようにします。 RMAN> alter database mount;
RMAN> catalog start with '/RMAN/visdb';
3. データベースを復元するスクリプトを作成します。 $ vi restore.sh
rman target / log=/home/rdsdb/rman.log << EOF
run
{
set newname for database to '/rdsdbdata/db/VIS_A/datafile/%b';
restore database;
switch datafile all;
switch tempfile all;
}
EOF
4. ソースをターゲット Amazon RDS Custom データベースに復元します。スクリプトの実行を許可するようにスクリプトの権限を変更し、restore.sh スクリプトを実行してデータベースを復元する必要があります。 $ chmod 755 restore.sh
$ nohup ./restore.sh &
Oracle 19c の場合: 1. 先にソースでキャプチャしたバックアップファイルを使用して、コントロールファイルを復元します。 RMAN> connect target /
RMAN> RESTORE CONTROLFILE FROM '/RMAN/cntrl.bak';
Starting restore at 07-JUN-23
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=201 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/rdsdbdata/db/cdb/VISCDB_A/controlfile/control-01.ctl
Finished restore at 07-JUN-23
2. バックアップピースをカタログ化し、RMAN restore を発行できるようにします。 RMAN> alter database mount;
RMAN> catalog start with '/RMAN/visdb';
start with コマンドで問題が発生した場合は、バックアップピースを個別に追加できます。例:
RMAN> catalog backuppiece '/RMAN/visdb_full_bkp_1d1e507m';
バックアップピースごとにコマンドを繰り返します。 3. データベースを復元するスクリプトを作成します。要件に応じて、プラガブルデータベース名を修正します。復元プロセスを高速化するために vCPUs 使用できる の数に基づいて並列チャネルを割り当てます。 $ vi restore.sh
rman target / log=/home/rdsdb/rmancdb.log << EOF
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
.... .... ....
allocate channel c<N> type disk;
set newname for database to '/rdsdbdata/db/cdb/VISCDB_A/datafile/%b';
set newname for database root to '/rdsdbdata/db/cdb/VISCDB_A/datafile/%f_%b';
set newname for database "PDB$SEED" to '/rdsdbdata/db/cdb/pdbseed/%f_%b';
set newname for pluggable database VIS to '/rdsdbdata/db/pdb/VISCDB_A/%f_%b';
restore database;
switch datafile all;
switch tempfile all;
release channel c1;
release channel c2;
release channel c3;
.... .... ....
release channel c<N>;
}
EOF
4. ソースをターゲット Amazon RDS Custom データベースに復元します。スクリプトの実行を許可するようにスクリプトの権限を変更し、restore.sh スクリプトを実行してデータベースを復元する必要があります。 $ chmod 755 restore.sh
$ nohup ./restore.sh &
| DBA |
ログファイルに問題がないか確認してください。 | Oracle 12.1.0.2 の場合 1. rman.log ファイルを確認して、問題がないことを確認します。 $ cat /home/rdsdb/rman.log
2. コントロールファイルに登録されているログファイルのパスを確認します。 SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/d01/oracle/VIS/data/log1.dbf
/d01/oracle/VIS/data/log2.dbf
/d01/oracle/VIS/data/log3.dbf
3. ログファイルの名前を、ターゲットのファイルパスと一致するように変更します。前のステップで出力されたものと一致するためにパスを置き換えます。 SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/data/log1.dbf' TO '/rdsdbdata/db/VIS_A/onlinelog/log1.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/data/log2.dbf' TO '/rdsdbdata/db/VIS_A/onlinelog/log2.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/data/log3.dbf' TO '/rdsdbdata/db/VIS_A/onlinelog/log3.dbf';
Oracle 19c の場合: 1. rmancdb.log ファイルを確認して、問題がないことを確認します。 $ cat /home/rdsdb/rmancdb.log
2. コントロールファイルに登録されているログファイルのパスを確認します。 SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/d01/oracle/VIS/oradata/VISCDB/redo03.log
/d01/oracle/VIS/oradata/VISCDB/redo02.log
/d01/oracle/VIS/oradata/VISCDB/redo01.log
3. ログファイルの名前を、ターゲットのファイルパスと一致するように変更します。前のステップで出力されたものと一致するためにパスを置き換えます。 SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/oradata/VISCDB/redo01.log' TO '/rdsdbdata/db/cdb/VISCDB_A/onlinelog/log1.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/oradata/VISCDB/redo02.log' TO '/rdsdbdata/db/cdb/VISCDB_A/onlinelog/log2.dbf';
SQL> ALTER DATABASE RENAME FILE '/d01/oracle/VIS/oradata/VISCDB/redo03.log' TO '/rdsdbdata/db/cdb/VISCDB_A/onlinelog/log3.dbf';
4. 制御ファイルに登録されているパス、ログファイルのステータス、およびグループ番号を確認します。 SQL> column REDOLOG_FILE_NAME format a50
SQL> SELECT a.GROUP#, a.status, b.MEMBER AS REDOLOG_FILE_NAME,
(a.BYTES/1024/1024) AS SIZE_MB
FROM v$log a
JOIN v$logfile b ON a.Group#=b.Group#
ORDER BY a.GROUP#;
GROUP# STATUS REDOLOG_FILE_NAME SIZE_MB
1 CURRENT /rdsdbdata/db/cdb/VISCDB_A/onlinelog/log1.dbf 512
2 INACTIVE /rdsdbdata/db/cdb/VISCDB_A/onlinelog/log2.dbf 512
3 INACTIVE /rdsdbdata/db/cdb/VISCDB_A/onlinelog/log3.dbf 512
| DBA |
Amazon RDS Custom データベースを開いてOMFログファイルを作成できることを確認します。 | Amazon RDS Custom for Oracle は、Oracle Managed Files (OMF) を使用してオペレーションを簡素化します。リードレプリカはスタンドアロンインスタンスに昇格できますが、まず を使用してログファイルを作成する必要がありますOMF。これは、インスタンスの昇格時に正しいパスが使用されるようにするためです。リードレプリカを昇格させる方法の詳細については、Amazon のRDSドキュメントを参照してください。OMF ファイルを使用しないと、リードレプリカの昇格時に問題が発生する可能性があります。 1. resetlogs でデータベースを開きます。 SQL> alter database open resetlogs;
ORA「-00392: log xx of thread 1 is being cleared, operation not allowed」というエラーが表示された場合は、「Troubleshooting」セクションの ORA「-00392」の手順に従います。 2. データベースが開いていることを確認します。 SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
3. OMF ログファイルを作成します。前のログファイルクエリの出力を使用して、要件に応じてグループ番号、グループ数、サイズを変更します。次の例はグループ 4 から始まり、わかりやすくするために 3 つのグループを追加しています。 SQL> alter database add logfile group 4 size 512M;
Database altered.
SQL> alter database add logfile group 5 size 512M;
Database altered.
SQL> alter database add logfile group 6 size 512M;
Database altered.
4. 以前の OMF以外のファイルをドロップします。要件と前のステップのクエリの出力に基づいてカスタマイズできる例を次に示します。 SQL> alter database drop logfile group 1;
System altered.
SQL> alter database drop logfile group 2;
System altered.
SQL> alter database drop logfile group 3;
System altered.
ログファイルを削除しようとしたときに ORA-01624 エラーが発生した場合は、「トラブルシューティング」セクションを参照してください。 5. 作成されたOMFファイルが表示されることを確認します。(ディレクトリパスは Oracle 12.1.0.2 と 19c では異なりますが、概念は同じです)。 SQL> select member from v$logfile;
MEMBER
-----------------------------------------------------
/rdsdbdata/db/cdb/VISCDB_A/onlinelog/o1_mf_4_ksrbslny_.log
/rdsdbdata/db/cdb/VISCDB_A/onlinelog/o1_mf_5_ksrchw0k_.log
/rdsdbdata/db/cdb/VISCDB_A/onlinelog/o1_mf_6_ksrcnl9v_.log
6. データベースを再起動し、 SPFILE がインスタンスで使用中であることを確認します。 SQL> shutdown immediate
SQL> startup
SQL> show parameter spfile
Oracle 12.1.0.2 の場合、このクエリは次の値を返します。 spfile /rdsdbbin/oracle/dbs/spfileVIS.ora
Oracle 19c の場合、クエリは次の値を返します。 spfile /rdsdbbin/oracle/dbs/spfileVISCDB.ora
7. [Oracle 19c の場合のみ]、コンテナデータベースのステータスを確認し、必要に応じて開きます。 SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------- ----------
2 PDB$SEED READ ONLY NO
3 VIS MOUNTED NO
SQL> alter session set container=VIS;
Session altered.
SQL> alter database open;
Database altered.
SQL> alter database save state;
Database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- -----
3 VIS READ WRITE NO
SQL> exit
8. を使用していないため$ORACLE_HOME/dbs 、 から init.ora ファイルを削除しますPFILE。 $ cd $ORACLE_HOME/dbs
Oracle 12.1.0.2 の場合は、次のコマンドを使用します。 $ pwd
/rdsdbbin/oracle/dbs
$ rm initVIS.ora
Oracle 19c の場合は、次のコマンドを使用してください。 $ pwd
/rdsdbbin/oracle/dbs
$ rm initVISCDB.ora
| DBA |
タスク | 説明 | 必要なスキル |
---|
Secrets Manager からパスワードを取得します。 | これらのステップは、 コンソールまたは AWS を使用して実行できますCLI。次の手順は、コンソールの手順を提供します。 1. AWS マネジメントコンソールにサインインし、 で Amazon RDSコンソールを開きますhttps://console.aws.amazon.com/rds/。 2. ナビゲーションペインで、データベースを選択し、Amazon RDS データベースを選択します。 3. [設定] を選択し、インスタンスのリソース ID をメモします (この形式は: db-WZ4WLCK6AOQ6TJGZKMGRCDCI3Y になります)。 4. で AWS Secrets Manager コンソールを開きますhttps://console.aws.amazon.com/secretsmanager/。 5. do-not-delete-custom-<resource_id> と同じ名前のシークレットを選択します。ここで、resource-id はステップ 3 で書き留めたインスタンスの ID を指します。 6. [シークレットの値を取得する] を選択します。 | DBA |
RDSADMIN ユーザーを作成します。 | RDSADMIN は、Amazon RDS Custom DB インスタンスのモニタリングおよびオーケストレーターデータベースユーザーです。スターターデータベースが削除され、ターゲットデータベースが を使用してソースから復元されたためRMAN、復元オペレーション後にこのユーザーを再作成して、Amazon RDS Custom モニタリングが期待どおりに動作することを確認する必要があります。また、RDSADMIN ユーザー用に別のプロファイルとテーブルスペースを作成する必要があります。Oracle 12.1.0.2 と 19c では、手順が少し異なります。
Oracle 12.1.0.2 の場合 1. SQL プロンプトで次のコマンドを入力します。 SQL> set echo on feedback on serverout on
SQL> @?/rdbms/admin/utlpwdmg.sql
SQL> ALTER PROFILE DEFAULT
LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL;
2. プロフィール RDSADMIN を作成します。 SQL> create profile RDSADMIN
LIMIT
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 86400/86400
PASSWORD_GRACE_TIME 604800/86400;
3. SYS 、SYSTEM 、および DBSNMP ユーザープロファイルを RDSADMIN に設定します。 SQL> set echo on feedback on serverout on
SQL> alter user SYS profile RDSADMIN;
SQL> alter user SYSTEM profile RDSADMIN;
SQL> alter user DBSNMP profile RDSADMIN;
4. RDSADMIN テーブルスペースを作成します。 SQL> create bigfile tablespace rdsadmin datafile size 7M
autoextend on next 1m
Logging online permanent blocksize 8192 extent management local autoallocate default nocompress segment space management auto;
5. RDSADMIN ユーザーを作成します。RDSADMIN パスワードを、以前に Secrets Manager から取得したパスワードに置き換えます。 SQL> create user rdsadmin identified by xxxxxxxxxx
Default tablespace rdsadmin
Temporary tablespace temp
profile rdsadmin ;
6. RDSADMIN に権限を付与します。 SQL> grant select on sys.v_$instance to rdsadmin;
SQL> grant select on sys.v_$archived_log to rdsadmin;
SQL> grant select on sys.v_$database to rdsadmin;
SQL> grant select on sys.v_$database_incarnation to rdsadmin;
SQL> grant select on dba_users to rdsadmin;
SQL> grant alter system to rdsadmin;
SQL> grant alter database to rdsadmin;
SQL> grant connect to rdsadmin with admin option;
SQL> grant resource to rdsadmin with admin option;
SQL> alter user rdsadmin account unlock identified by xxxxxxxxxxx;
SQL> @?/rdbms/admin/userlock.sql
SQL> @?/rdbms/admin/utlrp.sql
Oracle 19c の場合: 1. SQL プロンプトで次のコマンドを入力します。 SQL> set echo on feedback on serverout on
SQL> @?/rdbms/admin/utlpwdmg.sql
SQL> alter profile default
LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL;
2. プロフィール RDSADMIN を作成します。 RDSADMIN Oracle 19c C## では のプレフィックスがあります。これは、データベースパラメータcommon_user_prefix が に設定されているためですC## 。Oracle 12.1.0.2 RDSADMIN では のプレフィックスがありません。
SQL> create profile C##RDSADMIN
LIMIT
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 86400/86400
PASSWORD_GRACE_TIME 604800/86400;
3. SYS 、SYSTEM 、および DBSNMP ユーザープロファイルを RDSADMIN に設定します。 SQL> alter user SYS profile C##RDSADMIN;
SQL> alter user SYSTEM profile C##RDSADMIN;
SQL> alter user DBSNMP profile C##RDSADMIN;
4. RDSADMIN テーブルスペースを作成します。 SQL> create bigfile tablespace rdsadmin datafile size 7M
autoextend on next 1m
Logging online permanent blocksize 8192 extent management local autoallocate default nocompress segment space management auto;
5. RDSADMIN ユーザーを作成します。RDSADMIN パスワードを、以前に Secrets Manager から取得したパスワードに置き換えます。 SQL> create user C##rdsadmin identified by xxxxxxxxxx
profile C##rdsadmin container=all;
6. RDSADMIN に権限を付与します。 SQL> grant select on sys.v_$instance to c##rdsadmin;
SQL> grant select on sys.v_$archived_log to c##rdsadmin;
SQL> grant select on sys.v_$database to c##rdsadmin;
SQL> grant select on sys.v_$database_incarnation to c##rdsadmin;
SQL> grant select on dba_users to c##rdsadmin;
SQL> grant alter system to C##rdsadmin;
SQL> grant alter database to C##rdsadmin;
SQL> grant connect to C##rdsadmin with admin option;
SQL> grant resource to C##rdsadmin with admin option;
SQL> alter user C##rdsadmin account unlock identified by xxxxxxxxxxx;
SQL> @?/rdbms/admin/userlock.sql
SQL> @?/rdbms/admin/utlrp.sql
| DBA |
マスターユーザーを作成します。 | スターターデータベースが削除され、ターゲットデータベースが を使用してソースから復元されたためRMAN、マスターユーザーを再作成する必要があります。この例では、ユーザーは admin という名前になります。 Oracle 12.1.0.2 の場合 SQL> create user admin identified by <password>;
SQL> grant dba to admin
Oracle 19c の場合: SQL> alter session set container=VIS;
Session altered.
SQL> create user admin identified by <password>;
User created.
SQL> grant dba to admin;
Grant succeeded.
| DBA |
スーパーユーザーのパスワードを変更します。 | 1. Secrets Manager から取得したパスワードを使用して、システムパスワードを変更します。 Oracle 12.1.0.2 の場合 SQL> alter user sys identified by xxxxxxxxxxx;
SQL> alter user system identified by xxxxxxxxxx;
Oracle 19c の場合: SQL> alter user sys identified by xxxxxxxxxxx container=all;
SQL> alter user system identified by xxxxxxxxxx container=all;
Oracle 12.1.0.2 の場合 SQL> alter user ebs_system identified by xxxxxxxxxx;
Oracle 19c の場合: このバージョンでは、コンテナデータベースにも接続して、そこで EBS_SYSTEM パスワードを更新する必要があります。 SQL> alter session set container=vis;
SQL> alter user ebs_system identified by xxxxxxxxxx;
SQL> exit;
これらのパスワードを変更しない場合、Amazon RDS Custom は、データベースモニタリングユーザーまたはユーザー認証情報が変更されているというエラーメッセージを表示します。 | DBA |
タスク | 説明 | 必要なスキル |
---|
Oracle E-Business Suite に必要なディレクトリを作成します。 | 1. Amazon RDS Custom Oracle データベースで、Oracle ホームユーザーとして次のスクリプトを実行して、 に 9idata ディレクトリを作成します$ORACLE_HOME/nls/data/9idata 。このディレクトリは Oracle E-Business Suite に必要です。 perl $ORACLE_HOME/nls/data/old/cr9idata.pl
コンテキスト対応環境は後のステップで作成するので、ORA_NLS10 メッセージは無視してください。 2. 共有 Amazon appsutil.tar ファイルシステムから先ほど作成した EFS ファイルをコピーし、Amazon RDS Custom Oracle ホームディレクトリで解凍します。 これで appsutil ディレクトリが $ORACLE_HOME ディレクトリ内に作成されます。 $ cd /RMAN/appsutil
$ cp sourceappsutil.tar $ORACLE_HOME
$ cd $ORACLE_HOME
$ tar xvf sourceappsutil.tar appsutil
3. 前に Amazon EFS共有appsutil.zip ファイルシステムに保存した ファイルをコピーします。 これはアプリケーション層で作成したファイルです。 Amazon RDS Custom DB インスタンスのrdsdb ユーザーとして: $ cp /RMAN/appsutil/appsutil.zip $ORACLE_HOME
$ cd $ORACLE_HOME
4. appsutil.zip ファイルを解凍して、Oracle ホームディレクトリに appsutil ディレクトリとサブディレクトリを作成します。 $ unzip -o appsutil.zip
-o のオプションを指定すると、一部のファイルが上書きされます。
| |
tsanames.ora ファイルと sqlnet.ora ファイルを設定します。 | Autoconfig ツールでデータベースに接続できるように tnsnames.ora ファイルを設定する必要があります。次の例では、tnsnames.ora ファイルはソフトリンクされているが、デフォルトでは空であることがわかります。 $ cd $ORACLE_HOME/network/admin
$ ls -ltr
-rw-r--r-- 1 rdsdb database 373 Oct 31 2013 shrept.lst
lrwxrwxrwx 1 rdsdb database 30 Feb 9 17:17 listener.ora -> /rdsdbdata/config/listener.ora
lrwxrwxrwx 1 rdsdb database 28 Feb 9 17:17 sqlnet.ora -> /rdsdbdata/config/sqlnet.ora
lrwxrwxrwx 1 rdsdb database 30 Feb 9 17:17 tnsnames.ora -> /rdsdbdata/config/tnsnames.ora
1. tnsnames.ora エントリを作成します。Amazon RDSオートメーションはファイルを解析する方法であるため、エントリに空白、コメント、または余分な行が含まれていないことを確認する必要があります。そうしないと、as create-db-instance-read-replica APIsなどの一部を使用すると問題が発生する可能性があります。次の例のコードを使用します。 2. 要件SIDに従って、ポート、ホスト、および を置き換えます。 $ vi tnsnames.ora
VIS=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(PORT=1521)(HOST=xx.xx.xx.xx)))(CONNECT_DATA=(SID=VIS)(SERVER=DEDICATED)))
ファイルに追加の行があってはなりません。行を削除しないと、future リードレプリカを作成する際に問題が発生する場合があります。リードレプリカの作成は、次のエラーメッセージで失敗することがあります。アクティビティが例外をスローしました: HostManagerException: ホスト restrictReplication で を正常に呼び出すことができません。 3. データベースにアクセスできることを確認します。 $ tnsping vis
OK (0 msec)
4. [Oracle 19c の場合のみ]、sqlnet.ora ファイルを更新してください。これを行わないと、エラー ORA-01017: ユーザー名/パスワードが無効になり、データベースに接続しようとするとログオンが拒否されます。$ORACLE_HOME/network/admin の sqlnet.ora を以下と一致するように編集してください。 NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
SQLNET.EXPIRE_TIME= 10
SQLNET.INBOUND_CONNECT_TIMEOUT =60
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
HTTPS_SSL_VERSION=undetermined
5. 接続をテストします。 $ sqlplus apps/****@vis
| DBA |
データベースを設定します。 | データベースへの接続をテストしたので、appsutil ユーティリティを使用してデータベースを構成し、コンテキスト対応環境を作成できます。 Oracle 12.1.0.2 の場合 1. 以下の コマンドを実行します。 $ cd $ORACLE_HOME/appsutil/bin
$ perl adbldxml.pl appsuser=apps
Enter Hostname of Database server: oebs-db01
Enter Port of Database server: 1521
Enter SID of Database server: VIS
Enter Database Service Name: VIS
Enter the value for Display Variable: :1
The context file has been created at:
/rdsdbbin/oracle/appsutil/VIS_oebs-db01.xml
2. ルートユーザーから oraInst.loc を作成: $ vi /etc/oraInst.loc
inventory_loc=/rdsdbbin/oracle.12.1.custom.r1.EE.1/oraInventory
inst_group=database
3. 前の手順で作成したコンテキストファイルを使用して、コンテキストファイルをクローンして論理ホスト名を設定します。rdsdb ユーザーとして以下を実行します。 $ cd $ORACLE_HOME/appsutil/clone/bin
$ perl adclonectx.pl \
contextfile=[ORACLE_HOME]/appsutil/[current context file] \
template=[ORACLE_HOME]/appsutil/template/adxdbctx.tmp
ここで、oebs-db01log は論理ホスト名を指します。以下に例を示します。 $ perl adclonectx.pl \
contextfile=/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/VIS_oebs-db01.xml \
template=/rdsdbbin/oracle/appsutil/template/adxdbctx.tmp
Target System Hostname (virtual or normal) [oebs-db01] : oebs-db01log
Target System Base Directory : /rdsdbbin/oracle
Target Instance is RAC (y/n) [n] : n
Target System Database SID : VIS
Oracle OS User [rdsdb] :
Oracle OS Group [rdsdb] : database
Role separation is supported y/n [n] ? : n
Target System utl_file_dir Directory List : /tmp
Number of DATA_TOP's on the Target System [1] :
Target System DATA_TOP Directory 1 [/rdsdbbin/oracle/data] : /rdsdbdata/db/VIS_A/datafile/
Target System RDBMS ORACLE_HOME Directory [/rdsdbbin/oracle/12.1.0] : /rdsdbbin/oracle
Do you want to preserve the Display [:1] (y/n) : y
Do you want the target system to have the same port values as the source system (y/n) [y] ? : y
The new database context file has been created :
/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/clone/bin/VIS_oebs-db01log.xml
contextfile=/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/clone/bin/VIS_oebs-db01log.xml
Oracle 19c の場合: 1. 以下の コマンドを実行します。 $ cd $ORACLE_HOME/appsutil/bin
$ perl adbldxml.pl appsuser=apps
Enter Hostname of Database server: oebs-db01
Enter Port of Database server: 1521
Enter SID of Database server: VIS
Enter the database listener name:L_VISCDB_001
Enter the value for Display Variable: :1
The context file has been created at:
/rdsdbbin/oracle/appsutil/VIS_oebs-db01.xml
2. ルートユーザーから oraInst.loc を作成: $ vi /etc/oraInst.loc
inventory_loc=/rdsdbbin/oracle/oraInventory
inst_group=database
3. 前の手順で作成したコンテキストファイルを使用して、コンテキストファイルをクローンして論理ホスト名を設定します。rdsdb ユーザーとして以下を実行します。 $ cd $ORACLE_HOME/appsutil/clone/bin
$ perl adclonectx.pl \
contextfile=[ORACLE_HOME]/appsutil/[current context file] \
template=[ORACLE_HOME]/appsutil/template/adxdbctx.tmp
ここで、oebs-db01log は論理ホスト名を指します。以下に例を示します。 $ perl adclonectx.pl \
contextfile=/rdsdbbin/oracle/appsutil/VIS_oebs-db01.xml \
template=/rdsdbbin/oracle/appsutil/template/adxdbctx.tmp
Target System Hostname (virtual or normal) [oebs-db01] : oebs-db01log
Target System Base Directory : /rdsdbbin/oracle
Target Instance is RAC (y/n) [n] : n
Target System CDB Name : VISCDB
Target System PDB Name : VIS
Oracle OS User [oracle] : rdsdb
Oracle OS Group [dba] : database
Role separation is supported y/n [n] ? : n
Number of DATA_TOP's on the Target System [2] :
Target System DATA_TOP Directory 1 [/d01/oracle/VISCDB] : /rdsdbdata/db/pdb/VISCDB_A
Target System DATA_TOP Directory 2 [/d01/oracle/data] : /rdsdbdata/db/pdb/VISCDB_A/datafile
Specify value for OSBACKUPDBA group [database] :
Specify value for OSDGDBA group [database] :
Specify value for OSKMDBA group [database] :
Specify value for OSRACDBA group [database] :
Target System RDBMS ORACLE_HOME Directory [/d01/oracle/19.0.0] : /rdsdbbin/oracle
Do you want to preserve the Display [:1] (y/n) : y
Do you want the target system to have the same port values as the source system (y/n) [y] ? : y
Validating if the source port numbers are available on the target system..
Complete port information available at /rdsdbbin/oracle/appsutil/clone/bin/out/VIS_oebs-db01log/portpool.lst
New context path and file name [VIS_oebs-db01log.xml] : /rdsdbbin/oracle/appsutil/VIS_oebs-db01log.xml
Do you want to overwrite it (y/n) [n] ? : y
Replacing /rdsdbbin/oracle/appsutil/VIS_oebs-db01log.xml file.
The new database context file has been created :
contextfile=/rdsdbbin/oracle/appsutil/VIS_oebs-db01log.xml
Check Clone Context logfile /rdsdbbin/oracle/appsutil/clone/bin/CloneContext_0609141428.log for details.
| DBA |
Autoconfig をインストールETCCして実行します。 | 1. Oracle E-Business Suite Technology Codelevel Checker () をインストールしますETCC。 「My Oracle Support」からパッチ 17537119 をダウンロードし、README.txt の指示に従ってください。$ORACLE_HOME ディレクトリに etcc という名前のディレクトリを作成し、パッチを解凍して checkMTpatch.sh というスクリプトを作成し、そのスクリプトを実行してパッチバージョンを確認します。 2. Autoconfig ユーティリティを実行し、新しい論理ホスト名コンテキストファイルを渡します。 Oracle 12.1.0.2 の場合 cd $ORACLE_HOME/appsutil/bin
$ ./adconfig.sh contextfile=/rdsdbbin/oracle.12.1.custom.r1.EE.1/appsutil/clone/bin/VIS_oebs-db01log.xml
Oracle 19c の場合: Autoconfig はリスナー名が CDBNAME と一致することを想定しています。そのため、バックアップされた元のリスナー設定ファイルは一時的に L_<CDBNAME>_001 が使用されます。 $ lsnrctl stop L_VISCDB_001
$ cp -rp /rdsdbdata/config/listener.ora /rdsdbdata/config/listener.ora_orig
$ vi /rdsdbdata/config/listener.ora
:%s/L_VISCDB_001/VISCDB/g
$ lsnrctl start VISCDB
$ cd /rdsdbbin/oracle/appsutil
$ . ./txkSetCfgCDB.env dboraclehome=/rdsdbbin/oracle.19.custom.r1.EE-CDB.1
Oracle Home being passed: /rdsdbbin/oracle
$ echo $ORACLE_HOME
/rdsdbbin/oracle.19.custom.r1.EE-CDB.1
$ export ORACLE_SID=VISCDB
$ cd $ORACLE_HOME/appsutil/bin
$ perl $ORACLE_HOME/appsutil/bin/txkPostPDBCreationTasks.pl -dboraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -cdbsid=VISCDB -pdbsid=VIS -appsuser=apps -dbport=1521 -servicetype=onpremise
Enter the APPS Password: <apps password>
Enter the CDB SYSTEM Password:<password from secrets manager>
データベースディレクトリが変更されている場合は、Oracle サポートノート 2525754.1 の指示に従ってください。 | DBA |
タスク | 説明 | 必要なスキル |
---|
Amazon RDS Custom および Oracle E-Business Suite のTNSエントリを設定します。 | Autoconfig は、デフォルトの場所にTNSイフェイルを生成します。Oracle 12.1.0.2 ( 以外CDB) および Oracle19c の場合PDB、デフォルトの場所は です$ORACLE_HOME/network/admin/$<CONTEXT_NAME> 。CDB for Oracle 19c は$ORACLE_HOME/network/admin/ 、前のステップ$TNS_ADMIN で Autoconfig を実行したときに生成される環境ファイルで によって定義されたデフォルトの を使用します。 Oracle 12.1.0.2 および 19c の場合CDB、Autoconfig によって生成された tnsnames.ora および listener.ora ファイルは、空白やコメントがないなど、Amazon RDSの要件に準拠していないため、これらのファイルは使用しません。代わりに、Amazon RDS Custom データベースに付属する汎用ファイルを使用して、システムが期待していることへの準拠を確保し、エラーのマージンを減らします。 例えば、Amazon RDS Custom は次の命名形式を想定しています。 L_<INSTANCE_NAME>_001
Oracle 12.1.0.2 の場合、次のようになります。 L_VIS_001
Oracle 19c の場合、次のようになります。 L_VISCDB_001
使用する listener.ora ファイルの例を以下に示します。これは、Amazon RDS Custom データベースを作成したときに生成されました。この時点では、このファイルには変更を加えていないため、デフォルトのままにします。 Oracle 12.1.0.2 の場合 $ cd $ORACLE_HOME/network/admin
$ cat listener.ora
ADR_BASE_L_VIS_001=/rdsdbdata/log/
SID_LIST_L_VIS_001=(SID_LIST = (SID_DESC = (SID_NAME = VIS)(GLOBAL_DBNAME = VIS) (ORACLE_HOME = /rdsdbbin/oracle)))
L_VIS_001=(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = xx.xx.xx.xx))) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = 127.0.0.1))))
SUBSCRIBE_FOR_NODE_DOWN_EVENT_L_VIS_001=OFF
[Oracle 19c の場合]:元の listener.ora ファイルをリスナー名 L_<INSTANCE_NAME>_001 で復元します。 $ cd $ORACLE_HOME/network/admin
$ cp -rp /rdsdbdata/config/listener.ora /rdsdbdata/config/listener.ora_autoconfig
$ cp -rp /rdsdbdata/config/listener.ora_orig /rdsdbdata/config/listener.ora
$ cat listener.ora
SUBSCRIBE_FOR_NODE_DOWN_EVENT_L_VISCDB_001=OFF
ADR_BASE_L_VISCDB_001=/rdsdbdata/log/
USE_SID_AS_SERVICE_L_VISCDB_001=ON
L_VISCDB_001=(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = xx.xx.xx.xx))) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = 127.0.0.1))))
SID_LIST_L_VISCDB_001=(SID_LIST = (SID_DESC = (SID_NAME = VISCDB)(GLOBAL_DBNAME = VISCDB) (ORACLE_HOME = /rdsdbbin/oracle)))
標準 Amazon RDSオペレーションL_<INSTANCE_NAME>_001 のリスナーを起動します。 $ lsnrctl stop
$ lsnrctl start L_VISCDB_001
Oracle 12.1.0.2 の場合 Oracle E-Business Suite 環境ファイルを編集して、Amazon RDS Custom 汎用TNSイフェイルを使用する$TNS_ADMIN パスを変更します。この環境ファイルは、以前にオートコンフィグを実行したときに作成されたものです。TNS_ADMIN ポストフィックスを削除して <CONTEXT_NAME> 変数を編集します。 19c のデフォルトのホームは であり、Amazon RDS Custom のデフォルトと同じであるため$ORACLE_HOME/network/admin 、環境ファイルは Oracle 12.1.0.2 でのみ編集する必要があります。 たとえば、Oracle 12.1.0.2 では、以下のファイルを編集します。 $ vi $ORACLE_HOME/VIS_oebs-db01log.env
パスを次のように変更します。 TNS_ADMIN=”/rdsdbbin/oracle/network/admin/VIS_oebs-db01log”
export TNS_ADMIN
変更後: TNS_ADMIN=”/rdsdbbin/oracle/network/admin”
export TNS_ADMIN
Autoconfig を実行するたびに、このステップを繰り返して、正しい TNS ifile が使用されていることを確認する必要があります。 (12.1.0.2 のみ)。 Oracle 19c の場合: 1. データベース層のコンテキスト変数 s_cdb_tnsadmin の値を、<ORACLE_HOME>/network/admin/<CONTEXT_NAME> ではなく <ORACLE_HOME>/network/admin に変更します。 s_db_tnsadmin コンテキスト変数を更新しないでください。<ORACLE_HOME>/network/admin/<CONTEXT_NAME> のままにしておきます。
$ . $ORACLE_HOME/VIS_oebs-db01log.env
$ vi $CONTEXT_FILE
2. s_cdb_tnsadmin の値にに加えた変更を保存します。 s_db_tnsadmin と の値は、PDB名前が 、データベースノードVIS の論理名が の次のs_cdb_tnsadmin ようになりますoebs-db01log 。
$ grep -i tns_admin $CONTEXT_FILE
<TNS_ADMIN oa_var="s_db_tnsadmin">/rdsdbbin/oracle/network/admin/VIS_oebs-db01log</TNS_ADMIN>
<CDB_TNS_ADMIN oa_var="s_cdb_tnsadmin">/rdsdbbin/oracle/network/admin</CDB_TNS_ADMIN>
3. データベース層で Autoconfig を実行します。 $ . $ORACLE_HOME/VISCDB_oebs-db01log.env
$ export ORACLE_PDB_SID=VIS
$ sqlplus "/ as sysdba" @$ORACLE_HOME/appsutil/admin/adgrants.sql APPS
$ sqlplus "/ as sysdba" @$ORACLE_HOME/rdbms/admin/utlrp.sql
$ . $ORACLE_HOME/VIS_oebs-db01log.env
$ echo $ORACLE_SID
VIS
$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ ./adautocfg.sh
| DBA |
rdsdb ユーザーの環境を設定します。 | Oracle 19c の場合は、このステップをスキップします。 Oracle 12.1.0.2 の場合 Autoconfig と TNSエントリを完了したので、rdsdb ユーザーのプロファイルに設定して環境ファイルをロードする必要があります。 Oracle E-Business Suite データベース .env ファイルを呼び出すように .bash_profile を更新します。環境がロードされていることを確認するには、プロファイルを更新する必要があります。この環境ファイルは、以前に Autoconfig を実行したときに作成されたものです。 Autoconfig を実行すると、次のサンプル環境ファイルが作成されます。 . /rdsdbbin/oracle/VIS_oebs-db01log.env
rdsdb ユーザーとして:
cd $HOME
vi .bash_profile
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${ORACLE_HOME}/ctx/lib
export SHLIB_PATH=${ORACLE_HOME}/lib
export PATH=$PATH:${ORACLE_HOME}/bin
alias sql=’rlwrap -c sqlplus / as sysdba’
. ${ORACLE_HOME}/VIS_oebs-db01log.env
Oracle 19c の場合、 でCDB環境をロードする必要はありません.bash_profile 。これは、デフォルト ORACLE_HOME が rdsdb (Oracle ホーム) ユーザーのデフォルトのホームであるデフォルトパス $ORACLE_HOME/network/admin に設定されているためです。 | DBA |
Amazon RDS Custom のアプリケーションとデータベースを設定します。 | Oracle 12.1.0.2 と 19c の両方で最初の 2 つのステップを実行します。以降のステップはバージョンごとに異なります。 1. アプリケーション層で、データベースの IP アドレスを編集/etc/hosts して Amazon RDS Custom IP アドレスに変更します。 xx.xx.xx.xx OEBS-db01.localdomain OEBS-db01 OEBS-db01log.localdomain OEBS-db01log
論理ホスト名を使用しているため、データベースノードをほぼシームレスに置き換えることができます。 2. Amazon RDS Custom DB インスタンスで、ソースEC2インスタンスに割り当てられたセキュリティグループを追加または修正して Amazon RDS Custom DB インスタンスを反映し、アプリケーションがノードにアクセスできることを確認します。 Oracle 12.1.0.2 の場合 3. 自動設定を実行します。アプリ所有者 (例:applmgr ) として、以下を実行します。 $ cd $INST_TOP/admin/scripts
$ ./adautocfg.sh
AutoConfig completed successfully.
4. fnd_nodes エントリを確認します。 SQL> select node_name from apps.fnd_nodes
NODE_NAME
--------------------------------------------------------------------------------
AUTHENTICATION
OEBS-APP01LOG
OEBS-DB01LOG
5. ログインできることを確認し、アプリケーションを起動します。 $ ./adstrtal.sh
Oracle 19c の場合: PDB が開いているかどうかを確認し、必要に応じて開きます。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 VIS MOUNTED
SQL> alter session set container=vis;
SQL> alter database open;
SQL> alter database save state;
2. apps として接続をテストします。 SQL> sqlplus apps/****@vis
3. データベース層で Autoconfig を実行します。 $ . $ORACLE_HOME/VIS_oebs-db01log.env
$ echo $ORACLE_SID
VIS
$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ ./adautocfg.sh
4. アプリケーション層で Autoconfig をアプリケーション所有者として実行します (例: applmgr )。 $ cd $INST_TOP/admin/scripts
$ ./adautocfg.sh
AutoConfig completed successfully.
5. fnd_nodes エントリを確認します。 SQL> select node_name from apps.fnd_nodes
NODE_NAME
--------------------------------------------------------------------------------
AUTHENTICATION
OEBS-APP01LOG
OEBS-DB01LOG
6. アプリケーションを起動します。 $ ./adstrtal.sh
| DBA |
タスク | 説明 | 必要なスキル |
---|
自動化を再開して動作することを確認する。 | 次のAWSCLIコマンドを使用してオートメーションを再開します。 aws rds modify-db-instance \
--db-instance-identifier vis \
--automation-mode full \
データベースが Amazon RDS Custom によって管理されるようになりました。例えば、リスナーまたはデータベースがダウンすると、Amazon RDS Custom エージェントはそれらを再起動します。これをテストするには、以下のようなコマンドを実行してください。 ストップリスナーの例: -bash-4.2$ lsnrctl stop vis
データベースをシャットダウンする例: SQL> shutdown immediate;
| DBA |
スキーマ、接続、メンテナンスタスクを検証します。 | 移行を完了するには、少なくとも以下のタスクを実行する必要があります。 FS_CLONE を実行してパッチファイルシステムを同期します。
スキーマの統計情報を収集します。 外部インターフェイスとシステムが新しい Amazon RDS Custom データベースに接続できることを確認します。 バックアップとメンテナンスのスケジュールを設定します。 ファイルシステムを切り替えるカットオーバーを発行して、AD オンラインパッチ (ADOP) が期待どおりに動作していることを確認します。
| DBA |
トラブルシューティング
問題 | ソリューション |
---|
ログファイルを削除しようとすると、ORA-01624 エラーが表示されます。 | ログファイルを削除しようとしたときに ORA-01624 エラーが表示された場合は、次の手順に従います。 次のコマンドを実行して、削除するログファイルのステータスが INACTIVE になるまで待ちます。V$log のステータスコードの詳細については、「Oracle のドキュメント」を参照してください。以下にコマンドの例とその出力を示します。 SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 ACTIVE
2 CURRENT
3 UNUSED
4 UNUSED
5 UNUSED
6 UNUSED
6 rows selected.
この例では、ログファイル 1 は ACTIVE なので、先に追加した最初の新しいログファイルのステータスが CURRENT になるように、ログファイルを強制的に 3 回切り替える必要があります。 SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
次の例のように、削除するログファイルがすべて INACTIVE になるまで待ってから、DROP LOGFILE コマンドを実行します。 SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 INACTIVE
3 INACTIVE
4 CURRENT
5 UNUSED
6 UNUSED
6 rows selected.
|
でデータベースを開くと、ORA-00392 エラーが表示されますresetlogs 。 | ORA-00392: スレッド 1 のログ xx がクリアされているというエラーが表示された場合は、オペレーションが許可されず、次のコマンド ( をログファイル番号xx に置き換える) を実行してから、open resetlogs コマンドを再実行します。 SQL> alter database clear logfile group xx;
SQL> alter database open resetlogs;
|
Sysadmin またはアプリケーションユーザーを使用してアプリケーションに接続できない。 | 問題を確認するには、次のSQLクエリを実行します。 SQL> select dbms_java.get_jdk_version() from dual;
select dbms_java.get_jdk_version() from dual
ERROR at line 1:
ORA-29548: Java system class reported: release of Java system classes in the
database (19.0.0.0.220719 1.8) does not match that of the oracle executable (19.0.0.0.0 1.8)
根本原因: ソースデータベースが複数のパッチで適用されましたが、Amazon RDS Custom DB_HOME が新しいインストールであるか、 の作成時に などの必要なパッチを使用しなかったためOJVM、 にすべてのパッチが含まれCEVていませんCEV。これを検証するには、ソースRSUパッチの詳細が $ORACLE_HOME/sqlpath 、、$ORACLE_HOME/.patch_storage および にリストされているかどうかを確認しますopatch – lsinventory 。 参照:datapatch-verbose が「パッチ xxxxxx: アーカイブされたパッチディレクトリが空です」というエラーで失敗する (ドキュメント ID 2235541.1) 修正: 欠落しているパッチ関連のファイルをソース ($ORACLE_HOME/sqlpatch/ ) から Amazon RDS Custom ($ORACLE_HOME/sqlpatch/ ) にコピーし、 を再実行します./datapatch -verbose 。 以下に例を示します。 -bash-4.2$ cp -rp 18793246 20204035 20887355 22098146 22731026 $ORACLE_HOME/sqlpatch/
または、 CDBおよび で次のコマンドを実行して回避策を使用することもできますPDB。 @?/javavm/install/update_javavm_db.sql
次に、 で次のコマンドを実行しますPDB。 sql> alter session set container=vis;
@?/javavm/install/update_javavm_db.sql
次に、テストをもう一度実行します。 SQL> select dbms_java.get_jdk_version() from dual;
|
関連リソース
追加情報
メンテナンスオペレーション
Oracle E-Business Suite データベースホームに新しいパッチを適用
ビンボリューム (/rdsdbbin
) はアップグレードであるため out-of-place、CEVアップグレード中にビンボリュームの内容が削除されます。したがって、 を使用してアップグレードを実行する前に、 appsutil
ディレクトリのコピーを作成する必要がありますCEV。
ソース Amazon RDS Custom インスタンスで、 をアップグレードする前にCEV、 のバックアップを作成します$ORACLE_HOME/appsutil
。
この例では、 NFSボリュームを使用します。ただし、代わりに Amazon Simple Storage Service (Amazon S3) へのコピーを使用できます。
1. ソース Amazon RDS Custom インスタンスに appsutil を保存するディレクトリを作成します。
$ mkdir /RMAN/appsutil.preupgrade
2. Amazon EFSボリュームにタールしてコピーします。
$ tar cvf /RMAN/appsutil.preupgrade appsutil
3. tar ファイルが存在することを確認します。
$ bash-4.2$ ls -l /RMAN/appsutil.preupgrade
-rw-rw-r-- 1 rdsdb rdsdb 622981120 Feb 8 20:16 appsutil.tar
4. 「Amazon RDSドキュメント」のRDS「カスタム DB インスタンスのアップグレード」の手順に従って、最新の CEV (前提条件CEVがすでに作成されています) にアップグレードします。
を使用して直接パッチを適用することもできますOPATCH。Amazon RDSドキュメントのRDS「カスタム for Oracle アップグレードの要件と考慮事項」セクションを参照してください。
ホストマシンの IP アドレスは、CEVパッチ適用プロセス中に変更されません。このプロセスは out-of-placeアップグレードを実行し、起動時に新しいビンボリュームが同じインスタンスにアタッチされます。