我们应该都很熟悉global_name这个词,在进行db link的创建时,通常都需要关注一下global_name.
注意,我这里说的不是初始化参数global_names。
通过视图global_name可以获得当前参数的设置:
那么这个global_name视图的数据来自何处呢?
通过global_name视图的创建语句我们可以获得如下信息:
我们看到global_name中的信息实际上是来自props$内部表的,取得的信息是其中的global_db_name字段。
这里得到的是通常数据库创建的缺省设置,在生产环境中,我们可以通过如下命令来修改Global_name:
这个global_name为什么很重要呢?
因为在创建db link的时候,db Link的最终格式与此相关,实际上global_name由两部分组成,DB_NAME和DB_DOMAIN。在创建db link的时候,Oracle会自动将db_domain作为后缀添加上去。而且一旦加入就很难变更。
所以在进行高级复制、Streams复制等配置时,最好首先将多个节点的global_name规划好。
-The End-
注意,我这里说的不是初始化参数global_names。
通过视图global_name可以获得当前参数的设置:
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------
WAPDB.REGRESS.RDBMS.DEV.US.ORACLE.COM
那么这个global_name视图的数据来自何处呢?
通过global_name视图的创建语句我们可以获得如下信息:
create or replace view global_name
(global_name)
as
select value$ from sys.props$ where name = 'GLOBAL_DB_NAME'
我们看到global_name中的信息实际上是来自props$内部表的,取得的信息是其中的global_db_name字段。
SQL> select value$ from sys.props$ where name = 'GLOBAL_DB_NAME';
VALUE$
--------------------------------------------------
WAPDB.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------
WAPDB.REGRESS.RDBMS.DEV.US.ORACLE.COM
这里得到的是通常数据库创建的缺省设置,在生产环境中,我们可以通过如下命令来修改Global_name:
SQL> alter database rename global_name to WAPDB.EYGLE.COM;
Database altered
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------
WAPDB.EYGLE.COM
这个global_name为什么很重要呢?
因为在创建db link的时候,db Link的最终格式与此相关,实际上global_name由两部分组成,DB_NAME和DB_DOMAIN。在创建db link的时候,Oracle会自动将db_domain作为后缀添加上去。而且一旦加入就很难变更。
所以在进行高级复制、Streams复制等配置时,最好首先将多个节点的global_name规划好。
-The End-
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




