10 データおよびアプリケーションの移行
様々な方法を使用して、XEデータベースとの間でデータおよびアプリケーションを移行できます。
あるXEインストールから表およびデータをエクスポートして、別のXEインストールにインポートできます。データをエクスポートするには、11gリリース2以上を使用することをお薦めします。
Oracle Database XE 18cからOracle Database Enterprise Edition 18cへの移行は、切断、接続シナリオのみでサポートされます。XE 18cデータベースからPDBを切断し、同じリリースの別のEnterpise Edition 18cデータベースに接続できます。Oracle Database XE 18cから他のOracle Database 18cオファリングへの移行はサポートされていません。
Oracle Database XE 11.2からOracle Database XE 18cへのアップグレードはサポートされていません。
18c XEからPDBを切断し、18c EEに接続する手順
Oracle Database XE 18cで作成されたプラガブル・データベース(PDB)は、別のマルチテナント・コンテナ・データベース(CDB) Enterprise Edition (EE) 18cに移行できます。
標準のプラグ互換性要件が適用されます。 PDB作成の一般的な前提条件の詳細は、Oracle Multitenant管理者ガイドを参照してください。
たとえば、XE 18c XE CDBからxepdb1を切断し、別の18c EE CDBに接続します。
-
PDBを切断する前に、SQL*Plusを使用してPDBをクローズします。
注意:
pdbデータベースをオープンしていない場合は、PDBがすでにクローズしているというエラーが表示される場合があります。sqlplus / as sysdba ALTER PLUGGABLE DATABASE xepdb1 CLOSE IMMEDIATE;
-
クローズしたPDBを切断し、XMLファイルのパスおよび名前を指定します。
ALTER PLUGGABLE DATABASE xepdb1 UNPLUG INTO '\tmp\xepdb1.xml';
-
クローズしたPDBを削除し、データファイルを保持します。
DROP PLUGGABLE DATABASE xepdb1 KEEP DATAFILES;
-
EE環境にログインします。xepdb1メタデータ・ファイルは、そのシステムから使用可能である必要があります。
-
DBMS_PDB.CHECK_PLUG_COMPATIBILITYファンクションを実行して、切断されたPDBがCDBと互換性があるかどうかを確認します。
SET SERVEROUTPUT ON DECLARE compatible CONSTANT VARCHAR2(3) := CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY( pdb_descr_file => '\tmp\xepdb1.xml', pdb_name => 'XEPDB1') WHEN TRUE THEN 'YES' ELSE 'NO' END; BEGIN DBMS_OUTPUT.PUT_LINE(compatible); END; /
-
PDBがCDBと互換性がある場合は、xepdb1を18c EEデータベースに接続できます。
切断したPDBのデータ・ファイルを使用して、コピーせずにPDBを別のCDBに接続します。CREATE PLUGGABLE DATABASE newxepdb USING '\tmp\xepdb1.xml' NOCOPY TEMPFILE REUSE;
-
接続したPDBのステータスおよびオープン・モードを確認します。
SELECT pdb_name, STATUS FROM cdb_pdbs WHERE pdb_name='NEWXEPDB'; SELECT OPEN_MODE FROM V$PDBS WHERE NAME='NEWXEPDB';
-
PDBが
MOUNTED
状態の場合は、PDBをオープンします。ALTER PLUGGABLE DATABASE newxepdb OPEN;
- この例では、次のように仮定します。
-
XMLファイルにファイルの現在の場所が正確に記述されています。したがって、SOURCE_FILE_NAME_CONVERTまたはSOURCE_FILE_DIRECTORY句は不要です。
-
ファイルは、正しい場所に存在します。したがって、NOCOPYが含まれています。
-
PDBにはストレージ制限は必要ありません。したがって、STORAGE句は必要ありません。
-
ターゲットの場所に、XMLファイルで指定されている一時ファイルと同じ名前のファイルがあります。したがって、TEMPFILE REUSE句が必要です。
-
-
カタログ、catprocおよびutrlpを、接続されたNEWXEPDBで実行します。
sqlplus / as sysdba
SQL> SHOW PDBS; CON_ID CON_NAME OPEN MODE RESTRICTED ------ ---------------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 NEWXEPDB READ WRITE YES
SQL> ALTER SESSION SET CONTAINER=newxepdb; SQL> SPOOL catalog.log SQL> @%ORACLE_HOME%\rdbms\admin\catalog SQL> SPOOL OFF; SQL> SPOOL catproc.log SQL> @%ORACLE_HOME%\rdbms\admin\catproc SQL> SPOOL OFF; SQL> SPOOL utlrp.log SQL> @%ORACLE_HOME%\rdbms\admin\utlrp SQL> SPOOL OFF;
SELECT COMP_NAME, STATUS, VERSION FROM DBA_REGISTRY; COMP_NAME STATUS VERSION ----------------------------------- ------------ ------------ Oracle Database Catalog Views VALID 18.0.0.0.0 Oracle Database Packages and Types VALID 18.0.0.0.0 Oracle Real Application Clusters OPTION OFF 18.0.0.0.0 JServer JAVA Virtual Machine VALID 18.0.0.0.0 Oracle XDK VALID 18.0.0.0.0 Oracle Database Java Packages VALID 18.0.0.0.0 OLAP Analytic Workspace VALID 18.0.0.0.0 Oracle XML Database VALID 18.0.0.0.0 Oracle Workspace Manager VALID 18.0.0.0.0 Oracle Text VALID 18.0.0.0.0 Oracle Multimedia VALID 18.0.0.0.0 Spatial VALID 18.0.0.0.0 Oracle OLAP API VALID 18.0.0.0.0 Oracle Label Security VALID 18.0.0.0.0 Oracle Database Vault VALID 18.0.0.0.0
SQL> SELECT OWNER, OBJECT_NAME FROM DBA_INVALID_OBJECTS WHERE STATUS = 'INVALID'; no rows selected
注意:
- 切断したプラガブル・データベースの接続の詳細は、切断したプラガブル・データベースの接続を参照してください。
- 切断されたPDBの接続の詳細は、Oracle Multitenant管理者ガイドを参照してください