Oracle数据库实例间的连接—link
来源:互联网 发布:数据产品质量的承诺 编辑:程序博客网 时间:2024/06/06 02:39
工作中使用的是Oracle数据库。
今天在工作中遇到正式库的表数据缺失的问题,这些缺失的数据需要从另外一个数据库实例的表中获取数据来补全,但是由于是两个数据库实例之间的数据迁移,之前没有遇到过,刚好最近又在学习Oracle数据库,于是便在网上学习了一些方式,其中的一种方式便是,利用数据库实例的连接来实现不同数据库实例中的数据迁移。现总结如下:
当前我的Oracle数据库上只有一个数据库实例即Oracle1,现在我再创建一个数据库实例即Oracle2。
创建数据库实例的方式有很多种,我使用dbca(Database Configuration Assistant,用于配置Oracle的数据库,可以创建新的数据库,配置现有数据库的数据库选项,删除数据库实例以及管理数据库模板)创建新的数据库Oracle2,Oracle2数据库中有system,sys,scott用户,和Oracle1初始化时的用户一致。关于使用dbca创建新的数据库实例的教程很多,此处不予演示。
在oracle1中把emp表中enamel为‘KING’的mgr字段值改为242,此时假设一个需求,我想把oracle2中emp表中enamel为‘KING’的mgr字段值改为和oracle1中的一样,不要告诉我直接登录oracle2修改就行,因为我想用建立数据库连接的方式修改。
第一步:建立两个数据库之间的连接。
利用oracle2数据库的用户登录,和oracle1数据库实例建立连接,连接语句如下:
create public database link test_link connect to scott identified by nana using 'oracle1';
按下回车,此时sql*plus显示“数据库链接已创建”,说明oracle2数据库实例已经成功连接上oracle1。
上面语句中test_link 表示建立的数据库连接的连接名,scott 表示利用oracle1数据库实例中的scott和oracle1数据库实例进行连接,而nana则是scott用户的登录密码。oracle1表示和oracle1建立连接。其中public关键字可以省略。
此时我想在登录oracle2的情况下查询到oracle1中的emp表的数据,可以用以下的sql语句:
select * from emp@test_link;
其中emp表示要查询的表,test_link表示利用test_link数据库连接。
第二步:修改数据,很简单的一条sql语句就能搞定。
update emp a set a.mgr = (select b.mgr from emp@test_link b where a.empno = b.empno ) where a.empno = 7839;
另外假如你想把oracle1中的emp的数据迁移到oracle2中,并在oracle2中建立一张新表来存储oracle1中的emp的数据,也很简单,登录oracle2数据库,执行如下语句:
create table temp as select * from emp@test_link;
通过select * from temp;便可查看到数据已经迁移到oracle2新建的表temp中了。
以上就是通过表连接建立数据迁移的基本逻辑。
- Oracle数据库实例间的连接—link
- Java连接oracle数据库实例
- Java连接oracle数据库实例
- Java连接oracle数据库实例
- JDBC连接Oracle数据库实例
- oracle查看数据库名、数据库实例名和db link
- 实例代码讲解Java连接Oracle数据库的各种方法
- 实例代码讲解Java连接Oracle数据库的各种方法
- Solaris下OCI连接Oracle数据库的实例
- oracle学习.数据库实例的用户创建以及创建连接
- oracle学习.数据库实例的用户创建以及创建连接
- Oracle数据库database link的使用
- oracle数据库的实例
- Oracle数据库的连接
- oracle 连接数据库的
- oracle数据库的连接
- Oracle 数据库的连接
- oracle数据库的连接
- baiducloud go through
- ARM與Cortex筆記
- python网络编程学习笔记:webpy框架 (转)
- POST方式发送ajax请求详解
- C语言--程序设计基础--6章
- Oracle数据库实例间的连接—link
- Material Design主题
- 分布式Redis集群解决方案
- iOS 8自动调整UITableView和UICollectionView布局
- EL表达式的使用
- C语言基础之分支结构—if...else—elseif—switch...case
- Java语言基础1--专题课 递归
- 使用Zend_Form_Element_File 获取文件
- 关于c++的成员初始化列表