oracle link的创建过程

下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX
AS5 ORACLE 10g 10.2.0.1
RAC)
第一部分:如何创建dblink
dblink的创建有两种方式:
1、在本地数据库tnsnames.ora文件中配置要访问的目标数据库信息
create
[public] database link test_link2
connect to scott identified by tiger using
‘test_link2‘;
其中第一个test_link2是将要创建的dblink的名字,
第二个test_link2是tnsnames.ora文件中配置的目标数据库DMDB的连接信息:
test_link2
=
  (DESCRIPTION =
    (ADDRESS_LIST
=
      (ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.0.123)(PORT = 1521))
    )
   
(CONNECT_DATA =
      (SERVER =
DEDICATED)
      (SERVICE_NAME =
mai)
    )
 
)
scott/tiger是登录到远程数据库的用户名和密码,然后当在本地数据库使用test_link2的dblink访问远程数据库的时候,会使用scott的身份来访问
第二部分:dblink相关的权限
[email protected]
> select * from user_sys_privs where privilege like
upper(‘%link%‘);
USERNAME                      
PRIVILEGE                               
ADM
------------------------------ ----------------------------------------
---
SYS                           
CREATE DATABASE
LINK                    
NO
SYS                           
DROP PUBLIC DATABASE
LINK               
NO
SYS                           
CREATE PUBLIC DATABASE
LINK             
NO
权限解释:
CREATE DATABASE LINK(所创建的DBlink只能是创建者自己使用,别的用户都使用不了)
CREATE
PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)
DROP PUBLIC DATABASE
LINK(删除Public dblink的权限)

第三部分:dblink的使用
假如说,我要比较两个库的用户的差异,那么我现在可以这么做:
select username from
[email protected]_mai
minus
select username from
dba_users;
这样就可以得到在目标数据库中有的用户,而在当前用户中没有的用户列表了
另外一个:如果你乐意,你可以用triggers+dblink实现一个简单的数据同步,不过不建议使用,玩玩就行了。

第四部分:dblink的相关视图
dblink的常用视图有如下几个:
dba_db_links,查看系统中所有的dblink
v$dblink,用来查看当前数据库中有哪些打开的dblink

当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE
LINK的名称必须与被连接库的GLOBAL_NAME一致。
首先查看DMDB的相关配置:
SQL> show parameter
global_names
NAME        
TYPE       
VALUE
------------------------------------ -----------
---------
global_names    
boolean     TRUE

SQL> create database link test_link2 connect to test identified by test
using ‘D
MDB‘;
数据库链接已创建。
SQL> select * from
[email protected]_link2;
select * from
[email protected]_link2
                  
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到
DMDB
而再次将XJ库的global_names设为FALSE,则数据库链接又可用了。
SQL> alter system set
global_names=false;
系统已更改。
SQL> select * from
[email protected]_link2;
D
-
X
可以看到,链接仍然可以用。
如果在DMDB库上创建链接到XJ库上,可以观察到同样的结果。
可以得出一个结论:global_names参数设置为FALSE,影响的是创建数据库链接的那个库对数据库链接的使用。也就是说,如果一个库(实例)的global_names参数设值为TRUE,则该库连接其他库的数据库链接,其名称必须要与被连接的库的global_name相同

oracle link的创建过程,布布扣,bubuko.com

时间: 2024-12-15 22:05:37

oracle link的创建过程的相关文章

oracle中的创建过程,函数,包

一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命名块可以多次使用. 创建存储过程的语法: create [or replace] procedure 存储过程的名称(参数名[in/out/inout] 参数类型,参数名...)] is/as 变量声明部分 begin 业务逻辑处理部分 exception 异常处理部分 end; 注意: 1.存储过

用一个例子说明oracle临时表,创建过程,

