oracle导入数据的方式比较多:主要介绍两种十分简单的方式(通过已存在的工具完成导入)。
一、通过pl/sql developer导入.csv数据。
普通的pc机,这种方式一般只能导入20+w的数据,再多就有卡死的风险。
工具->工具导入器->打开,选择.csv文件导入:如下截图:
可以修改“每次提交”的数目,需要注意源数据与表字段的映射关系,然后点击“导入”,即可。
二、如果量达到100w级以上,建议用sql语句导入或其它方式。
在达到100w+后,最好在服务器上通过sqlplus连接导入,在pc端直接完成导入应该比较困难。
sqlplus usr/pwd@'(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = xxxx) (SERVICE_NAME = xxxx)))'
然后输入insert into sql语句即可,导入完成后commit。
三、数据库之间迁移数据。
有时间需要从将一个数据库的数据,迁移到另外一个数据库,这就必然使用到DB link。如:我们需要从数据库A向数据库B导入数据。
在DBA分配DB link权限之后,使用下面语句在数据库A上创建DB link。
create database link dblink_AtoB
connect to usr identified by pwd
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = xxxx)
(SERVICE_NAME =xxxx)
)
)';
创建之后,可以通过pl sql developer,或者sql语句查看是否创建成功,此处我们创建的db link名为:dblink_AtoB。
然后使用类似如下的sql语句,即可完成导入数据。
insert into B_table@DBLINK_ATOB select * from usr.A_table;