`

dblinks

 
阅读更多

第一个人:

1.创建dblink语法:

CREATE [PUBLIC] DATABASE LINK link 

CONNECT TO username IDENTIFIED BY password

USING ‘connectstring’

说明:

1) 权限:创建数据库链接的帐号必须有CREATE DATABASE LINKCREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。这两种权限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK权限在DBA中)。一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用。由一个用户给另外一个用户授权私 有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。

2)link :  GLOBAL_NAME=TRUE时,link名必须与远程数据库的全局数据库名global_name)相同;否则,可以任意命名。

3)connectstring:连接字符串,tnsnames.ora中定义远程数据库的连接串。

4)usernamepassword:远程数据库的用户名,口令。如果不指定,则使用当前的用户名和口令登录到远程数据库。

2.删除数据库链接的语句:

DROP [PUBLIC] DATABASE LINK zrhs_link

3.查看已创建的dblink

select owner,object_name from dba_objects where object_type='DATABASE LINK';

4.dblink的引用:

[user.]table|view@dblink

如:

SELECT * FROM worker@zrhs_link;

SELECT * FROM camel.worker@zrhs_link ;

5.创建同义词:

对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:

CREATE SYNONYM worker_syn FOR worker@zrhs_link;

6.创建远程视图:

CREATE VIEW worker AS SELECT * FROM worker@zrhs_link where…;

现在本视图可与本地数据库中的任何其它视图一样对待,也可以授权给其它用户访问此视图,但该用户必须有访问数据库链接的权限。

其他:

修改GLOBAL_NAME的方法:

1.在远程数据库的init.ora文件中将global_names设为false

或者

2.sys用户执行如下语句:ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

修改后重新启动数据库设置才能生效。

数据库全局名称可以用以下命令查出:SELECT * FROM GLOBAL_NAME;



===== dblink
实战 ======

1.dblink分为公有和私有两类。

公有dblink使用public修饰关键字。在createdrop的时候都需要使用public关键字。

公有dblink对所有人开放,在该dblink之上创建的同义词也会随之对所有人开放。(测试并确认,不过测试是在一个实例多个用户之间进行)

私有dblink只有创建者可以访问,其上的同义词不能被其他用户访问。需为用户创建视图,并将视图授权给所需用户后,用户才可访问该视图。

另外,不能将带有dblink的同义词直接授权给用户。否则报错,其等价于:

grant select on table1@user1 to user2                           *

ERROR at line 1:

ORA-02021: DDL operations are not allowed on a remote database

2.创建dblink时,可以使用连接字符串(与tnsname.ora中的),效率较高。

 

第二个人:

四. 连接成功后从所连接的数据库中取数的方法:

     1. select * from tbl_ost_notebook@dblink;

     说明:只需在表名的后面加上"@DBLINK名字"即可。    

五. 在当前数据库下查看所有的DBLINK的方法:

     1. select * from dba_db_links;     

六. 删除当前数据库下的一个指定的DBLINK的方法:

     1. 如果创建的是一个public的DBLINK,删除时需要用

        drop public database link dblink;

     2. 如果创建的是一个private的DBLINK,删除时需要用

        drop database link dblink;

     说明:drop public database link DBLINK名字;     

七. 查看当前数据库的全局数据库名的方法:

     1. select * from global_name;   

八. 查看当前用户具有哪些针对DBLINK的权限的方法:

     1. SELECT DISTINCT PRIVILEGE AS "Database Link Privileges"

        FROM ROLE_SYS_PRIVS

        WHERE PRIVILEGE IN ( 'CREATE SESSION','CREATE DATABASE LINK',

                             'CREATE PUBLIC DATABASE LINK');    

  • 大小: 5.8 KB
分享到:
评论

相关推荐

    Oracle使用dblink导用户下的所有表数据(以迁移scott用户为例)

    Oracle数据库是一种广泛应用于企业级数据存储和管理的系统,它提供了强大的数据迁移工具,其中之一就是DB Link(数据库链接)。在本教程中,我们将探讨如何利用DB Link来迁移Oracle数据库中的用户下所有表的数据,以...

    Oracle之dblink的配置

    Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置 Oracle之dblink的配置

    精通oracle.10g.pl.sql编程

    12. **数据库链接(DB Links)**:理解跨数据库通信的机制,如何创建和使用DB Links进行远程数据访问。 13. **事务管理**:掌握COMMIT、ROLLBACK和SAVEPOINT语句,以及事务的一致性和并发控制。 14. **PL/SQL与...

    精通Oracle 10g PLSQL编程

    12. **数据库链接(DB Links)**:通过DB Links,可以在不同的Oracle数据库之间执行远程SQL和PLSQL,实现数据的跨库操作。 13. **PL/SQL内置函数**:Oracle提供大量内置函数,如数学函数、字符串函数、日期时间函数...

    Oracle+9i&10g;编程

    3. 数据库链接(DB Links):允许在不同的数据库实例之间进行透明的数据访问,简化了分布式数据库操作。 4. 分区表:增强了大表的管理和查询性能,通过范围、列表、散列等分区方式提高数据处理能力。 5. 网络数据库...

    oracle_dblink.zip_oracle

    确保只有授权的用户可以创建和使用 DBLinks,并且远程数据库的访问权限也应适当限制。 - **性能**:虽然 DBLink 提供了跨库访问的便利,但其性能受到网络延迟和带宽的影响。复杂查询可能导致大量网络传输,可能影响...

    基于Oracle的数据交换技术研究.pdf

    在Oracle中,可以通过数据库链接(DB Links)、Materialized Views等机制实现数据管道,以实现实时或近实时的数据交换。Spool则是Oracle中的一个缓冲区,用于临时存储输出数据,它可以在数据处理过程中提高性能和...

    DevArt ODAC 8.6.11(17-Dec-2012) Only Source

    3. **全面支持 Oracle 功能**:ODAC 全面支持 Oracle 的各种特性和功能,包括 PL/SQL 存储过程、触发器、游标、事务管理、LOB 数据类型、Oracle 数据库链接(DB Links)、Oracle 分区表等。 4. **易于使用**:ODAC ...

    plsql面试题.doc

    为了在面试中脱颖而出,还需要深入理解数据库理论,熟悉数据库设计原则,如第三范式(3NF),以及了解Oracle特有的特性,如Materialized Views、DB Links、Sequence等。记住,实践经验也是评估技能的重要标准,所以...

    Protecting Oracle Database 12c

    首先,书中的内容强调了在面临持续和新的安全问题时,如何防御Oracle数据库的安全风险和架构漏洞,例如数据库链接(DBlinks)的安全问题。数据库链接是一种数据库对象,它允许一个数据库实例访问另一个数据库实例中...

    Oracle9i数据库管理实务讲座

    Oracle9i提供了多种复制技术,如逻辑复制(如Materialized Views和DB Links)、物理复制(如RMAN和Flashback Technology)和实时应用集群(Real Application Clusters,RAC),以实现高可用性和灾难恢复。...

    北京yd大学软件工程研究生的课程---数据库设计开发

    此外,课程可能还会涉及Oracle的其他高级特性,如数据库链接(DB Links)、物质化视图(Materialized Views)、物化子查询、并行查询(Parallel Query)等,这些都是优化大型数据库性能的关键技术。 最后,数据库...

    oracle9i2学习文档ppt

    3. 数据库链接(DB Links):允许在不同数据库之间进行透明的查询和事务处理。 4. 自动存储管理(Automatic Storage Management, ASM):简化存储管理,自动进行数据文件和控制文件的存储和备份。 此外,Oracle...

    利用hcheck检查数据字典不一致

    - **数据库链接(DB LINKS)**:检查数据库链接的可用性和安全性。 - **用户和权限**:分析用户的权限设置,防止权限过度授予或缺失。 - **视图(VIEWS)和触发器(TRIGGERS)**:验证视图和触发器的定义是否正确...

    Oracle PL/SQL程序设计(第5版)源代码

    10. **数据库链接(DB Links)**:如果包含,这部分可能涉及到如何使用PL/SQL通过数据库链接在不同的Oracle实例间通信。 通过这些源代码,开发者可以加深对PL/SQL的理解,学习如何在实际项目中应用这些概念。同时,...

    Oracle 10g 标准教程课件 PPT

    13. 数据库链接(DB Links):允许在不同的数据库实例间进行通信和数据交换,方便分布式数据库操作。 14. Oracle Enterprise Manager:是Oracle提供的图形化管理工具,用于监控、配置和管理Oracle数据库,包括性能...

    oracle学习资料

    Oracle的数据库链接(DB Links)功能允许跨数据库的查询和操作,对于分布式系统特别有用。 最后,Oracle的性能监控工具,如动态性能视图(V$ views)和AWR(Automatic Workload Repository)、ASH(Active Session ...

    Oracle PLSQL语言初级教程.rar

    12. **数据库链接(DB Links)**:理解如何通过数据库链接在不同的Oracle实例之间进行通信和数据交换。 13. **最佳实践**:提供编写高效、可读和可维护的PL/SQL代码的建议。 在学习过程中,配合提供的"Oracle ...

    Oracle 8i PL_SQL高级程序设计

    11. **数据库链接(DB Links)**:Oracle 8i中的数据库链接允许在不同数据库实例间进行通信,从而实现跨数据库的查询和操作。 12. **性能优化**:了解索引、存储优化、绑定变量、缓存策略等技术,有助于提升PL/SQL...

Global site tag (gtag.js) - Google Analytics