- 浏览: 1023118 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
当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 'D
MDB';
数据库链接已创建。
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的数据库链接。
发表评论
-
sqlldr总结参数介绍
2012-06-28 14:29 22832有效的关键字: userid -- ORACLE use ... -
11gR2新特性:STANDBY_MAX_DATA_DELAY
2011-12-27 11:18 1221Active Data Guard 是 Oracle 11g ... -
Linux下用OCCI或OCI连接Oracle
2011-07-26 12:00 2907首先,去oracle官网下载C ... -
Oracle Mutex实现机制
2011-05-18 23:43 1072我们都知道Latch是Oracle ... -
local_listener参数作用
2011-05-10 17:19 1931pmon只会动态注册port等于1521的监听,否则 ... -
oracle伪列 rowid和rownum
2011-03-23 10:00 3541整理ROWID一 一,什么是伪列RowID?1,首先是一种数 ... -
Oracle10gR2 主备自动切换之客户端Failover配置
2011-01-20 10:32 9541. 主库检查和设置假设新增的服务名为ORCL_TAF.LK. ... -
Oracle10g配置Dataguard的相关参数解释
2011-01-20 10:24 1271参考自 http://space.itpub.ne ... -
wrap加密oracle包
2011-01-19 11:52 1299大家都知道oracle的很多系统包是没法看它的源码的,orac ... -
利用hcheck检查数据字典一致性状态
2011-01-17 17:42 1820利用hcheck可以检查oracle数据字典的一致性状态,主要 ... -
插入相同的数据量普通表和临时表产生的redo对比
2011-01-17 16:08 989往临时表里插入相同量 ... -
Oracle Streams学习二(清除流配置)
2011-01-09 23:34 1183在完成streams部署之后,如果需要重新配置或舍弃配置,可以 ... -
red hat enterprise 下完全删除oracle 数据库
2011-01-05 01:28 1759步骤 1 以oracle用户登录主、备节点。步骤 2 ... -
Oracle常用dump命令
2010-12-20 00:31 836Oracle常用dump命令,记录一下备查。 一.M ... -
oracle执行DML(事物过程)的深入研究(二)
2010-12-14 15:02 1542接上一节的 oracle执行DML(事物过程)的深入研究(一) ... -
oracle执行DML(事物过程)的深入研究(一)
2010-12-14 10:26 2805用户所执行 DML (即执行事务)操作在 Oracle 内部按 ... -
Oracle基本数据类型存储格式研究(二)—数字类型
2010-12-14 00:35 1474数字类型包含number,intege ... -
Oracle基本数据类型存储格式研究(一)—字符类型
2010-12-13 23:32 11741.char char是定长字符型,内部代码是:96,最多可 ... -
关于oracle rowid的一些内容 -- 转载
2010-12-13 15:47 782本文讨论的是关于oracle ... -
oracle 进制转换
2010-12-13 14:24 12671.16进制转换为10进制 ...
相关推荐
- **设置global_names参数**: - 如果`global_names`设置为`true`,则dblink的命名需与远程数据库的global_name一致。 - 如果`global_names`设置为`false`,则可以自由命名dblink。 - 查询命令: ```sql SHOW ...
1. global_names 参数:如果 global_names = true,则 [DB_LINK_NAME] 必须是数据库的真实名称;如果 global_names = false,则 [DB_LINK_NAME] 可以是一个随意的名字。 2. 链接字符串:链接字符串即服务名,需要在...
SELECT owner, object_name FROM dba_objects WHERE object_type = 'DATABASELINK'; ``` 2. **使用 DBLink 进行查询**: - 在查询时可以直接使用 DBLink 名称作为表名的一部分: ```sql SELECT * FROM emp@...
- **注意事项**:当`GLOBAL_NAME`参数为`TRUE`时,`38GLOBAL_NAME`必须与远程数据库的`GLOBAL_NAME`一致;为`FALSE`时可以自定义。`mac2`是远程数据库的用户名,`mac2`是远程数据库的密码。`ORCL_SG_38`是本地建立...
**dblink**的命名规则与参数`global_names`有关: - 当`global_names=true`时,dblink的命名需要与远程数据库的全局名称(global name)保持一致。 - 当`global_names=false`时,可以自由命名dblink,但建议使用有...
2. **确认 global_names 参数状态**:`global_names` 参数控制是否使用全局名称来解析 DB-LINK。当其值为 TRUE 时,DB-LINK 的名称必须与远程数据库的 GLOBAL_NAME 名称相匹配。可通过 `SHOW PARAMETER global_name;...
- 方法一:在数据库的`init.ora`文件中设置`global_names`参数为`TRUE`或`FALSE`。 - 方法二:执行SQL语句来修改: ```sql ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE; ``` 修改后需要重启数据库服务使设置生效...
2. **GLOBAL_NAMES参数**:GLOBAL_NAMES参数决定了DBLINK的命名规则。如果设为TRUE,DBLINK的名称必须与被连接数据库的全局数据库名称(GLOBAL_NAME)完全匹配。若设为FALSE,则可以自由指定DBLINK的名称,此时更...
在创建数据库链接之前,需确认`global_names`参数的设置情况。如果该参数被设置为`true`,则在创建数据库链接时需要带上Oracle默认的域名;若设置为`false`,则可以根据个人需求自由命名。 **步骤二:创建数据库...
在使用dblink时,也需要注意修改GLOBAL_NAME的方法,可以在远程数据库的init.ora文件中将global_names设为false,或者用sys用户执行以下语句: ``` ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE; ``` 然后重新启动...
确认 `global_names` 参数值为 `TRUE`。如果不是,则需要执行 `alter system set global_names = true;` 命令来修改。 **B. job_queue_processes 参数检查** - **命令:** `show parameter job;` 确保 `job_queue_...
- 如果返回的`GLOBAL_NAMES`值为`TRUE`,则表示参数已启用,此时创建的DBLink名称必须与远程数据库的GLOBAL_NAME保持一致。 3. **验证远程数据库是否支持高级复制功能** - 执行以下命令来检查数据库是否支持高级...
SELECT owner, object_name FROM dba_objects WHERE object_type = 'DATABASELINK'; ``` 此外,也可以查看数据库的全局名称配置,这有助于理解数据库链接的全局命名规则: ```sql SELECT * FROM GLOBAL_NAME; ``` ...
- `global_names`: 设置为`TRUE`以启用全局名称识别功能。 - `streams_pool_size`: 设置为`25M`以分配给Streams使用的内存池大小。 - `shared_pool_size`: 设置为`500M`以增大共享池的大小。 - `aq_tm_processes`: ...
全局数据库链接(Global Database Link):Owner 是 PUBLIC.Global 的数据库链接是网络级的,When an Oracle network uses a directory server, the directory server automatically create and manages global ...
- **global_names=true** 要求数据库链接和被连接的数据库名称必须一致。这可以通过全局数据库名的形式表示:`db_name + "." + db_domain`。 - **与数据库作业执行相关的参数** - `job_queue_processes=1` ...
②、global_names = true (alter system set global_names=true),它要求数据库链接(database link)和被连接的数据库名称一致。 ③、有跟数据库 job 执行有关的参数(在 oracle\ora92\admin\sample\pfile 修改 ...
CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl IDENTIFIED BY orcl USING 'orcl'; CREATE SYNONYM mtb FOR mytable@orcl@dbc; 这里之所以用orcl@bdc为dblink的名称是为了设置global_names=true。 然后新建...
alter system set global_names=true scope=both; ---设置全局名称为 true alter system set undo_retention=3600 scope=both; ---设置回滚段时间,默认是 900 alter system set streams_pool_size=25M scope=spfile...