ターゲット・データベースへのインポート
ターゲット・コンテナ・データベース(CDB)にインポートするには、次のステップを実行します:
INFRAスキーマのインポート
INFRAスキーマをターゲットCDBにインポートするには:
- ターゲット環境にサインインします。たとえば、
new-target-db12c.example.com
です。 oracle
ユーザーに変更します:sudo su - oracle
- ソース環境(この例では
soa-host01.example.com
)が/etc/hosts
ファイルにあることを確認します。 - 作成したすべてのスクリプトおよびダンプ・ファイルを、ソース環境(この例では
soa-host01.example.com
)からターゲット環境(この例ではnew-target-db12c.example.com:/u01/db_exp/INFRA_EXPORTS
)にコピーします:mkdir -p /u01/db_exp/INFRA_EXPORTS cd /u01/db_exp/INFRA_EXPORTS scp -r oracle@soa-host01.example.com:/u01/db_exp/INFRA_EXPORTS/* .
ORACLE_HOME
、ORACLE
およびPATH
環境変数を設定します。たとえば:export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1 export ORACLE_SID=CDB1 export PATH=$PATH:$ORACLE_HOME/bin
sys
ユーザーまたはsysdba
権限を持つ任意のユーザーに変更し、ターゲット・データベースに接続してから、次のコマンドを使用して既存のデータ・ファイルの場所を確認します:sqlplus sys/password as sysdba set long 10000; set lines 200; set pages 400; set longchunksize 10000; set wrap off; COLUMN FILE_NAME FORMAT A90; COLUMN name FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A20; SELECT name, pdb FROM v$services ORDER BY name; NAME PDB ------------------------- ------------------------------ CDB1.example.com CDB$ROOT SYS$BACKGROUND CDB$ROOT SYS$USERS CDB$ROOT pdb1_orclsoa.example.com PDB1_ORCLSOA pdb2_orclsoa.example.com PDB2_ORCLSOA ALTER SESSION SET CONTAINER=PDB1_ORCLSOA; SELECT TABLESPACE_NAME, FILE_NAME FROM dba_data_files; TABLESPACE_NAME FILE_NAME -------------------- ------------------------------------------------------------------- SYSTEM /u01/app/oracle/oradata/CDB1/datafile/o1_mf_system_hkj1b8h3_.dbf SYSAUX /u01/app/oracle/oradata/CDB1/datafile/o1_mf_sysaux_hkj1b8gy_.dbf USERS /u01/app/oracle/oradata/CDB1/datafile/o1_mf_users_hkj1b8h7_.dbf EXAMPLE /u01/app/oracle/oradata/CDB1/datafile/o1_mf_example_hkj1b8dt_.dbf
この例では、
PDB1_ORCLSOA
のデータの場所は/u01/app/oracle/oradata/CDB1/datafile
です。- スクリプト
create_tablespaces.sql
を編集し、DATAFILE
変数の値を/u01/app/oracle/oradata/CDB1/datafile
に更新します - インポートを成功させるには、スクリプト
create_role_grant.sql
を編集し、次のコマンドを追加します:GRANT UNLIMITED TABLESPACE TO "DEV_MDS"; GRANT UNLIMITED TABLESPACE TO "DEV_OPSS"; GRANT UNLIMITED TABLESPACE TO "DEV_STB"; GRANT UNLIMITED TABLESPACE TO "DEV_WLS";
sys
ユーザーとしてターゲット・データベースに接続し、スクリプトcreate_tablespaces.sql
、create_users.sql
およびcreate_role_grant.sql
を実行します:sqlplus sys/password as sysdba ALTER SESSION SET CONTAINER=PDB1_ORCLSOA; show con_name; CON_NAME ------------------------------ PDB1_ORCLSOA @create_tablespaces.sql @create_users.sql @create_role_grant.sql
ノート:
一部のオブジェクトがまだ作成されていないため、create_role_grant.sql
の一部の文は失敗します。成功するためには、後でこのスクリプトを再度実行します。sys
ユーザーとして、ターゲット・データベースに接続し、エクスポート・ディレクトリを作成します:sqlplus "/ as sysdba" ALTER SESSION SET CONTAINER=PDB1_ORCLSOA; CREATE DIRECTORY DUMP_INFRA AS '/u01/db_exp/INFRA_EXPORTS';
- エクスポート・ディレクトリが正常に作成されたかどうかを確認します:
SELECT directory_name, directory_path FROM dba_directories WHERE directory_name='DUMP_INFRA;
READ
およびWRITE
権限をそれぞれのスキーマに付与します:GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_IAU; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_IAU_APPEND; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_IAU_VIEWER; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_MDS; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_OPSS; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_STB; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_WLS; GRANT READ,WRITE ON DIRECTORY DUMP_INFRA TO DEV_WLS_RUNTIME;
DEV_STB
のインポート中にSTBROLE
が存在しないというエラーを回避するには、次のコマンドを入力します:sqlplus sys/password@PDB1 as sysdba BEGIN EXECUTE IMMEDIATE 'CREATE ROLE STBROLE'; END; /
oracle
ユーザーに変更します。INFRA_EXPORTS
ディレクトリで、テキスト・エディタを使用して、すべてのスキーマでデータ・ポンプ・インポート・ユーティリティ(impdp
)を実行するbashスクリプトを作成します。たとえば、import_infra_schema.sh
という名前のスクリプトを次の内容で作成します:impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_IAU directory=DUMP_INFRA dumpfile=DEV_IAU_export.dmp logfile=DEV_IAU_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_IAU_APPEND directory=DUMP_INFRA dumpfile=DEV_IAU_APPEND_export.dmp logfile=DEV_IAU_APPEND_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_IAU_VIEWER directory=DUMP_INFRA dumpfile=DEV_IAU_VIEWER_export.dmp logfile=DEV_IAU_VIEWER_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_MDS directory=DUMP_INFRA dumpfile=DEV_MDS_export.dmp logfile=DEV_MDS_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_OPSS directory=DUMP_INFRA dumpfile=DEV_OPSS_export.dmp logfile=DEV_OPSS_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_STB directory=DUMP_INFRA dumpfile=DEV_STB_export.dmp logfile=DEV_STB_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_WLS directory=DUMP_INFRA dumpfile=DEV_WLS_export.dmp logfile=DEV_WLS_import.log parallel=4 impdp \"sys/password@PDB1 as sysdba\" schemas=DEV_WLS_RUNTIME directory=DUMP_INFRA dumpfile=DEV_WLS_RUNTIME_export.dmp logfile=DEV_WLS_RUNTIME_import.log parallel=4
sys
ユーザーとして、ターゲット環境でスクリプトを実行します:@import_infra_schema.sh quit
- ターゲット・データベースに接続し、スクリプト
create_role_grant.sql
を再度実行すると、エラーなしで成功します:sqlplus sys/password@PDB1 as sysdba @create_role_grant.sql
SCHEMA_VERSION_REGISTRY
をインポートする前に、データベース管理者として次のコマンドを入力して、レジストリ・アクセスを許可するロールを作成します:sqlplus sys/password@PDB1 as sysdba BEGIN EXECUTE IMMEDIATE 'CREATE ROLE REGISTRYACCESS'; END; /
oracle
ユーザーとして、次のコマンドを入力して、データ・ポンプ・インポート・ユーティリティ(impdp
)を実行します:impdp \"sys/password@PDB1 as sysdba\" SCHEMAS=SYSTEM directory=DUMP_INFRA DUMPFILE=SYSTEM_SCHEMA_VERSION_REGISTRY.dmp LOGFILE=SYSTEM_SCHEMA_VERSION_REGISTRY_import2.log parallel=4 TABLE_EXISTS_ACTION=APPEND impdp \"sys/password@PDB1 as sysdba\" SCHEMAS=DEV_IAU,DEV_IAU_APPEND,DEV_IAU_VIEWER,DEV_MDS,DEV_OPSS,DEV_STB,DEV_WLS,DEV_WLS_RUNTIME directory=DUMP_INFRA DUMPFILE=SYSTEM_SCHEMA_VERSION_REGISTRY.dmp LOGFILE=SYSTEM_SCHEMA_VERSION_REGISTRY_import.log parallel=4 TABLE_EXISTS_ACTION=APPEND
ノート:
最初のimpdp
コマンドはDEV2*
スキーマでいくつかのエラーを返しますが、これはPDB1
にDEV2
スキーマが存在しないため、通常のエラーとなります。2番目のimpdp
は、DEV_*
スキーマでいくつかのエラーを返しますが、これは無視することもできます。- 次のコマンドを入力し、
SELECT
文の出力を見て、データが有効であることを確認します:sqlplus sys/password@PDB1 as sysdba @create_select_grant_system.sql CREATE PUBLIC SYNONYM schema_version_registry FOR system.schema_version_registry; set lines 210; set pages 40; COLUMN MRC_NAME FORMAT A10; COLUMN COMP_ID FORMAT A12; COLUMN COMP_NAME FORMAT A35; COLUMN OWNER FORMAT A17; COLUMN VERSION FORMAT A12; COLUMN STATUS FORMAT A8; COLUMN UPGRADED FORMAT A8; COLUMN OBJECT_NAME FORMAT A25; COLUMN TABLE_NAME FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A15; SELECT MRC_NAME, COMP_ID, COMP_NAME, OWNER, VERSION, STATUS, UPGRADED FROM SCHEMA_VERSION_REGISTRY ORDER BY MRC_NAME, COMP_ID; MRC_NAME COMP_ID COMP_NAME OWNER VERSION STATUS UPGRADED ---------- ------------ ----------------------------------- ----------------- ------------ -------- -------- DEV IAU Audit Service DEV_IAU 12.2.1.2.0 VALID N DEV IAU_APPEND Audit Service Append DEV_IAU_APPEND 12.2.1.2.0 VALID N DEV IAU_VIEWER Audit Service Viewer DEV_IAU_VIEWER 12.2.1.2.0 VALID N DEV MDS Metadata Services DEV_MDS 12.2.1.3.0 VALID N DEV OPSS Oracle Platform Security Services DEV_OPSS 12.2.1.0.0 VALID N DEV STB Service Table DEV_STB 12.2.1.3.0 VALID N DEV WLS WebLogic Services DEV_WLS 12.2.1.0.0 VALID N DEV2 IAU Audit Service DEV2_IAU 12.2.1.2.0 VALID N DEV2 IAU_APPEND Audit Service Append DEV2_IAU_APPEND 12.2.1.2.0 VALID N DEV2 IAU_VIEWER Audit Service Viewer DEV2_IAU_VIEWER 12.2.1.2.0 VALID N DEV2 MDS Metadata Services DEV2_MDS 12.2.1.3.0 VALID N DEV2 OPSS Oracle Platform Security Services DEV2_OPSS 12.2.1.0.0 VALID N DEV2 SOAINFRA SOA Infrastructure Services DEV2_SOAINFRA 12.2.1.3.0 VALID N DEV2 STB Service Table DEV2_STB 12.2.1.3.0 VALID N DEV2 UCSUMS User Messaging Service DEV2_UMS 12.2.1.0.0 VALID N DEV2 WLS WebLogic Services DEV2_WLS 12.2.1.0.0 VALID N select rowid, mrc_name, owner from system.schema_version_registry$; ROWID MRC_NAME OWNER ------------------ ---------- ----------------- AAAXDtAABAAAIWxAAA DEV DEV_STB AAAXDtAABAAAIWxAAB DEV DEV_IAU_APPEND AAAXDtAABAAAIWxAAC DEV DEV_IAU_VIEWER AAAXDtAABAAAIWxAAD DEV DEV_MDS AAAXDtAABAAAIWxAAE DEV DEV_WLS AAAXDtAABAAAIWxAAF DEV DEV_IAU AAAXDtAABAAAIWxAAG DEV DEV_OPSS AAAXDtAABAAAIWxAAH DEV2 DEV2_STB AAAXDtAABAAAIWxAAI DEV2 DEV2_IAU_APPEND AAAXDtAABAAAIWxAAJ DEV2 DEV2_IAU_VIEWER AAAXDtAABAAAIWxAAK DEV2 DEV2_MDS AAAXDtAABAAAIWxAAL DEV2 DEV2_WLS AAAXDtAABAAAIWxAAM DEV2 DEV2_UMS AAAXDtAABAAAIWxAAN DEV2 DEV2_IAU AAAXDtAABAAAIWxAAO DEV2 DEV2_OPSS AAAXDtAABAAAIWxAAP DEV2 DEV2_SOAINFRA SELECT OWNER, TABLE_NAME, TABLESPACE_NAME, STATUS from all_tables where table_name = 'SCHEMA_VERSION_REGISTRY$' and owner in ('SYSTEM', 'FMWREGISTRY'); OWNER TABLE_NAME TABLESPACE_NAME STATUS ----------------- ------------------------- --------------- -------- SYSTEM SCHEMA_VERSION_REGISTRY$ SYSTEM VALID select owner, object_name, object_type from all_objects where object_name like '%SCHEMA_VERSION_REGISTRY%'; OWNER OBJECT_NAME OBJECT_TYPE ----------------- ------------------------- ----------------------- PUBLIC SCHEMA_VERSION_REGISTRY SYNONYM SYSTEM SCHEMA_VERSION_REGISTRY$ TABLE SYSTEM SCHEMA_VERSION_REGISTRY VIEW
DEV
に属していない行を削除し、SELECT
文の出力を見て、データが有効であることを確認します:sqlplus sys/password@PDB1 as sysdba DELETE FROM SCHEMA_VERSION_REGISTRY WHERE MRC_NAME != 'DEV'; set lines 210; set pages 40; COLUMN MRC_NAME FORMAT A10; COLUMN COMP_ID FORMAT A12; COLUMN COMP_NAME FORMAT A35; COLUMN OWNER FORMAT A17; COLUMN VERSION FORMAT A12; COLUMN STATUS FORMAT A8; COLUMN UPGRADED FORMAT A8; COLUMN OBJECT_NAME FORMAT A25; COLUMN TABLE_NAME FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A15; SELECT MRC_NAME, COMP_ID, COMP_NAME, OWNER, VERSION, STATUS, UPGRADED FROM SCHEMA_VERSION_REGISTRY ORDER BY MRC_NAME, COMP_ID; MRC_NAME COMP_ID COMP_NAME OWNER VERSION STATUS UPGRADED ---------- ------------ ----------------------------------- ----------------- ------------ -------- -------- DEV IAU Audit Service DEV_IAU 12.2.1.2.0 VALID N DEV IAU_APPEND Audit Service Append DEV_IAU_APPEND 12.2.1.2.0 VALID N DEV IAU_VIEWER Audit Service Viewer DEV_IAU_VIEWER 12.2.1.2.0 VALID N DEV MDS Metadata Services DEV_MDS 12.2.1.3.0 VALID N DEV OPSS Oracle Platform Security Services DEV_OPSS 12.2.1.0.0 VALID N DEV STB Service Table DEV_STB 12.2.1.3.0 VALID N DEV WLS WebLogic Services DEV_WLS 12.2.1.0.0 VALID N select rowid, mrc_name, owner from system.schema_version_registry$; ROWID MRC_NAME OWNER ------------------ ---------- ----------------- AAAXDtAABAAAIWxAAA DEV DEV_STB AAAXDtAABAAAIWxAAB DEV DEV_IAU_APPEND AAAXDtAABAAAIWxAAC DEV DEV_IAU_VIEWER AAAXDtAABAAAIWxAAD DEV DEV_MDS AAAXDtAABAAAIWxAAE DEV DEV_WLS AAAXDtAABAAAIWxAAF DEV DEV_IAU AAAXDtAABAAAIWxAAG DEV DEV_OPSS
- ステータスが
INVALID
のスキーマ・オブジェクトを特定して再コンパイルし、SELECT
文の出力を確認します:sqlplus sys/password@PDB1 as sysdba set wrap off; column owner format a20; column object_type format a13; column object_name format a10; SELECT owner, object_type, object_name FROM dba_objects WHERE status = 'INVALID' AND owner in ('DEV_IAU','DEV_IAU_APPEND','DEV_IAU_VIEWER','DEV_MDS','DEV_OPSS','DEV_STB', 'DEV_WLS', 'DEV_WLS_RUNTIME') ORDER BY owner, object_type, object_name; OWNER OBJECT_TYPE OBJECT_NAM -------------------- ------------- ---------- DEV_IAU SYNONYM OHS DEV_IAU SYNONYM OID DEV_IAU SYNONYM OVD DEV_IAU SYNONYM REPORTSSER DEV_IAU SYNONYM WEBCACHE BEGIN UTL_RECOMP.recomp_serial('DEV_IAU'); END; / PL/SQL procedure successfully completed. SELECT owner, object_type, object_name FROM dba_objects WHERE status = 'INVALID' AND owner in ('DEV_IAU','DEV_IAU_APPEND','DEV_IAU_VIEWER','DEV_MDS','DEV_OPSS','DEV_STB', 'DEV_WLS', 'DEV_WLS_RUNTIME') ORDER BY owner, object_type, object_name; no rows selected
SOAスキーマのインポート
SOAスキーマをターゲットCDBにインポートするには:
- ターゲット環境にサインインします。たとえば、
new-target-db12c.example.com
です。 oracle
ユーザーに変更します:sudo su - oracle
- ソース環境(この例では
soa-host01.example.com
)が/etc/hosts
ファイルにあることを確認します。 - 作成したすべてのスクリプトおよびダンプ・ファイルを、ソース環境(この例では
soa-host01.example.com
)からターゲット環境(この例ではnew-target-db12c.example.com:/u01/db_exp/SOA_EXPORTS
)にコピーします:mkdir -p /u01/db_exp/SOA_EXPORTS cd /u01/db_exp/SOA_EXPORTS scp -r oracle@soa-host01.example.com:/u01/db_exp/SOA_EXPORTS/* .
ORACLE_HOME
、ORACLE
およびPATH
環境変数を設定します。たとえば:export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1 export ORACLE_SID=CDB1 export PATH=$PATH:$ORACLE_HOME/bin
sys
ユーザーまたはsysdba
権限を持つ任意のユーザーに変更し、ターゲット・データベースに接続してから、次のコマンドを使用して既存のデータ・ファイルの場所を確認します:sqlplus sys/password as sysdba set long 10000; set lines 200; set pages 400; set longchunksize 10000; set wrap off; COLUMN FILE_NAME FORMAT A90; COLUMN name FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A20; SELECT name, pdb FROM v$services ORDER BY name; NAME PDB ------------------------- ------------------------------ CDB1.example.com CDB$ROOT SYS$BACKGROUND CDB$ROOT SYS$USERS CDB$ROOT pdb1_orclsoa.example.com PDB1_ORCLSOA pdb2_orclsoa.example.com PDB2_ORCLSOA ALTER SESSION SET CONTAINER=PDB2_ORCLSOA; SELECT TABLESPACE_NAME, FILE_NAME FROM dba_data_files; TABLESPACE_NAME FILE_NAME ----------------- ------------------------------------------------------------------------------- SYSTEM /u01/app/oracle/oradata/CDB1/datafile/pdb2_orclsoa/pdb2_orclsoa_o1_mf_system_hkj0jm6k_.dbf SYSAUX /u01/app/oracle/oradata/CDB1/datafile/pdb2_orclsoa/pdb2_orclsoa_o1_mf_sysaux_hkj0jm47_.dbf USERS /u01/app/oracle/oradata/CDB1/datafile/pdb2_orclsoa/pdb2_orclsoa_users01.dbf
この例では、
PDB2_ORCLSOA
のデータの場所は/u01/app/oracle/oradata/CDB1/datafile/pdb2_orclsoa
です。- スクリプト
create_tablespaces.sql
を編集し、DATAFILE
変数の値を/u01/app/oracle/oradata/CDB1/datafile/pdb2_orclsoa
に更新します - インポートを成功させるには、スクリプト
create_role_grant.sql
を編集し、次のコマンドを追加します:GRANT UNLIMITED TABLESPACE TO "DEV2_MDS"; GRANT UNLIMITED TABLESPACE TO "DEV2_OPSS"; GRANT UNLIMITED TABLESPACE TO "DEV2_SOAINFRA"; GRANT UNLIMITED TABLESPACE TO "DEV2_STB"; GRANT UNLIMITED TABLESPACE TO "DEV2_UMS"; GRANT UNLIMITED TABLESPACE TO "DEV2_WLS";
sys
ユーザーとしてターゲット・データベースに接続し、スクリプトcreate_tablespaces.sql
、create_users.sql
およびcreate_role_grant.sql
を実行します:sqlplus sys/password as sysdba ALTER SESSION SET CONTAINER=PDB2_ORCLSOA; show con_name; CON_NAME ------------------------------ PDB2_ORCLSOA @create_tablespaces.sql @create_users.sql @create_role_grant.sql
ノート:
一部のオブジェクトがまだ作成されていないため、create_role_grant.sql
の一部の文は失敗します。成功するためには、後でこのスクリプトを再度実行します。sys
ユーザーとして、ターゲット・データベースに接続し、エクスポート・ディレクトリを作成します:sqlplus "/ as sysdba" ALTER SESSION SET CONTAINER=PDB2_ORCLSOA; CREATE DIRECTORY DUMP_SOA AS '/u01/db_exp/SOA_EXPORTS';
- エクスポート・ディレクトリが正常に作成されたかどうかを確認します:
SELECT directory_name, directory_path FROM dba_directories WHERE directory_name='DUMP_SOA';
READ
およびWRITE
権限をそれぞれのスキーマに付与します:GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_IAU; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_IAU_APPEND; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_IAU_VIEWER; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_MDS; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_OPSS; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_SOAINFRA; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_STB; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_UMS; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_WLS; GRANT READ,WRITE ON DIRECTORY DUMP_SOA TO DEV2_WLS_RUNTIME;
DEV_STB
のインポート中にSTBROLE
が存在しないというエラーを回避するには、次のコマンドを入力します:sqlplus sys/password@PDB2 as sysdba BEGIN EXECUTE IMMEDIATE 'CREATE ROLE STBROLE'; END; /
oracle
ユーザーに変更します。SOA_EXPORTS
ディレクトリで、テキスト・エディタを使用して、すべてのスキーマでデータ・ポンプ・インポート・ユーティリティ(impdp
)を実行するbashスクリプトを作成します。たとえば、import_soa_schema.sh
という名前のスクリプトを次の内容で作成します:impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_IAU directory=DUMP_SOA dumpfile=DEV2_IAU_export.dmp logfile=DEV2_IAU_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_IAU_APPEND directory=DUMP_SOA dumpfile=DEV2_IAU_APPEND_export.dmp logfile=DEV2_IAU_APPEND_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_IAU_VIEWER directory=DUMP_SOA dumpfile=DEV2_IAU_VIEWER_export.dmp logfile=DEV2_IAU_VIEWER_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_MDS directory=DUMP_SOA dumpfile=DEV2_MDS_export.dmp logfile=DEV2_MDS_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_OPSS directory=DUMP_SOA dumpfile=DEV2_OPSS_export.dmp logfile=DEV2_OPSS_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_SOAINFRA directory=DUMP_SOA dumpfile=DEV2_SOAINFRA_export.dmp logfile=DEV2_SOAINFRA_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_STB directory=DUMP_SOA dumpfile=DEV2_STB_export.dmp logfile=DEV2_STB_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_UMS directory=DUMP_SOA dumpfile=DEV2_UMS_export.dmp logfile=DEV2_UMS_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_WLS directory=DUMP_SOA dumpfile=DEV2_WLS_export.dmp logfile=DEV2_WLS_import.log parallel=4 impdp \"sys/password@PDB2 as sysdba\" schemas=DEV2_WLS_RUNTIME directory=DUMP_SOA dumpfile=DEV2_WLS_RUNTIME_export.dmp logfile=DEV2_WLS_RUNTIME_import.log parallel=4
sys
ユーザーとして、ターゲット環境でスクリプトを実行します:@import_soa_schema.sh quit
- ターゲット・データベースに接続し、スクリプト
create_role_grant.sql
を再度実行すると、エラーなしで成功します:sqlplus sys/password@PDB1 as sysdba @create_role_grant.sql
SCHEMA_VERSION_REGISTRY
をインポートする前に、データベース管理者として次のコマンドを入力して、レジストリ・アクセスを許可するロールを作成します:sqlplus sys/password@PDB2 as sysdba BEGIN EXECUTE IMMEDIATE 'CREATE ROLE REGISTRYACCESS'; END; /
oracle
ユーザーとして、次のコマンドを入力して、データ・ポンプ・インポート・ユーティリティ(impdp
)を実行します:impdp \"sys/password@PDB2 as sysdba\" SCHEMAS=SYSTEM directory=DUMP_SOA DUMPFILE=SYSTEM_SCHEMA_VERSION_REGISTRY.dmp LOGFILE=SYSTEM_SCHEMA_VERSION_REGISTRY_import.log parallel=4 TABLE_EXISTS_ACTION=APPEND impdp \"sys/password@PDB2 as sysdba\" SCHEMAS=DEV2_IAU,DEV2_IAU_APPEND,DEV2_IAU_VIEWER,DEV2_MDS,DEV2_OPSS,DEV2_SOAINFRA,DEV2_STB,DEV2_UMS,DEV2_WLS,DEV2_WLS_RUNTIME directory=DUMP_SOA DUMPFILE=SYSTEM_SCHEMA_VERSION_REGISTRY.dmp LOGFILE=SYSTEM_SCHEMA_VERSION_REGISTRY_import2.log parallel=4 TABLE_EXISTS_ACTION=APPEND
ノート:
最初のimpdp
コマンドはDEV_*
スキーマでいくつかのエラーを返しますが、これはPDB2
にDEV
スキーマが存在しないため、通常のエラーとなります。2番目のimpdp
は、DEV2_*
スキーマでいくつかのエラーを返しますが、これは無視することもできます。- 次のコマンドを入力し、
SELECT
文の出力を見て、データが有効であることを確認します:sqlplus sys/password@PDB2 as sysdba @create_select_grant_system.sql CREATE PUBLIC SYNONYM schema_version_registry FOR system.schema_version_registry; set lines 210; set pages 40; COLUMN MRC_NAME FORMAT A10; COLUMN COMP_ID FORMAT A12; COLUMN COMP_NAME FORMAT A35; COLUMN OWNER FORMAT A17; COLUMN VERSION FORMAT A12; COLUMN STATUS FORMAT A8; COLUMN UPGRADED FORMAT A8; COLUMN OBJECT_NAME FORMAT A25; COLUMN TABLE_NAME FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A15; SELECT MRC_NAME, COMP_ID, COMP_NAME, OWNER, VERSION, STATUS, UPGRADED FROM SCHEMA_VERSION_REGISTRY ORDER BY MRC_NAME, COMP_ID; MRC_NAME COMP_ID COMP_NAME OWNER VERSION STATUS UPGRADED ---------- ------------ ----------------------------------- ----------------- ------------ -------- -------- DEV IAU Audit Service DEV_IAU 12.2.1.2.0 VALID N DEV IAU_APPEND Audit Service Append DEV_IAU_APPEND 12.2.1.2.0 VALID N DEV IAU_VIEWER Audit Service Viewer DEV_IAU_VIEWER 12.2.1.2.0 VALID N DEV MDS Metadata Services DEV_MDS 12.2.1.3.0 VALID N DEV OPSS Oracle Platform Security Services DEV_OPSS 12.2.1.0.0 VALID N DEV STB Service Table DEV_STB 12.2.1.3.0 VALID N DEV WLS WebLogic Services DEV_WLS 12.2.1.0.0 VALID N DEV2 IAU Audit Service DEV2_IAU 12.2.1.2.0 VALID N DEV2 IAU_APPEND Audit Service Append DEV2_IAU_APPEND 12.2.1.2.0 VALID N DEV2 IAU_VIEWER Audit Service Viewer DEV2_IAU_VIEWER 12.2.1.2.0 VALID N DEV2 MDS Metadata Services DEV2_MDS 12.2.1.3.0 VALID N DEV2 OPSS Oracle Platform Security Services DEV2_OPSS 12.2.1.0.0 VALID N DEV2 SOAINFRA SOA Infrastructure Services DEV2_SOAINFRA 12.2.1.3.0 VALID N DEV2 STB Service Table DEV2_STB 12.2.1.3.0 VALID N DEV2 UCSUMS User Messaging Service DEV2_UMS 12.2.1.0.0 VALID N DEV2 WLS WebLogic Services DEV2_WLS 12.2.1.0.0 VALID N select rowid, mrc_name, owner from system.schema_version_registry$; ROWID MRC_NAME OWNER ------------------ ---------- ----------------- AAAXl0AABAAAIIBAAA DEV DEV_STB AAAXl0AABAAAIIBAAB DEV DEV_IAU_APPEND AAAXl0AABAAAIIBAAC DEV DEV_IAU_VIEWER AAAXl0AABAAAIIBAAD DEV DEV_MDS AAAXl0AABAAAIIBAAE DEV DEV_WLS AAAXl0AABAAAIIBAAF DEV DEV_IAU AAAXl0AABAAAIIBAAG DEV DEV_OPSS AAAXl0AABAAAIIBAAH DEV2 DEV2_STB AAAXl0AABAAAIIBAAI DEV2 DEV2_IAU_APPEND AAAXl0AABAAAIIBAAJ DEV2 DEV2_IAU_VIEWER AAAXl0AABAAAIIBAAK DEV2 DEV2_MDS AAAXl0AABAAAIIBAAL DEV2 DEV2_WLS AAAXl0AABAAAIIBAAM DEV2 DEV2_UMS AAAXl0AABAAAIIBAAN DEV2 DEV2_IAU AAAXl0AABAAAIIBAAO DEV2 DEV2_OPSS AAAXl0AABAAAIIBAAP DEV2 DEV2_SOAINFRA SELECT OWNER, TABLE_NAME, TABLESPACE_NAME, STATUS from all_tables where table_name = 'SCHEMA_VERSION_REGISTRY$' and owner in ('SYSTEM', 'FMWREGISTRY'); OWNER TABLE_NAME TABLESPACE_NAME STATUS ----------------- ------------------------- --------------- -------- SYSTEM SCHEMA_VERSION_REGISTRY$ SYSTEM VALID select owner, object_name, object_type from all_objects where object_name like '%SCHEMA_VERSION_REGISTRY%'; OWNER OBJECT_NAME OBJECT_TYPE ----------------- ------------------------- ----------------------- PUBLIC SCHEMA_VERSION_REGISTRY SYNONYM SYSTEM SCHEMA_VERSION_REGISTRY$ TABLE SYSTEM SCHEMA_VERSION_REGISTRY VIEW
DEV2
に属していない行を削除し、SELECT
文の出力を見て、データが有効であることを確認します:sqlplus sys/password@PDB2 as sysdba DELETE FROM SCHEMA_VERSION_REGISTRY WHERE MRC_NAME != 'DEV2'; set lines 210; set pages 40; COLUMN MRC_NAME FORMAT A10; COLUMN COMP_ID FORMAT A12; COLUMN COMP_NAME FORMAT A35; COLUMN OWNER FORMAT A17; COLUMN VERSION FORMAT A12; COLUMN STATUS FORMAT A8; COLUMN UPGRADED FORMAT A8; COLUMN OBJECT_NAME FORMAT A25; COLUMN TABLE_NAME FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A15; SELECT MRC_NAME, COMP_ID, COMP_NAME, OWNER, VERSION, STATUS, UPGRADED FROM SCHEMA_VERSION_REGISTRY ORDER BY MRC_NAME, COMP_ID; MRC_NAME COMP_ID COMP_NAME OWNER VERSION STATUS UPGRADED ---------- ------------ ----------------------------------- ----------------- ------------ -------- -------- DEV2 IAU Audit Service DEV2_IAU 12.2.1.2.0 VALID N DEV2 IAU_APPEND Audit Service Append DEV2_IAU_APPEND 12.2.1.2.0 VALID N DEV2 IAU_VIEWER Audit Service Viewer DEV2_IAU_VIEWER 12.2.1.2.0 VALID N DEV2 MDS Metadata Services DEV2_MDS 12.2.1.3.0 VALID N DEV2 OPSS Oracle Platform Security Services DEV2_OPSS 12.2.1.0.0 VALID N DEV2 SOAINFRA SOA Infrastructure Services DEV2_SOAINFRA 12.2.1.3.0 VALID N DEV2 STB Service Table DEV2_STB 12.2.1.3.0 VALID N DEV2 UCSUMS User Messaging Service DEV2_UMS 12.2.1.0.0 VALID N DEV2 WLS WebLogic Services DEV2_WLS 12.2.1.0.0 VALID N select rowid, mrc_name, owner from system.schema_version_registry$; ROWID MRC_NAME OWNER ------------------ ---------- ----------------- AAAXl0AABAAAIIBAAH DEV2 DEV2_STB AAAXl0AABAAAIIBAAI DEV2 DEV2_IAU_APPEND set lines 210; set pages 40; COLUMN MRC_NAME FORMAT A10; COLUMN COMP_ID FORMAT A12; COLUMN COMP_NAME FORMAT A35; COLUMN OWNER FORMAT A17; COLUMN VERSION FORMAT A12; COLUMN STATUS FORMAT A8; COLUMN UPGRADED FORMAT A8; COLUMN OBJECT_NAME FORMAT A25; COLUMN TABLE_NAME FORMAT A25; COLUMN TABLESPACE_NAME FORMAT A15; SELECT MRC_NAME, COMP_ID, COMP_NAME, OWNER, VERSION, STATUS, UPGRADED FROM SCHEMA_VERSION_REGISTRY ORDER BY MRC_NAME, COMP_ID; MRC_NAME COMP_ID COMP_NAME OWNER VERSION STATUS UPGRADED ---------- ------------ ----------------------------------- ----------------- ------------ -------- -------- DEV2 IAU Audit Service DEV2_IAU 12.2.1.2.0 VALID N DEV2 IAU_APPEND Audit Service Append DEV2_IAU_APPEND 12.2.1.2.0 VALID N DEV2 IAU_VIEWER Audit Service Viewer DEV2_IAU_VIEWER 12.2.1.2.0 VALID N DEV2 MDS Metadata Services DEV2_MDS 12.2.1.3.0 VALID N DEV2 OPSS Oracle Platform Security Services DEV2_OPSS 12.2.1.0.0 VALID N DEV2 SOAINFRA SOA Infrastructure Services DEV2_SOAINFRA 12.2.1.3.0 VALID N DEV2 STB Service Table DEV2_STB 12.2.1.3.0 VALID N DEV2 UCSUMS User Messaging Service DEV2_UMS 12.2.1.0.0 VALID N DEV2 WLS WebLogic Services DEV2_WLS 12.2.1.0.0 VALID N select rowid, mrc_name, owner from system.schema_version_registry$; ROWID MRC_NAME OWNER ------------------ ---------- ----------------- AAAXl0AABAAAIIBAAH DEV2 DEV2_STB AAAXl0AABAAAIIBAAI DEV2 DEV2_IAU_APPEND AAAXl0AABAAAIIBAAJ DEV2 DEV2_IAU_VIEWER AAAXl0AABAAAIIBAAK DEV2 DEV2_MDS AAAXl0AABAAAIIBAAL DEV2 DEV2_WLS AAAXl0AABAAAIIBAAM DEV2 DEV2_UMS AAAXl0AABAAAIIBAAN DEV2 DEV2_IAU AAAXl0AABAAAIIBAAO DEV2 DEV2_OPSS AAAXl0AABAAAIIBAAP DEV2 DEV2_SOAINFRA AAAXl0AABAAAIIBAAJ DEV2 DEV2_IAU_VIEWER AAAXl0AABAAAIIBAAK DEV2 DEV2_MDS AAAXl0AABAAAIIBAAL DEV2 DEV2_WLS AAAXl0AABAAAIIBAAM DEV2 DEV2_UMS AAAXl0AABAAAIIBAAN DEV2 DEV2_IAU AAAXl0AABAAAIIBAAO DEV2 DEV2_OPSS AAAXl0AABAAAIIBAAP DEV2 DEV2_SOAINFRA
- ステータスが
INVALID
のスキーマ・オブジェクトを特定して再コンパイルし、SELECT
文の出力を確認します。ノート:
この例では、DEV2_SOAINFRA
の6行は、ソース・データベースですでにINVALID
になっています。sqlplus sys/password@PDB2 as sysdba set wrap off; column owner format a20; column object_type format a13; column object_name format a20; SELECT owner, object_type, object_name FROM dba_objects WHERE status = 'INVALID' AND owner in ('DEV2_IAU','DEV2_IAU_APPEND','DEV2_IAU_VIEWER','DEV2_MDS','DEV2_OPSS', 'DEV2_SOAINFRA','DEV2_STB','DEV2_UMS','DEV2_WLS','DEV2_WLS_RUNTIME') ORDER BY owner, object_type, object_name; OWNER OBJECT_TYPE OBJECT_NAM -------------------- ------------- ---------- DEV2_IAU SYNONYM OHS DEV2_IAU SYNONYM OID DEV2_IAU SYNONYM OVD DEV2_IAU SYNONYM REPORTSSER DEV2_IAU SYNONYM WEBCACHE DEV2_SOAINFRA PACKAGE BODY TRS_BPEL DEV2_SOAINFRA PACKAGE BODY TRS_DEC DEV2_SOAINFRA PACKAGE BODY TRS_FAB DEV2_SOAINFRA PACKAGE BODY TRS_HWF DEV2_SOAINFRA PACKAGE BODY TRS_MED DEV2_SOAINFRA PACKAGE BODY TRS_SOA BEGIN UTL_RECOMP.recomp_serial('DEV2_IAU'); END; / PL/SQL procedure successfully completed. BEGIN UTL_RECOMP.recomp_serial('DEV2_SOAINFRA'); END; / PL/SQL procedure successfully completed. SELECT owner, object_type, object_name FROM dba_objects WHERE status = 'INVALID' AND owner in ('DEV2_IAU','DEV2_IAU_APPEND','DEV2_IAU_VIEWER','DEV2_MDS','DEV2_OPSS', 'DEV2_SOAINFRA','DEV2_STB','DEV2_UMS','DEV2_WLS','DEV2_WLS_RUNTIME') ORDER BY owner, object_type, object_name; OWNER OBJECT_TYPE OBJECT_NAME -------------------- ------------- -------------------- DEV2_SOAINFRA PACKAGE BODY TRS_BPEL DEV2_SOAINFRA PACKAGE BODY TRS_DEC DEV2_SOAINFRA PACKAGE BODY TRS_FAB DEV2_SOAINFRA PACKAGE BODY TRS_HWF DEV2_SOAINFRA PACKAGE BODY TRS_MED DEV2_SOAINFRA PACKAGE BODY TRS_SOA
- SOAキューを起動し、
SELECT
文の出力を確認します:sqlplus DEV2_SOAINFRA/password@PDB2 set lines 200; set pages 400; COLUMN name format A25; COLUMN enqueue_enabled format A15; COLUMN dequeue_enabled format A15; SELECT name,enqueue_enabled,dequeue_enabled FROM USER_QUEUES where queue_type = 'NORMAL_QUEUE'; NAME ENQUEUE_ENABLED DEQUEUE_ENABLED ------------------------- --------------- --------------- B2B_BAM_QUEUE NO NO OSB_REPORTING_PURGE NO NO OSB_REPORTING_ERROR NO NO OSB_REPORTING_PROVIDER NO NO OSB_FILE_TRANSPORT NO NO OSB_EMAIL_TRANSPORT NO NO OSB_SFTP_TRANSPORT NO NO OSB_FTP_TRANSPORT NO NO TASK_NOTIFICATION_Q NO NO EDN_AQJMS_TOPIC NO NO EDN_OAOO_QUEUE NO NO EDN_EVENT_QUEUE NO NO IP_IN_QUEUE NO NO IP_OUT_QUEUE NO NO AIA_CAVSCALLBACKJMSQ NO NO BEGIN DBMS_AQADM.START_QUEUE ('AIA_CAVSCALLBACKJMSQ'); DBMS_AQADM.START_QUEUE ('B2B_BAM_QUEUE'); DBMS_AQADM.START_QUEUE ('EDN_AQJMS_TOPIC'); DBMS_AQADM.START_QUEUE ('EDN_EVENT_QUEUE'); DBMS_AQADM.START_QUEUE ('EDN_OAOO_QUEUE'); DBMS_AQADM.START_QUEUE ('IP_IN_QUEUE'); DBMS_AQADM.START_QUEUE ('IP_OUT_QUEUE'); DBMS_AQADM.START_QUEUE ('OSB_EMAIL_TRANSPORT'); DBMS_AQADM.START_QUEUE ('OSB_FILE_TRANSPORT'); DBMS_AQADM.START_QUEUE ('OSB_FTP_TRANSPORT'); DBMS_AQADM.START_QUEUE ('OSB_REPORTING_ERROR'); DBMS_AQADM.START_QUEUE ('OSB_REPORTING_PROVIDER'); DBMS_AQADM.START_QUEUE ('OSB_REPORTING_PURGE'); DBMS_AQADM.START_QUEUE ('OSB_SFTP_TRANSPORT'); DBMS_AQADM.START_QUEUE ('TASK_NOTIFICATION_Q'); END; / SELECT name,enqueue_enabled,dequeue_enabled FROM USER_QUEUES where queue_type = 'NORMAL_QUEUE' order by name asc; NAME ENQUEUE_ENABLED DEQUEUE_ENABLED ------------------------- --------------- --------------- AIA_CAVSCALLBACKJMSQ YES YES B2B_BAM_QUEUE YES YES EDN_AQJMS_TOPIC YES YES EDN_EVENT_QUEUE YES YES EDN_OAOO_QUEUE YES YES IP_IN_QUEUE YES YES IP_OUT_QUEUE YES YES OSB_EMAIL_TRANSPORT YES YES OSB_FILE_TRANSPORT YES YES OSB_FTP_TRANSPORT YES YES OSB_REPORTING_ERROR YES YES OSB_REPORTING_PROVIDER YES YES OSB_REPORTING_PURGE YES YES OSB_SFTP_TRANSPORT YES YES TASK_NOTIFICATION_Q YES YES