ORA-24777:

简介: 今天遇到了ORA-24777错误,通过METALINK ORA-24777: use of non-migratable database link not allowedCause: The transaction, which needs to be mi...

今天遇到了ORA-24777错误,通过METALINK

ORA-24777: use of non-migratable database link not allowed
Cause: The transaction, which needs to be migratable between sessions, tried to
access a remote database from a non-multi threaded server process.
Action: Perform. the work in the local database or open a connection to the re
mote database from the client. If multi threaded server option is installed, con
nect to the Oracle instance through the dispatcher

感觉有点不知所云,然后看了下BAIDU发现很多同学都是设置了shared dblink 来解决的然后看了shared DBLINK的概念:

 

 

 

 

http://www.eygle.com/archives/2007/11/howto_change_global_name.html

我们应该都很熟悉global_name这个词,在进行db link的创建时,通常都需要关注一下global_name.
注意,我这里说的不是初始化参数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规划好。

相关文章
|
网络协议
ORA-12557
ORA-12557
|
Oracle 关系型数据库
ora.chad
ora.chad 进程描述,和作用。
3040 0
|
Oracle 关系型数据库 Java
|
关系型数据库 Oracle
|
Oracle 关系型数据库
|
Oracle 关系型数据库
|
SQL Oracle 关系型数据库
ORA-00704、ORA-39700处理
文章版权所有Jusin Hao(luckyfriends),支持原创,转载请注明。 原来的数据库11.2.0.1,现在安装的是11.2.0.3 SQL> alter database open; alter database open ...
1004 0
|
Oracle 关系型数据库 Go
ORA-32017 ORA-00096问题
<div style="font-family:'lucida Grande',Verdana,'Microsoft YaHei'; font-size:14px; line-height:23px"> <div><br></div> <div><br></div> <div>1</div> <div><br></div> <div>SQL&gt; alter system se
3309 0