ソース・データベースからのエクスポート
ソースの非コンテナ・データベース(非CDB)からエクスポートするには、次のステップを実行します:
INFRAスキーマのエクスポート
ソース・データベースからINFRAスキーマをエクスポートするには:
- ソース環境にサインインします。たとえば、
soa-host01.example.comです。 oracleユーザーに変更します:sudo su - oracle- エクスポートされたファイルを格納するディレクトリを作成します。たとえば:
mkdir -p /u01/db_exp/INFRA_EXPORTS cd /u01/db_exp/INFRA_EXPORTS ORACLE_HOME、ORACLEおよびPATH環境変数を設定します。たとえば:export ORACLE_HOME=/opt/oracle/product/12.1.0.2/db_1 export ORACLE_SID=orclsoa export PATH=$PATH:$ORACLE_HOME/binsysユーザーまたはsysdba権限を持つ任意のユーザーに変更し、ソース・データベースに接続します:sqlplus "/ as sysdba"- エクスポート・ディレクトリを作成します。たとえば:
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;- 前述の
INFRAユーザーからの接続がデータベースにないことを確認します:SELECT username FROM v$session WHERE username IS NOT NULL ORDER BY username ASC; quit oracleユーザーに変更します。INFRA_EXPORTSディレクトリで、テキスト・エディタを使用して、すべてのスキーマでデータ・ポンプ・エクスポート・ユーティリティ(expdp)を実行するbashスクリプトを作成します。たとえば、export_infra_schema.shという名前のスクリプトを次の内容で作成します:expdp DEV_IAU/password schemas=DEV_IAU directory=DUMP_INFRA dumpfile=DEV_IAU_export.dmp logfile=DEV_IAU_export.log PARALLEL=4 expdp DEV_IAU_APPEND/password schemas=DEV_IAU_APPEND directory=DUMP_INFRA dumpfile=DEV_IAU_APPEND_export.dmp logfile=DEV_IAU_APPEND_export.log PARALLEL=4 expdp DEV_IAU_VIEWER/password schemas=DEV_IAU_VIEWER directory=DUMP_INFRA dumpfile=DEV_IAU_VIEWER_export.dmp logfile=DEV_IAU_VIEWER_export.log PARALLEL=4 expdp DEV_MDS/password schemas=DEV_MDS directory=DUMP_INFRA dumpfile=DEV_MDS_export.dmp logfile=DEV_MDS_export.log PARALLEL=4 expdp DEV_OPSS/password schemas=DEV_OPSS directory=DUMP_INFRA dumpfile=DEV_OPSS_export.dmp logfile=DEV_OPSS_export.log PARALLEL=4 expdp DEV_STB/password schemas=DEV_STB directory=DUMP_INFRA dumpfile=DEV_STB_export.dmp logfile=DEV_STB_export.log PARALLEL=4 expdp DEV_WLS/password schemas=DEV_WLS directory=DUMP_INFRA dumpfile=DEV_WLS_export.dmp logfile=DEV_WLS_export.log PARALLEL=4 expdp DEV_WLS_RUNTIME/password schemas=DEV_WLS_RUNTIME directory=DUMP_INFRA dumpfile=DEV_WLS_RUNTIME_export.dmp logfile=DEV_WLS_RUNTIME_export.log PARALLEL=4sysユーザーとして、ソース環境でスクリプトを実行します:@export_infra_schema.sh quitSCHEMA_VERSION_REGISTRYビューとその基礎となる表をSYSTEMスキーマからエクスポートします:expdp \"/ as sysdba\" SCHEMAS=system INCLUDE=VIEW:"IN('SCHEMA_VERSION_REGISTRY')" TABLE:"IN('SCHEMA_VERSION_REGISTRY$')" directory=DUMP_INFRA dumpfile=SYSTEM_SCHEMA_VERSION_REGISTRY.dmp logfile=SYSTEM_SCHEMA_VERSION_REGISTRY.logノート:
エラーが発生した場合は、このコマンドを実行するBashシェルを使用していることを確認してくださいINFRA_EXPORTSディレクトリで、テキスト・エディタを使用して、ユーザーをエクスポートするスクリプトを作成します。たとえば、export_users.sqlという名前のスクリプトを次の内容で作成します:set long 10000; set lines 200; set pages 400; set longchunksize 10000; spool create_users.sql SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_IAU') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_MDS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_OPSS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_STB') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_WLS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV_WLS_RUNTIME') FROM dual; spool offsysユーザーとして、ソース環境でスクリプトを実行します:sqlplus sys/password as sysdba @export_users.sql quit- 出力ファイル(この例では
create_users.sql)を編集し、CREATE USER文を含む行のみが含まれていることを確認してから、CREATE文の最後にセミコロンを追加します。たとえば:CREATE USER "DEV_IAU" IDENTIFIED BY VALUES 'S:7C9B0ECE4641D7409A0CBF67505591DD4E437FDDF7524FDBE61051FC3663;H:4A0E99B6CA492BF37AA2177A0D0043F3;T:093C0D3F6BA909A2B2A9077F4AC1B92B6CF59A5C6C6404B7E07CDAA652947C0593FB2EB3D7AC886D9F3164A5F98D25004E6C7A1F7277E2491F1AB7AC26AF4FEAA58561E489AB3CD17BACE090E17A2A52;38D2C7CEB79AC568' DEFAULT TABLESPACE "DEV_IAU" TEMPORARY TABLESPACE "DEV_IAS_TEMP"; - 次のコマンドを入力して、INFRAスキーマの表領域を特定します:
set long 10000; set lines 200; set pages 400; set longchunksize 10000; select DISTINCT tablespace_name,owner from dba_segments WHERE OWNER like 'DEV\_%' ESCAPE '\';コマンド出力は次のようになります:

