Oracle:导出A库指定表部分数据到B库

转自:http://hi.baidu.com/fuzylogic/blog/item/4e2532433a495f169313c685.html
2009-02-19 18:18
假定当前有两个数据库服务器,分别为A和B;数据库A中有个表c_country_region,包括3个字段(id,country_code,country_cname);现在要在数据库B中建立country表,包含2个字段(code,name),且数据与数据库A中的c_country_region表同步

1、首先在本地配置一个服务名,地址指向远程的数据库地址
需要在创建dblink 的DB上配置好tnsname.ora (该文件存放的位置为:
$ORACLE_HOME/network/admin/tnsnames.ora), 把那个被连接的db信息加入进去:
ORCL=
   (DESCRIPTION=
       (ADDRESS_LIST=
           (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.140)(PORT = 1521))
       )
       (CONNECT_DATA =
           (SERVICE_NAME = orcl)
       )
   )

2、测试:tnsping orcl


3、在数据库B中建立一个到数据库A的DBLINK (在pl/sql的Sql Window和Command Window运行命令即可)
create database link ciqlink connect to oaorg identified by fundo using 'orcl';
格式:create database link dblink_name connect to user_name identified by password using ‘ database_name ’;

也可以通过pl/sql图形化工具建立

4、通过dblink实现分布式查询
select country_cname from c_country_region@ciqlink;
格式:select 字段1,字段2,... from table_name@dblink_name where ...

5、建表
create table country as select country_code as code, country_cname as name from c_country_region@ciqlink;

也可以通过表复制语句创建表
INSERT INTO SELECT 语句
语句格式: Insert into Table2(field1,field2,...) select value1,value2,... from Table1

建表语句:insert into country(code,name) select country_code,country_name from c_country_region@ciqlink;

6、查询新表中的数据
select * from country;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值