oracle导入大数据到数据库表,解决办法

         最近项目中用到需向某个表插入数据,业务方提供的是excel,做法是:用excel写好sql,点击下拉,让生成一条一条insert.目前这批数据比较多有10W多。

         若在plsql中一条一条执行,会累死并效率低。

     解决办法:

           第一种:用begin    insert1,insert2 ... end;插入,这种个人感觉效率还行,每次选1W多条,40多S.

         第二种:用导入txt文档。简单核心命令如下:效率高,10W多W,总共用4分钟。

               (1)把待执行的txt sql上传到数据库服务器机器上,

              (2)上传完后,根据oracle 编码,设置编码格式,如我的oracle编码为utf-8,

                       则在导入前执行:export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
                                                                            export LANG="en_US.UTF-8"

               (3)通过oracle命令管理员账号登录

              (4)登陆后执行

                         spool /test/oracle/my.log 声明一个日志

              (5)执行脚本

                  @/test/oracle/脚本.sql

               (6)执行完后,查看日志是否报错,若没报错

                   cat /test/oracle/my.log |grep ERR

                  cat  /test/oracle/my.log |grep ORA

              (7)若没问题 commit

             (8)spool off

             (9)exit退出登陆

posted @ 2016-07-07 17:44  IT一族  阅读(280)  评论(0编辑  收藏  举报