このトピックでは、スタンドアロンのOracleデータベースを復元する前に、移行先サーバーで行う必要のある準備について説明します。
概要
バックアップゲートウェイのインストール
データベースバックアップ (DBS) は、データベースゲートウェイ (DG) を使用して、オンプレミスデータベースまたはサードパーティのクラウドでホストされているデータベースにバックアップされたデータベースを復元します。 移行先サーバーにバックアップゲートウェイをインストールする必要があります。 詳細については、「バックアップゲートウェイのインストール」をご参照ください。
DGを使用すると、オンプレミスデータベースをクラウドサービスに接続できます。 ポートをインターネットに公開する必要はありません。 DGは、プライベートネットワークに展開されたデータベースにリモートアクセスするためのデータベース接続サービスです。 詳細については、「」をご参照ください。Database Gatewayとは
データベースをホストする元のサーバーにデータベースを復元する場合は、データベースのバックアップ時に使用するバックアップゲートウェイを選択できます。
ソースOracleデータベースのバージョンを確認する
DBSを使用してOracleデータベースを復元する場合は、移行先サーバー上のOracleのバージョンが移行元Oracleデータベースのマイナーバージョンと同じであることを確認してください。
たとえば、Oracle 11.2.0.4はOracle 11.2.0.1と互換性がありません。 移行元データベースが前述のバージョンのいずれかを採用し、移行先サーバーがもう一方を採用している場合、データの復元時にエラーが発生する可能性があります。 ソースデータベースとターゲットサーバーの両方に同じバージョンのOracleをデプロイすることを推奨します。
次のコマンドを実行して、ソースデータベースのOracleバージョンを照会できます。
su - oracle export ORACLE_SID=orcl; sqlplus / as sysdba select version from v$instance;
次の出力は、Oracleバージョンが
19.0.0.0.0
であることを示します。==================== VERSION ----------------- 19.0.0.0.0 ====================
ソースデータベースが
マウント
状態に達しない場合は、次のコマンドを実行してOracleバージョンを照会できます。su - oracle ORACLE_HOME/OPatch/opatch lsinv -oh $ORACLE_HOME |grep ^"Oracle Database"
SIDの作成
Oracle SIDは、サーバー上で一意である必要があります。 ターゲットOracleデータベースのSIDを作成する必要があります。
同じ名前のOracleデータベースを同じサーバー上で同時に実行することはできません。 次のコマンドを実行して、ソースデータベースを停止できます。
su - oracle
export ORACLE_SID=orcl;
sqlplus / as sysdba
shutdown abort; /* You can also run the shutdown immediate; command.*/
exit;
次のコマンドを実行して、ソースデータベースが停止しているかどうかを確認できます。
ps -ef|grep pmon|grep orcl
上記のコマンドの出力が返された場合は、kill -9
コマンドを実行してデータベースを停止できます。
データベース復元ディレクトリの作成
データベース復元ディレクトリを作成する前に、ソースデータベースが占有するストレージスペースのサイズを取得する必要があります。 復元のための十分な領域を確保するために、データベース復元ディレクトリ用に、ソースデータベースのサイズの少なくとも1.3倍、またはDBSの完全バックアップセットのサイズの5〜6倍を確保することをお勧めします。 DBSがバックアップ動作を実行するとき、データは圧縮される。
次のコマンドを実行して、ソースデータベースのサイズを名前が
oracle
のユーザーとして照会できます。su - oracle export ORACLE_SID=orcl; sqlplus / as sysdba select sum(bytes) from ( select bytes from v$datafile union all select bytes from v$tempfile union all select bytes*members bytes from v$log);
次の出力は、データベースのサイズが
4,904,189,952バイト
であることを示しています。======================= SUM(BYTES) ---------- 4904189952 =======================
DBSコンソールで完全バックアップセットのサイズを確認できます。 DBSコンソールにログインします。 左側のナビゲーションウィンドウで、[バックアップスケジュール] をクリックします。 [バックアップスケジュール] ページで、ソースデータベースのバックアップスケジュールを見つけ、バックアップスケジュールの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、完全バックアップセットのサイズを表示できます。 詳細については、「バックアップスケジュールの表示」をご参照ください。
ディレクトリの作成
mkdir -p /Oracle/data_bak
たとえば、上記のコマンドを実行して、Oracleフォルダーに
data_bak
という名前のディレクトリを作成できます。説明ディレクトリがすでに存在する場合は、DBSがデータを復元するときにディレクトリ内の元のデータが上書きされないように、ディレクトリが空であることを確認してください。
権限を付与します。
次のコマンドを実行して、
$ORACLE_HOME/bin/Oracle
ファイルが属するユーザーグループを照会できます。ls -alh $ORACLE_HOME/bin/oracle
次の出力は、
$ORACLE_HOME/bin/Oracle
ファイルがoracle:oinstall
ユーザーグループに属していることを示しています。==================== -rwsr-s--x 1 oracle oinstall 421M Mar 15 03:04 /opt/oracle/product/19c/dbhome_1/bin/oracle ====================
次のコマンドを実行して、作成したディレクトリのユーザーグループを変更できます。
chown -R oracle:oinstall /oracle/data_bak
データベースクライアントのディレクトリを取得する
ORACLE_HOME
は、Oracleデータベースがインストールされているディレクトリを指定します。
CLIで
su - oracle
コマンドを実行して、Oracleデータベースにログインします。ORACLEデータベースで
echo Oracle_HOME
ステートメントを実行し、ORACLE_HOME
の値を取得します。次の出力は、
ORACLE_HOME
の値が/opt/oracle/product/19c/dbhome_1
であることを示します。/opt/oracle/product/19c/dbhome_1