Oracle db_domain 変更 ドメイン指定あり

Oracle において db_domain の変更 に関して示す。

目的

  GLOBAL_NAME にドメイン名が付いていない状態でデータベースリンクを作成する。
  その後、GLOBAL_NAME を変更した後、その作成したデータベースリンクを削除できる
  かどうか検証。

  ※データベースリンクの作成時の注意点
  'bishounen02link'という名前のリンクを作成すると、GLOBAL_NAME の
  ドメイン部分が自動的に付与される。

結論

  KROWN に記載されている回避策でもデータベースリンクを削除できなかった。
  初期状態において、GLOBAL_NAME が設定されていない=空白 なのが原因である。

  空白でなければ(ドメインの変更であれば)、以前のデータベースリンクを削除
  できることを確認。

手順

  1.show parameter db_name
     show parameter db_domain
     show parameter service
     select * from global_name;
  2.create database link bishounen02link connect to perfstat
       identified bu perfstat useing 'BSC';
     select db_link from dba_db_links;
  3.alter database rename global_name to "yahoo.co.jp";
     show parameter db_name
     show parameter db_domain
     show parameter service
     select * from global_name;
  4.drop database link bishounen02link;
  --
  5.create database link bishounen02link02 connect to perfstat identified bu perfstat useing 'BSC';
  6.update props$ set value$ = 'GIF' where name = 'GLOBAL_DB_NAME';
     commit;
  7.drop database link bishounen02link;
  8.drop database link bishounen02link02;
  9.update props$ set value$ = 'GIF.YAHOO.CO.JP' where name = 'GLOBAL_DB_NAME';
     commit;

結果

  1.show parameter
    name              type               value
    ----------------- ------------------ --------------------
    db_name           string             gif
    db_domain         string             yahoo.co.jp
    mts_service       string             gif
    service_name      string             gif.yahoo.co.jp

     select * from global_name
    GLOBAL_NAME
    --------------------
    GIF
  2.select db_link from dba_db_links;
    DB_LINK
    --------------------
    BISHOUNEN02LINK
  3.show parameter
    name              type               value
    ----------------- ------------------ --------------------
    db_domain         string             yahoo.co.jp
    mts_service       string             gif
    service_name      string             gif.yahoo.co.jp

     select * from global_name
    GLOBAL_NAME
    --------------------
    GIF.YAHOO.CO.JP

  4.drop database link bishounen02link;
    ×失敗 削除できない
  --
  5.select db_link from dba_dba_links;
    DB_LINK
    --------------------
    BISHOUNEN02LINK
    BISHOUNEN02LINK02.YAHOO.CO.JP
  6.update
     select * from global_name
    GLOBAL_NAME
    --------------------
    GIF
  7.drop database link bishounen02link;
    ×失敗 削除できない
  8.drop database link bishounen02link02;
    ○成功 削除できる

ご訪問頂き有難う御座います。 当サイトを効率良く使うためにまずは FrontPage を見て下さい。 検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage