原文地址: http://blog.csdn.net/tangkai_java/article/details/5831741
工作中需要从一个数据库中的表GIS_WEICHAI_DATA_1S中的数据导入到另个一数据库的表GIS_WEICHAI_DATA_1S中,数据库服务器都是远程的<IP分别为: 221.131.228.256 211.161.192.46>!我的实现方法是在本地使用PL/SQL操作两个远程服务器,实现方式如下:
1.
为你需要操作的远程数据库服务器建立本地服务名:
在本地数据库安装文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件,
末尾添加
--第一个远程服务器的服务名:MYORACLE1
MYORACLE1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 221.131.228.256)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
--第一个远程服务器的服务名:MYORACLE2
MYORACLE2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.161.192.46)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
--如果有更多的远程数据库需要同时操作,可以依次增加!
--如果本机用的Windows操作系统,可以使用Oracle自带的Net Manager 工具,以图形化的操作方式来建立服务名!
2.
在本机上使用sysdba的角色登录本地数据库,创建database link:
执行如下sql语句:
--远程服务器一的对应database link
create public database link MYDBLINK1 --可以随便取名,当然,不能是关键字或保留字
connect to dbUserName1 identified by dbpwd1
using ' MYORACLE1';
--远程服务器二的对应database link
create public database link MYDBLINK2 --可以随便取名,当然,不能是关键字或保留字
connect to dbUserName2 identified by dbpwd2
using ' MYORACLE2';
--其中using后面填对应的数据库服务名,dbUserName1,dbpwd1填对应的数据服务器登录名,密码
--删除database link
Drop database link MYDBLINK1; --本例中是MYDBLINK1和MYDBLINK2
3.
操作远程服务器上的表,在要在对应的表后面加上@ linkName(对应的数据库链接名),就跟操作本地数据库中的表差不多,可以从不同数据库服务器中提取数据!很方便!
insert into GIS_WEICHAI_DATA_1S@MYDBLINK1 select * from GIS_WEICHAI_DATA_1S@ MYDBLINK2 where rownum<=10000;
4.
如果需要频繁的使用远程服务器中的表,上面的写法有点烦人,这时候可以考虑为这个表创建一个同义词
create synonym syName for GIS_WEICHAI_DATA_1S@MYDBLINK1;
以后在要使用GIS_WEICHAI_DATA_1S@MYDBLINK1的时候用syName就可以了!
删除同义词的语法为:
drop synonym syName;
5.
查看当前数据库的DB Link;
select * from user_db_links; --用户 DB Link
select * from dba_db_links; --dba DB Link
select * from v$dblink; --当前DB Link
分享到:
相关推荐
Oracle跨数据库查询并插入是一种常见的数据迁移或同步技术,它允许你在不同的Oracle数据库实例之间进行数据操作。在本文中,我们将深入探讨实现这一功能的原理和步骤。 首先,要实现跨数据库查询和插入,你需要在...
综上所述,文档《oracle数据库从入门到精通.pdf》从表空间的创建讲起,逐步深入到用户管理、数据类型介绍、数据操作语言、备份恢复命令以及查询语句的编写等多个方面,为读者提供了一个全面的Oracle数据库学习路径,...
Oracle数据库学习总结资料.pdf 是一份关于 Oracle 数据库的学习总结资料,涵盖了 Oracle 数据库的各个方面,包括 Oracle 的简介、简单查询、标量函数和算数运算、多表查询、列函数和分组、子查询、表的更新操作、表...
2. **SQL基础**:教材会涵盖SQL的基本概念,包括数据查询、插入、更新和删除,以及如何创建和管理表、视图、索引等数据库对象。还会涉及子查询、联接操作、集合操作和事务管理等高级SQL用法。 3. **PL/SQL编程**:...
Oracle 数据库课程设计报告 本课程设计报告的主要目的是设计一个完整的图书管理系统,使用 Oracle 作为后台数据库,VC、C++、C# 作为前台开发工具。该系统应包含输入输出、查询、插入、修改、删除等基本功能。 ...
4. **SQL与PL/SQL**:深入解析SQL语言,包括查询、插入、更新、删除等操作,以及PL/SQL编程,如过程、函数、包的编写和调用。 5. **安全性**:介绍用户管理、权限和角色、审计、数据加密等,确保数据库的安全性。 ...
Oracle数据库是一种广泛应用于企业和组织的大型关系型数据库管理系统,它提供了高效的数据存储、管理和查询功能。在Oracle数据库课程中,学生们通常会被要求掌握一系列基础知识,包括数据库的逻辑存储结构、服务端口...
在企业环境中,理解并掌握Oracle数据库的使用对于DBA(数据库管理员)和开发人员至关重要。例如,通过OT和HR数据库,他们可以学习如何设计符合业务需求的数据库架构,以及如何编写高效、安全的SQL代码来支持企业的...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它提供了高效的数据存储、管理和查询功能。在数据库开发过程中,经常会遇到各种疑难问题,本压缩包"Oracle数据库常见疑难解答.rar"显然是针对这些问题...
在Oracle中,数据库链接(DB Link)是一种连接到远程Oracle数据库的机制,允许我们在本地数据库上执行远程数据库的操作。创建DB Link的基本语法如下: ```sql CREATE DATABASE LINK db_link_name CONNECT TO remote...
在.NET开发环境中,C#语言提供了丰富的库支持与多种数据库进行交互,其中之一就是Oracle数据库。Oracle.ManagedDataAccess是Oracle公司推出的全托管.NET数据提供者,它允许C#开发者无需依赖Oracle客户端,直接通过...
以上内容是Oracle大型数据库实验的基础,通过这些实验,学生可以深入理解Oracle数据库的运作机制,并为更高级的数据库管理和开发打下坚实的基础。在实际操作中,还需要注意数据库的安全性、性能调优、备份恢复等高级...
Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它由甲骨文公司(Oracle Corporation)开发和维护。这份"Oracle数据库笔记共23页.pdf.zip"文件显然包含了一份详尽的Oracle数据库学习资料,可能是从...
2. **Oracle数据库操作**:一旦建立了连接,我们可以通过`Statement`或`PreparedStatement`对象来执行SQL语句,包括查询、插入、更新和删除数据。在本示例中,还涉及到调用Oracle数据库中的函数和存储过程,这通常...
本文将详细介绍如何在Oracle数据库中插入、查询和管理图片。 首先,我们需要创建一个包含BLOB列的表来存储图片。以下是一个创建该表的SQL语句示例: ```sql CREATE TABLE images ( id NUMBER PRIMARY KEY, image...
Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级应用、数据分析以及互联网服务等领域。在Java编程中,为了与Oracle数据库进行交互,我们需要使用特定的数据库连接驱动,这就是ojdbc6驱动的...
Oracle数据库在应用开发中扮演着至关重要的角色,它是一个强大且广泛使用的数据库管理系统,尤其适合企业级的数据存储和处理。本教程将深入讲解如何基于Oracle数据库进行应用开发,包括数据库设计的方法、人事管理...
Oracle数据库是世界上最流行的数据库管理系统之一,尤其在企业级应用中占据重要地位。"Oracle数据库01数据库起步"的课程内容涵盖了数据库系统的基础知识,旨在帮助初学者建立起对Oracle数据库的全面理解。 首先,...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。它提供了丰富的功能,包括数据存储、查询、事务处理、安全性、备份恢复等。本压缩包"oracle数据库测试sql文件.zip"显然是...