`

Oracle数据库GLOBAL_NAMES参数的详细研究

 
阅读更多

Oracle数据库GLOBAL_NAMES参数的相关知识是本文我们主要要介绍的内容,当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX AS5 ORACLE 10g 10.2.0.1 RAC)。
首先查看DMDB的相关配置:
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- ---------
global_names boolean FALSE
SQL> select * from global_name;;
GLOBAL_NAME
----------------------------------------------------------
DMDB
可以看到这个被链接的库其global_names参数为FALSE。
要创建数据库链接的库的配置:
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- -------
global_names boolean FALSE
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------
XJ
然后做下面的操作:
SQL> create database link test_link connect to test identified by test using 'DMDB';
数据库链接已创建。
SQL> select * from dual@test_link ;
D
-
X
可以看到数据库链接工作正常。
在DMDB库上将global_names设为TRUE:
SQL> alter system set global_names=true;
  系统已更改。
在XJ库上再次查询,并新建一个DATABASE LINK再进行查询:
以下是代码片段:
SQL> select * from dual@test_link ;
D
-
X
SQL> create database link test_link2 connect to test identified by test using 'DMDB';
数据库链接已创建。
SQL> select * from dual@test_link2 ;
D
-
X
此时可以看数据库链接工作正常。我们再将XJ库的global_names参数设置为TRUE:
SQL> alter system set global_names=true;
系统已更改。
SQL> select * from dual@test_link2 ;
select * from dual@test_link2
*第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
SQL> select * from dual@test_link
select * from dual@test_link
*第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK 连接到 DMDB
而再次将XJ库的global_names设为FALSE,则数据库链接又可用了。
SQL> alter system set global_names=false;
系统已更改。
SQL> select * from dual@test_link ;
D
-
X
SQL> select * from dual@test_link2 ;
D
-
X
再将DMDB库的global_names设为FALSE,数据库链接仍然可用:
在DMDB库上:
SQL> alter system set global_names=false;
系统已更改。
在XJ库上:
SQL> select * from dual@test_link ;
D
-
X
可以看到,链接仍然可以用。如果在DMDB库上创建链接到XJ库上,可以观察到同样的结果。可以得出一个结论:global_names参数设置为FALSE,影响的是创建数据库链接的那个库对数据库链接的使用。也就是说,如果一个库(实例)的global_names参数设值为TRUE,则该库连接其他库的数据库链接,其名称必须要与被连接的库的global_name相同:
在XJ库上:
SQL> alter system set global_names=true;
系统已更改。
SQL> create database link dmdb connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * from dual@dmdb ;
D
-
X
SQL> select * from dual@test_link ;
select * from dual@test_link
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK 连接到 DMDB
SQL> select * from dual@test_link2 ;
select * from dual@test_link2
*第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
如果在GLOBAL_NAMES设置为TRUE的情况下,如果要建多个数据库链接到同一个库,怎么办呢?因为数据库链接的名称必须与目标库的GLOBAL_NAME相同。可以按如下的方法:
以下是代码片段:
SQL> create database linkdmdb@link1connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> create database linkdmdb@link2connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * fromdual@dmdb ;
D
-
X
SQL> select * fromdual@dmdb@link1 ;
D
-
X
SQL> select * fromdual@dmdb@link2 ;
D
-
X
也就是在GLOBAL_NAME后面加上@再加上一个标识。这样就能够创建多个数据库链接到同一目标库上了。
另外在创建数据库链接时,不能给其他SCHEMA创建链接,这是因为数据库链接(database link)其名称可以含有'.'即点号。比如A用户想给B用户创建一个DBLINK名叫LINKB,CREATE DATABASE LINK B.LINKB ......, 这个语句将会实际创建一个A用户下的名为B.LINKB的数据库链接。
关于Oracle数据库GLOBAL_NAMES参数的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

 

参考至:http://www.cnblogs.com/songdavid/articles/2166988.html

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    Oracle数据库参数设置技术手册

    GLOBAL_NAMES 是 Oracle数据库参数设置技术手册中一个重要的参数,它控制着数据库的全局名称,对数据库的性能和稳定性有着重要的影响。数据库管理员可以根据实际情况调整 GLOBAL_NAMES 的值,以提高数据库的性能和...

    ORACLE数据库参数设置技术手册

    《ORACLE数据库参数设置技术手册》是一份详细指导如何配置Oracle数据库系统参数的重要参考资料,尤其对于数据库管理员和系统架构师来说,是优化数据库性能、确保系统稳定运行的关键工具。手册内容涉及了数据库的多个...

    Oracle9个_name介绍

    这些参数对于数据库管理员来说非常重要,了解它们的功能可以帮助更好地管理Oracle数据库环境。特别是`db_name`、`instance_name`、`service_name`和`listener`等参数,在日常管理和维护中使用频率较高,是必须掌握的...

    安装oracle异构数据库组件_创建实例

    4. `init.ora`文件:在Oracle的参数文件中增加`global_names=true`,以确保数据库链接的全局名称匹配。 在完成这些配置后,你需要重启Oracle的相关服务,通常是两个Oracle服务,以使更改生效。 然后,你可以通过...

    UNIX下创建ORACLE数据库

    总结来说,创建Oracle数据库在UNIX环境下涉及的主要知识点包括环境变量配置、参数文件的编辑、控制文件、内存结构的设定、归档日志策略、安全性配置以及分布式事务管理。理解并掌握这些知识点,将能帮助你顺利地在...

    ORACLE_建立DBLINK详细讲解.pdf

    通过以上步骤,我们不仅详细介绍了如何在 Oracle 数据库中建立 DB-LINK,而且还涵盖了必要的参数检查和测试流程。DB-LINK 的建立为跨服务器数据访问提供了便利,是 Oracle 数据库管理中的一项重要技能。

    建立oracle 数据库的dblink

    Oracle数据库的DBLINK(数据库链接)是一种连接两个不同Oracle数据库实例的机制,允许用户在一个数据库中执行查询或操作另一个数据库的数据。在Oracle中,DBLINK是实现跨数据库交互的重要工具,尤其在分布式数据库...

    oracle数据库参数设置技术手册[借鉴].pdf

    Oracle数据库参数设置技术手册是IT领域中针对Oracle数据库性能优化的重要参考文档,尤其对软件开发人员来说,理解和正确设置这些参数对于提升系统性能、确保数据安全以及优化资源利用至关重要。以下将详细介绍部分...

    oracle数据库链接

    如果`global_names`参数设置为`TRUE`,则数据库链接会自动识别并使用全局名称。 ### 删除数据库链接 当不再需要某个数据库链接时,可以使用以下命令将其删除: ```sql DROP PUBLIC DATABASE LINK BKSVR_LINK; ```...

    Oracle数据库面试题及答案

    知识点:GLOBAL_NAMES 是一个参数,用于指定数据库的名称,在连接数据库时需要使用相同的名称。 3. 如何加密 PL/SQL 程序? 答案:WRAp 知识点:WRAp 是一种加密方法,用于保护 PL/SQL 程序的安全。 4. 解释 ...

    Oracle数据库的同步复制案例

    本文将详细介绍如何在Oracle数据库中实现同步复制,包括其前提条件、配置步骤以及相关的注意事项。 #### 二、实现数据库复制的前提条件 在开始配置Oracle数据库的同步复制之前,确保满足以下前提条件: 1. **...

    Oracle数据库DBA面试题50道及答案.pdf

    以下是针对给定的Oracle数据库DBA面试题的知识点详细解析: 1. **冷备份和热备份的区别及其优点**: - **热备份**:在数据库运行时(归档模式下)进行备份。优点是可以使用数据库,且可将数据库恢复到任意时间点。...

    oracle数据库参数.pdf

    以上知识点详细地涉及了Oracle数据库参数的各个方面,帮助数据库管理员进行数据库的配置、优化和管理。值得注意的是,这些参数的具体数值和设置方法会根据实际的应用需求、数据库版本和硬件平台的不同而有所差异,...

    Oracle数据库教程——oracle静态监听和动态监听借鉴.pdf

    Oracle数据库的监听程序是连接客户端和数据库服务器的关键组件,它管理客户端请求的连接,并负责将这些请求路由到正确的数据库实例。本教程主要讲解了Oracle数据库的静态监听和动态监听两种方式,以及它们的工作原理...

    oracle数据库

    #### 一、Oracle数据库参数查看 **1. 模糊查询参数** - **命令**: `show parameter name;` - **功能**: 查看与特定关键词相关的所有数据库参数。 **2. 实例名相关参数** - **命令**: `show parameter instance_...

    Oracle数据库DBA面试题50道及答案

    这些知识点是Oracle数据库DBA面试中常常被提及的要点,涵盖了数据库备份与恢复、存储结构、性能优化、架构设计、错误处理、系统参数配置等多个方面。掌握这些知识点对于通过Oracle数据库DBA面试至关重要。

    oracle 使用dblink方式 连接远程数据库,内有详细描述,亲测可以

    在Oracle数据库中,DBLink(Database Link)是一种非常实用的功能,它允许用户在一个数据库(本地数据库)中访问另一个数据库(远程数据库)的数据。这通常用于实现跨数据库查询、分布式事务处理等场景。 #### 二、...

    在Oracle中实现数据库的复制

    ②、global_names = true (alter system set global_names=true),它要求数据库链接(database link)和被连接的数据库名称一致。 ③、有跟数据库 job 执行有关的参数(在 oracle\ora92\admin\sample\pfile 修改 ...

    oracle数据库同步技术

    2. 数据库初始化参数需满足特定要求,如设置`db_domain`为数据库的域名,`global_names`为`true`以确保数据库链接和数据库名称匹配,以及配置与作业执行相关的参数如`job_queue_processes`, `job_queue_interval`和`...

    Oracle_LISTENER监听文件参数详

    "Oracle LISTENER 监听文件参数详解及 Lsnrctl 命令综述" Oracle LISTENER 监听文件参数详解: LISTENER 监听文件参数是 Oracle ...了解这些参数和命令可以帮助 DBA better 管理 Oracle 数据库的连接和性能。

Global site tag (gtag.js) - Google Analytics