十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这么大的数据量首先不建议用pl/sql里的工具去导入。
创新互联公司于2013年成立,先为永济等服务建站,永济等地企业,进行企业商务咨询服务。为永济企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
可以用sqlldr去做处理。
其中先把excel文件转换成unl后缀的文件名,其中里边的字段以‘|’隔开。
然后在写一个ctl:
如:
LOAD DATA CHARACTERSET ZHS16GBK
INFILE
BADFILE
APPEND INTO TABLE table_name
FIELDS TERMINATED BY "|"
TRAILING NULLCOLS
(
name,
id,
sex)
在linux中,执行命令如下:
sqlldr userid= $1/$2@$3 control= ./data_name.ctl data=./data_name.unl;
执行中会有日志,报错可以在当前目录下看log日志,看看哪里出了问题。
即可!
你的理解是正确的,可以这样做。
生成固定格式的数据文件,然后可以使用oracle的数据加载工具sqlldr进行直接插入数据,效率上会好很多,在并发的情况下,oracle声称可以每小时100G的数据量。
我给你一些数据库常用的导入导出命令吧:\x0d\x0a该命令在“开始菜单运行CMD”中执行\x0d\x0a一、数据导出(exp.exe)\x0d\x0a1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、将数据库orcl中scott用户的对象导出\x0d\x0aexp scott/accp@orcl file=d:\daochu.dmp owner=(scott)\x0d\x0a\x0d\x0a3、将数据库orcl中的scott用户的表emp、dept导出\x0d\x0aexp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)\x0d\x0a\x0d\x0a4、将数据库orcl中的表空间testSpace导出\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)\x0d\x0a\x0d\x0a二、数据导入(imp.exe)\x0d\x0a1、将d:\daochu.dmp 中的数据导入 orcl数据库中。\x0d\x0aimp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y\x0d\x0a\x0d\x0a3、将d:\daochu.dmp中的表emp导入\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp tables=(emp)