--创建临时表,规定好格式,是必须的,不同于sqlserver那么随意: Create Global Temporary Table record4 ( yljgdm VARCHAR2(22) not null, jzlsh VARCHAR2(50) not null, kh VARCHAR2(32), klx VARCHAR2(16), hzxm VARCHAR2(32), jzlx VARCHAR2(3), zzysgh VARCHAR2(16), zzysxm VARCHAR2(32),

设置 Oracle,Sqlplus,Linux 设置为UTF8 专治中文乱码 ,查看表的创建过程

[本文谢绝转载原文来自http://990487026.blog.51cto.com] 思想: 1,设置Linux字符集 为UTF8编码 2,设置Oracle字符集 为UTF8编码 3,设置sqlplus客户端环境 为UTF8编码 4,如果是在Windows使用CRT/Xshell远程工具,请设置软件编码为UTF8[略...] 1,先设置oracle为UTF8 [[email protected] ~]$ sqlplus /nolog SQL> conn /as sysdba; SQL> sh

Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步

摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 在A节点创建原表和物化视图日志 在B节点创建连接A节点的远程链接 在B节点处创建目标表和与目标表名称相同的物化视图 在B节点处刷新物化视图 升级采用存储过程定时任务JOB方式定时刷新物化视图 进一步优化 文章更新记录 参考文章 Oracle 10g 物化视图语法如下: create materia

oracle物化视图创建

我们如果遇到需要从其它系统的数据库中取数据进行统计分析的问题,可疑选择使用ORACLE的ODI工具进行抽数,但是对方提供的数据库用户下没有任何对象,只是有查询所有表的权限,因此无法做数据反向. 于是决定使用物化视图,把对方数据库中的数据拿过来,虽然数据量比较大,但是每月只拿一次,而且如果设置成增量更新,也不会太慢.现在记录下物化视图的创建过程(以一张表为例). 一.准备条件以及备注 假设双方数据库都是ORACLE10g,需要同步过来的表名叫:GG_ZLX_ZHU,对方数据库用户名:usernam

[转] Oracle sql 语句执行过程图文分析

[原文链接]  http://nvd11.blog.163.com/blog/static/200018312201301310585758/ [原文视频]  http://www.jiagulun.com/thread-2674-1-1.html 1. 数据库文件Oracle 数据库文件大概可分为3种,分别是:控制文件(control files): 存放数据库本身物理结构信息数据文件(data files): 存放数据库数据啦~日志文件(log files):  包括重做日志文件和归档日志文

数据库使用-oracle索引的创建和分类

数据库使用-oracle索引的创建和分类 索引是数据库中一种可选的数据结构,她通常与表或簇相关.用户可以在表的一列或数列上建立索引,以提高在此表上执行 SQL 语句的性能.就像本文档的索引可以帮助读者快速定位所需信息一样,Oracle 的索引提供了更为迅速地访问表数据的方式.正确地使用索引能够显著的减少磁盘 I/O. Oracle 提供了多种类型的索引,可以互为补充地提升查询性能: ·        平衡树索引(B-tree index) ·        平衡树簇索引(B-tree clust

sql学习笔记(18)-----------数据库创建过程

手动创建数据库的步骤: 第一步:决定数据库实例的SID 数据库实例的SID用来将当前实例和以后可能创建的实例进行区分 % setenv ORACLE_SID mynewdb 第二步:建立数据库管理员认证方法 第三步:创建初始化參数文件 实例(由内存结构SAG和后台进程组成)启动过程中要读取初始化參数文件.得到初始化參数文件的一个好办法是改动一个已有的初始化參数文件.为了简化操作,将初始化參数文件放在Oracle默认的位置上.这种话.当数据库启动时,就没有必要再指定pfile參数了.由于Oracl

oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序

15511477451 原文 oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序? 环境:win7 64位系统.oracle11g数据库 问题描述:在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错.错误提示内容如下. 错误分析: 经过查看警告中给出的日志文件 F:\develop\oracle_data\app\Administrator\cfgtoollog