D.6 MDSYS所有ネットワークのスキーマプライベート・ネットワークへの移行

データベース内のMDSYS所有セマンティク・ネットワークを同じデータベース内のスキーマプライベート・セマンティク・ネットワークに移行できます。

次の例では、SEM_APIS.MOVE_SEM_NETWORK_DATAおよびSEM_APIS.APPEND_SEM_NETWORK_DATAを使用して、既存のMDSYSセマンティク・ネットワークを共有スキーマプライベート・セマンティク・ネットワークに移行します。

例D-17 MDSYSセマンティク・ネットワークの共有スキーマプライベート・セマンティク・ネットワークへの移行

この例では、次の主要なアクションを実行します。

  1. データベース・ユーザー(RDFEXPIMPU)がデータベースに存在しない場合、既存のMDSYS所有セマンティク・ネットワークを保持するデータベース・ユーザーを作成します。
  2. 既存のセマンティク・ネットワーク・データをRDFEXPIMPUスキーマに移動します。
  3. 管理データベース・ユーザー(RDFADMIN)がデータベースに存在しない場合、そのユーザー(RDFADMIN)を作成します。これは、スキーマプライベート・セマンティク・ネットワークを所有します。
  4. MY_NETという名前でRDFADMINが所有するスキーマプライベート・セマンティク・ネットワークを作成します。
  5. この新しく作成されたスキーマプライベート・ネットワークのネットワーク共有を設定します。
    1. RDFADMINにネットワーク共有権限を付与します。
    2. 古いMDSYS所有ネットワークのすべてのユーザーのネットワーク共有を有効にします。
    3. 2人の通常のデータベース・ユーザー(UDFUSERおよびDB_USER1)にアクセス権を付与します。RDFADMINに対する権限。
  6. 以前に移動したネットワーク・データを共有スキーマプライベート・セマンティク・ネットワークに追加します。
conn sys/<password_for_sys>

-- create a user to hold the moved semantic network
grant connect, resource, unlimited tablespace to rdfexpimpu identified by rdfexpimpu;

conn system/<password_for_system>

-- move the existing MDSYS semantic network
exec sem_apis.move_sem_network_data(dest_schema=>'RDFEXPIMPU');

-- drop the existing MDSYS semantic network
exec sem_apis.drop_sem_network(cascade=>true);

-- create schema-private semantic network to hold the MDSYS network data
conn sys/<password_for_sys>

-- create an admin user to own the schema-private semantic network
create user rdfadmin identified by rdfadmin;
grant connect,resource,unlimited tablespace to rdfadmin;

conn system/<password_for_system>

-- create the schema-private semantic network
exec sem_apis.create_sem_network(tablespace_name=>'rdf_tablespace',network_owner=>'RDFADMIN',network_name=>'MYNET');

-- setup network sharing for rdfadmin’s schema-private semantic network
-- first grant network sharing privileges to rdfadmin
exec sem_apis.grant_network_sharing_privs(network_owner=>'RDFADMIN');
-- now connect as rdfadmin and enable sharing for all users of the old MDSYS semantic network
conn rdfadmin/<password>
-- enable sharing for rdfadmin’s network
exec sem_apis.enable_network_sharing(network_owner=>'RDFADMIN',network_name=>'MYNET');

-- grant access privileges to RDFUSER
exec sem_apis.grant_network_access_privs(network_owner=>'RDFADMIN',network_name=>'MYNET',network_user=>'RDFUSER');
-- grant access privileges to DB_USER1
exec sem_apis.grant_network_access_privs(network_owner=>'RDFADMIN',network_name=>'MYNET',network_user=>'DB_USER1');

-- append the exported network into the shared schema-private semantic network
-- after this step, migration will be complete, and the new shared schema-private semantic network will be ready to use
conn system/<password_for_system>
exec sem_apis.append_sem_network_data(from_schema=>'RDFEXPIMPU',network_owner=>'RDFADMIN',network_name=>'MYNET');