- 次のコマンドを入力して、INFRAスキーマの一時表領域を特定します:
select DISTINCT temporary_tablespace from dba_users WHERE username like 'DEV\_%' ESCAPE '\';コマンド出力は次のようになります:

INFRA_EXPORTSディレクトリで、テキスト・エディタを使用して、前のステップで特定された表領域をエクスポートするスクリプトを作成します。たとえば、export_tablespaces.sqlという名前のスクリプトを次の内容で作成します:set long 10000; set lines 200; set pages 400; set longchunksize 10000; spool create_tablespaces.sql SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV_IAU') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV_STB') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV_MDS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV_IAS_OPSS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV_WLS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV_IAS_TEMP') FROM DUAL; spool offsysユーザーとして、ソース環境でスクリプトを実行します:sqlplus sys/password as sysdba @export_tablespaces.sql quit- 出力ファイル(この例では
create_tablespaces.sql)を編集し、CREATE TABLESPACE文を含む行のみが含まれていることを確認してから、CREATE文の最後にセミコロンを追加します。たとえば:CREATE USER "DEV_IAU" IDENTIFIED BY VALUES CREATE TABLESPACE "DEV_IAU" DATAFILE '/u01/app/oracle/oradata/CDB1/datafile/DEV_iau.dbf' SIZE 62914560 AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO; INFRA_EXPORTSディレクトリで、テキスト・エディタを使用して、ロールおよび権限付与をエクスポートするスクリプトを作成します。たとえば、export_role_grant.sqlという名前のスクリプトを次の内容で作成します:set long 6000; set longchunksize 6000; set linesize 120; spool create_role_grant.sql BEGIN DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'SQLTERMINATOR', true); DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'PRETTY', true); END; / SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_IAU') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_IAU') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_IAU') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_MDS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_MDS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_MDS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_OPSS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_OPSS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_OPSS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_STB') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_STB') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_STB') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_WLS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_WLS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_WLS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV_WLS_RUNTIME') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV_WLS_RUNTIME') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV_WLS_RUNTIME') FROM dual; spool offsysユーザーとして、ソース環境でスクリプトを実行します:sqlplus sys/password as sysdba @export_role_grant.sql quit- 出力ファイル(この例では
create_role_grant.sql)を編集し、GRANT文を含む行のみが含まれていることを確認します。たとえば:GRANT "CONNECT" TO "DEV_IAU"; GRANT "RESOURCE" TO "DEV_IAU"; GRANT "SELECT_CATALOG_ROLE" TO "DEV_IAU"; ... INFRA_EXPORTSディレクトリで、テキスト・エディタを使用して、SCHEMA_VERSION_REGISTRY表に対するSELECT権限をすべてのユーザーに付与するスクリプトを作成します。たとえば、create_select_grant_system.sqlという名前のスクリプトを次の内容で作成します:GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_IAU"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_IAU_APPEND"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_IAU_VIEWER"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_MDS"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_OPSS"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_STB"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV_WLS";このスクリプトは、後の「ターゲット・データベースへのインポート」で、データを検証するために使用します。
SOAスキーマのエクスポート
ソース・データベースからSOAスキーマをエクスポートするには:
- ソース環境にサインインします。たとえば、
soa-host01.example.comです。 oracleユーザーに変更します:sudo su - oracle- エクスポートされたファイルを格納するディレクトリを作成します。たとえば:
mkdir -p /u01/db_exp/SOA_EXPORTS cd /u01/db_exp/SOA_EXPORTS ORACLE_HOME、ORACLEおよびPATH環境変数を設定します。たとえば:export ORACLE_HOME=/opt/oracle/product/12.1.0.2/db_1 export ORACLE_SID=orclsoa export PATH=$PATH:$ORACLE_HOME/binsysユーザーまたはsysdba権限を持つ任意のユーザーに変更し、ソース・データベースに接続します:sqlplus "/ as sysdba"- エクスポート・ディレクトリを作成します。たとえば:
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;- 次のコマンドを入力して、SOAキューが停止しているかどうかを確認します:
sqlplus / as sysdba connect DEV2_SOAINFRA; 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 YES YES OSB_REPORTING_PURGE YES YES OSB_REPORTING_ERROR YES YES OSB_REPORTING_PROVIDER YES YES OSB_FILE_TRANSPORT YES YES OSB_EMAIL_TRANSPORT YES YES OSB_SFTP_TRANSPORT YES YES OSB_FTP_TRANSPORT YES YES TASK_NOTIFICATION_Q YES YES EDN_AQJMS_TOPIC YES YES EDN_OAOO_QUEUE YES YES EDN_EVENT_QUEUE YES YES IP_OUT_QUEUE YES YES IP_IN_QUEUE YES YES AIA_CAVSCALLBACKJMSQ YES YES - 次のコマンドを入力してSOAデータベース・キューを停止し、停止していることを確認します:
sqlplus / as sysdba connect DEV2_SOAINFRA; set lines 200; set pages 400; COLUMN name format A25; COLUMN enqueue_enabled format A15; COLUMN dequeue_enabled format A15; --Stop the SOA database queues : BEGIN DBMS_AQADM.STOP_QUEUE ('AIA_CAVSCALLBACKJMSQ'); DBMS_AQADM.STOP_QUEUE ('B2B_BAM_QUEUE'); DBMS_AQADM.STOP_QUEUE ('EDN_AQJMS_TOPIC'); DBMS_AQADM.STOP_QUEUE ('EDN_EVENT_QUEUE'); DBMS_AQADM.STOP_QUEUE ('EDN_OAOO_QUEUE'); DBMS_AQADM.STOP_QUEUE ('IP_IN_QUEUE'); DBMS_AQADM.STOP_QUEUE ('IP_OUT_QUEUE'); DBMS_AQADM.STOP_QUEUE ('OSB_EMAIL_TRANSPORT'); DBMS_AQADM.STOP_QUEUE ('OSB_FILE_TRANSPORT'); DBMS_AQADM.STOP_QUEUE ('OSB_FTP_TRANSPORT'); DBMS_AQADM.STOP_QUEUE ('OSB_REPORTING_ERROR'); DBMS_AQADM.STOP_QUEUE ('OSB_REPORTING_PROVIDER'); DBMS_AQADM.STOP_QUEUE ('OSB_REPORTING_PURGE'); DBMS_AQADM.STOP_QUEUE ('OSB_SFTP_TRANSPORT'); DBMS_AQADM.STOP_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 NO NO B2B_BAM_QUEUE NO NO EDN_AQJMS_TOPIC NO NO EDN_EVENT_QUEUE NO NO EDN_OAOO_QUEUE NO NO IP_IN_QUEUE NO NO IP_OUT_QUEUE NO NO OSB_EMAIL_TRANSPORT NO NO OSB_FILE_TRANSPORT NO NO OSB_FTP_TRANSPORT NO NO OSB_REPORTING_ERROR NO NO OSB_REPORTING_PROVIDER NO NO OSB_REPORTING_PURGE NO NO OSB_SFTP_TRANSPORT NO NO TASK_NOTIFICATION_Q NO NO - 前述の
SOAユーザーからの接続がデータベースにないことを確認します:SELECT username FROM v$session WHERE username IS NOT NULL ORDER BY username ASC; quit接続がある場合は、SOAドメインを停止します。
oracleユーザーに変更します。SOA_EXPORTSディレクトリで、テキスト・エディタを使用して、すべてのスキーマでデータ・ポンプ・エクスポート・ユーティリティ(expdp)を実行するbashスクリプトを作成します。たとえば、export_soa_schema.shという名前のスクリプトを次の内容で作成します:expdp DEV2_IAU/password schemas=DEV2_IAU directory=DUMP_SOA dumpfile=DEV2_IAU_export.dmp logfile=DEV2_IAU_export.log PARALLEL=4 expdp DEV2_IAU_APPEND/password schemas=DEV2_IAU_APPEND directory=DUMP_SOA dumpfile=DEV2_IAU_APPEND_export.dmp logfile=DEV2_IAU_APPEND_export.log PARALLEL=4 expdp DEV2_IAU_VIEWER/password schemas=DEV2_IAU_VIEWER directory=DUMP_SOA dumpfile=DEV2_IAU_VIEWER_export.dmp logfile=DEV2_IAU_VIEWER_export.log PARALLEL=4 expdp DEV2_MDS/password schemas=DEV2_MDS directory=DUMP_SOA dumpfile=DEV2_MDS_export.dmp logfile=DEV2_MDS_export.log PARALLEL=4 expdp DEV2_OPSS/password schemas=DEV2_OPSS directory=DUMP_SOA dumpfile=DEV2_OPSS_export.dmp logfile=DEV2_OPSS_export.log PARALLEL=4 expdp DEV2_SOAINFRA/password schemas=DEV2_SOAINFRA directory=DUMP_SOA dumpfile=DEV2_SOAINFRA_export.dmp logfile=DEV2_SOAINFRA_export.log PARALLEL=4 expdp DEV2_STB/password schemas=DEV2_STB directory=DUMP_SOA dumpfile=DEV2_STB_export.dmp logfile=DEV2_STB_export.log PARALLEL=4 expdp DEV2_UMS/password schemas=DEV2_UMS directory=DUMP_SOA dumpfile=DEV2_UMS_export.dmp logfile=DEV2_UMS_export.log PARALLEL=4 expdp DEV2_WLS/password schemas=DEV2_WLS directory=DUMP_SOA dumpfile=DEV2_WLS_export.dmp logfile=DEV2_WLS_export.log PARALLEL=4 expdp DEV2_WLS_RUNTIME/password schemas=DEV2_WLS_RUNTIME directory=DUMP_SOA dumpfile=DEV2_WLS_RUNTIME_export.dmp logfile=DEV2_WLS_RUNTIME_export.log PARALLEL=4sysユーザーとして、ソース環境でスクリプトを実行します:@export_soa_schema.sh quitSCHEMA_VERSION_REGISTRYビューとその基礎となる表をSYSTEMスキーマからエクスポートします:expdp \"/ as sysdba\" SCHEMAS=system INCLUDE=VIEW:"IN('SCHEMA_VERSION_REGISTRY')" TABLE:"IN('SCHEMA_VERSION_REGISTRY$')" directory=DUMP_SOA dumpfile=SYSTEM_SCHEMA_VERSION_REGISTRY.dmp logfile=SYSTEM_SCHEMA_VERSION_REGISTRY.logノート:
エラーが発生した場合は、このコマンドを実行するBashシェルを使用していることを確認してくださいSOA_EXPORTSディレクトリで、テキスト・エディタを使用して、ユーザーをエクスポートするスクリプトを作成します。たとえば、export_users.sqlという名前のスクリプトを次の内容で作成します:set long 10000; set lines 200; set pages 400; set longchunksize 10000; spool create_users.sql SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_IAU') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_MDS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_OPSS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_SOAINFRA') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_STB') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_UMS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_WLS') FROM dual; SELECT DBMS_METADATA.GET_DDL('USER', 'DEV2_WLS_RUNTIME') FROM dual; spool offsysユーザーに変更し、ソース環境でスクリプトを実行します:sqlplus sys/password as sysdba @export_users.sql quit- 出力ファイル(この例では
create_users.sql)を編集し、CREATE USER文を含む行のみが含まれていることを確認してから、CREATE文の最後にセミコロンを追加します。たとえば:CREATE USER "DEV_IAU" IDENTIFIED BY VALUES 'S:7C9B0ECE4641D7409A0CBF67505591DD4E437FDDF7524FDBE61051FC3663;H:4A0E99B6CA492BF37AA2177A0D0043F3;T:093C0D3F6BA909A2B2A9077F4AC1B92B6CF59A5C6C6404B7E07CDAA652947C0593FB2EB3D7AC886D9F3164A5F98D25004E6C7A1F7277E2491F1AB7AC26AF4FEAA58561E489AB3CD17BACE090E17A2A52;38D2C7CEB79AC568' DEFAULT TABLESPACE "DEV2_IAU" TEMPORARY TABLESPACE "DEV2_IAS_TEMP"; - 次のコマンドを入力して、SOAスキーマの表領域を特定します:
set long 10000; set lines 200; set pages 400; set longchunksize 10000; SELECT DISTINCT tablespace_name,owner from dba_segments WHERE OWNER like 'DEV2\_%' ESCAPE '\';コマンド出力は次のようになります:

