您的位置:首页 > 数据库 > Oracle

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

2012-07-16 14:54 513 查看
转自: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;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: