> 데이터 베이스 > MySQL 튜토리얼 > Oracle中的global

Oracle中的global

WBOY
풀어 주다: 2016-06-07 15:13:07
원래의
1155명이 탐색했습니다.

欢迎进入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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