- 次のコマンドを入力して、SOAスキーマの一時表領域を特定します:
SELECT DISTINCT temporary_tablespace from dba_users WHERE username like 'DEV2\_%' ESCAPE '\';コマンド出力は次のようになります:

SOA_EXPORTSディレクトリで、テキスト・エディタを使用して、前のステップで特定された表領域をエクスポートするスクリプトを作成します。たとえば、export_tablespaces.sqlという名前のスクリプトを次の内容で作成します:set long 10000; set long 10000; set lines 200; set pages 400; set longchunksize 10000; spool create_tablespaces.sql BEGIN DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'SQLTERMINATOR', true); DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'PRETTY', true); END; / SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_IAU') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_STB') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_IAS_UMS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_SOAINFRA') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_MDS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_IAS_OPSS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_WLS') FROM DUAL; SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DEV2_IAS_TEMP') FROM DUAL; spool offsysユーザーとして、ソース環境でスクリプトを実行します:sqlplus sys/password as sysdba @export_tablespaces.sql quit- 出力ファイル(この例では
create_tablespaces.sql)を編集し、CREATE TABLESPACE文を含む行のみが含まれていることを確認してから、CREATE文の最後にセミコロンを追加します。たとえば:CREATE TABLESPACE "DEV2_IAU" DATAFILE '/opt/oracle/oradata/DEV2_iau.dbf' SIZE 62914560 AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO; SOA_EXPORTSディレクトリで、テキスト・エディタを使用して、ロールおよび権限付与をエクスポートするスクリプトを作成します。たとえば、export_role_grant.sqlという名前のスクリプトを次の内容で作成します:set long 6000; set longchunksize 6000; set linesize 120; spool create_role_grant.sql BEGIN DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'SQLTERMINATOR', true); DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'PRETTY', true); END; / SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_IAU') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_IAU') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_IAU') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_IAU_APPEND') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_IAU_VIEWER') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_MDS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_MDS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_MDS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_OPSS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_OPSS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_OPSS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_SOAINFRA') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_SOAINFRA') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_SOAINFRA') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_STB') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_STB') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_STB') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_UMS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_UMS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_UMS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_WLS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_WLS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_WLS') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DEV2_WLS_RUNTIME') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DEV2_WLS_RUNTIME') FROM dual; SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'DEV2_WLS_RUNTIME') FROM dual; spool offsysユーザーとして、ソース環境でスクリプトを実行します:sqlplus sys/password as sysdba @export_role_grant.sql quit- 出力ファイル(この例では
create_role_grant.sql)を編集し、GRANT文を含む行のみが含まれていることを確認します。たとえば:GRANT "CONNECT" TO "DEV2_IAU"; GRANT "RESOURCE" TO "DEV2_IAU"; GRANT "SELECT_CATALOG_ROLE" TO "DEV2_IAU"; ... SOA_EXPORTSディレクトリで、テキスト・エディタを使用して、SCHEMA_VERSION_REGISTRY表に対するSELECT権限をすべてのユーザーに付与するスクリプトを作成します。たとえば、create_select_grant_system.sqlという名前のスクリプトを次の内容で作成します:GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_IAU"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_IAU_APPEND"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_IAU_VIEWER"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_MDS"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_OPSS"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_SOAINFRA"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_STB"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_UMS"; GRANT SELECT ON "SYSTEM"."SCHEMA_VERSION_REGISTRY" TO "DEV2_WLS";このスクリプトは、後の「ターゲット・データベースへのインポート」で、データを検証するために使用します。
- 次のコマンドを入力してSOAキューを再起動し、起動したことを確認します:
sqlplus / as sysdba connect DEV2_SOAINFRA; set lines 200; set pages 400; COLUMN name format A25; COLUMN enqueue_enabled format A15; COLUMN dequeue_enabled format A15; 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