例如在oracle中有2个用户sysdb、hellodb 在sysdb下面有表hello 在hellodb中有baby表
现在我想在oracle用户sysdb中使用hellodb用户的表baby的数据
那么怎么查询呢
select * from baby@link_hellodb
====================================
一般都会用imp exp 备份和导入数据库 但是有些时候 需要比较灵活的从两个数据库之间取数据 我这里用到的是oralc的dblink方式。
首先监听器tnsnames.ora这个文件能连接到远程要创建dblink的数据库。
-- 创建dblink MANAGER为远程数据库的用户名 password 为远程数据库的密码, orcl为监听器连好的链接名称
Sql代码
1.create database link DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
2. connect to MANAGER identified by password
3. using 'orcl';
create database link DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
connect to MANAGER identified by password
using 'orcl';
这样就可以连接到 orcl数据库 灵活的取每一张表的数据了
--两个数据库都存在 tb_demo表 这是本表插入
--查询数据 sql和本地一样了 只是后面加个@DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM 就等于是dblink连好的远程数据库了
Sql代码
1.INSERT INTO tb_demo
2. SELECT * FROM tb_demo@DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
3. where iyear=2011
4. and imonth=8 and flag=0
现在我想在oracle用户sysdb中使用hellodb用户的表baby的数据
那么怎么查询呢
select * from baby@link_hellodb
====================================
一般都会用imp exp 备份和导入数据库 但是有些时候 需要比较灵活的从两个数据库之间取数据 我这里用到的是oralc的dblink方式。
首先监听器tnsnames.ora这个文件能连接到远程要创建dblink的数据库。
-- 创建dblink MANAGER为远程数据库的用户名 password 为远程数据库的密码, orcl为监听器连好的链接名称
Sql代码
1.create database link DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
2. connect to MANAGER identified by password
3. using 'orcl';
create database link DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
connect to MANAGER identified by password
using 'orcl';
这样就可以连接到 orcl数据库 灵活的取每一张表的数据了
--两个数据库都存在 tb_demo表 这是本表插入
--查询数据 sql和本地一样了 只是后面加个@DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM 就等于是dblink连好的远程数据库了
Sql代码
1.INSERT INTO tb_demo
2. SELECT * FROM tb_demo@DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
3. where iyear=2011
4. and imonth=8 and flag=0