首頁 > 資料庫 > mysql教程 > Oracle中的global

Oracle中的global

WBOY
發布: 2016-06-07 15:13:07
原創
1156 人瀏覽過

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 1. You connect to SALES.US.EXAMPLE.COM and query the GLOBAL_NAME data dictionary view to determine the current database global name: CONNECT SYSTEM@sales.us.example.com SELECT * FROM G

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

    1. You connect to SALES.US.EXAMPLE.COM and query the GLOBAL_NAME data dictionary view to determine the current database global name:

    CONNECT SYSTEM@sales.us.example.com

    SELECT * FROM GLOBAL_NAME;

    GLOBAL_NAME

    ----------------------------------------------------------------------------

    SALES.US.EXAMPLE.COM

    2. You query the V$PARAMETER view to determine the current setting for the DB_DOMAIN initialization parameter:

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'db_domain';

    NAME VALUE

    --------- -----------

    db_domain US.EXAMPLE.COM

    3. You then create a database link to a database called hq, using only a partially-specified global name:

    CREATE DATABASE LINK hq USING 'sales';

    The database expands the global database name for this link by appending the domain part of the global database name of the local database to the name of the database specified in the link.

    4. You query USER_DB_LINKS to determine which domain name the database uses to resolve the partially specified global database name:

    SELECT DB_LINK FROM USER_DB_LINKS;

    DB_LINK

    ------------------

    HQ.US.EXAMPLE.COM

    This result indicates that the domain part of the global database name of the local database is us.example.com. The database uses this domain in resolving partial database link names when the database link is created.

    5. Because you have received word that the sales database will move to Japan, you rename the sales database to sales.jp.example.com:

    ALTER DATABASE RENAME GLOBAL_NAME TO sales.jp.example.com;

    SELECT * FROM GLOBAL_NAME;

    GLOBAL_NAME

    ----------------------------------------------------------------------------

    SALES.JP.EXAMPLE.COM

    6. You query V$PARAMETER again and discover that the value of DB_DOMAIN is not changed, although you renamed the domain part of the global database name:

    SELECT NAME, VALUE FROM V$PARAMETER

    WHERE NAME = 'db_domain';

    NAME VALUE

    --------- -----------

    db_domain US.EXAMPLE.COM

    This result indicates that the value of the DB_DOMAIN initialization parameter is independent of the ALTER DATABASE RENAME GLOBAL_NAME statement. The ALTER DATABASE statement determines the domain of the global database name, not the DB_DOMAIN initialization parameter (although it is good practice to alter DB_DOMAIN to reflect the new domain name)。

    7. You create another database link to database supply, and then query USER_DB_LINKS to see how the database resolves the domain part of the global database name of supply:

    CREATE DATABASE LINK supply USING 'supply';

    SELECT DB_LINK FROM USER_DB_LINKS;

    DB_LINK

    ------------------

    HQ.US.EXAMPLE.COM

    SUPPLY.JP.EXAMPLE.COM

    This result indicates that the database resolves the partially specified link name by using the domain jp.example.com. This domain is used when the link is created because it is the domain part of the global database name of the local database. The database does not use the DB_DOMAIN initialization parameter setting when resolving the partial link name.

    8. You then receive word that your previous information was faulty: sales will be in the ASIA.JP.EXAMPLE.COM domain, not the JP.EXAMPLE.COM domain. Consequently, you rename the global database name as follows:

    ALTER DATABASE RENAME GLOBAL_NAME TO sales.asia.jp.example.com;

    SELECT * FROM GLOBAL_NAME;

    GLOBAL_NAME

    ----------------------------------------------------------------------------

    SALES.ASIA.JP.EXAMPLE.COM

    You query V$PARAMETER to again check the setting for the parameter DB_DOMAIN:

    SELECT NAME, VALUE FROM V$PARAMETER

    WHERE NAME = 'db_domain';

    NAME VALUE

    ---------- -----------

    db_domain US.EXAMPLE.COM

    The result indicates that the domain setting in the parameter file is the same as it was before you issued either of the ALTER DATABASE RENAME statements.

    9. Finally, you create a link to the warehouse database and again query USER_DB_LINKS to determine how the database resolves the partially-specified global name:

    CREATE DATABASE LINK warehouse USING 'warehouse';

    SELECT DB_LINK FROM USER_DB_LINKS;

    DB_LINK

    ------------------

    HQ.US.EXAMPLE.COM

    SUPPLY.JP.EXAMPLE.COM

    WAREHOUSE.ASIA.JP.EXAMPLE.COM

    Again, you see that the database uses the domain part of the global database name of the local database to expand the partial link name during link creation.

    由此说明, alter database rename global_name to xx并不影响db_domain参数, 而创建db link时使用的是global_name而不是db_domain.

Oracle中的global

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板