qq_35281950 2018-05-02 08:15 采纳率: 0%
浏览 2684
已结题

plsql导出30G的数据(orcale),怎么快点?

有个orcale数据库,用工具plsql 导出30G的数据,再导入到备用数据库里面。请问怎么快一点?

  • 写回答

3条回答

  • 游泳的魚 2018-05-02 08:34
    关注

    你好,导出这么大数据,最好使用exp或者数据泵方式导出和导入,效率会更高,现将这两种方式使用方式说明如下:
    一、exp\imp方式,在cmd命令窗口输入:
    1、导出:exp user/password file=d:\exp.dmp log=d:\exp.log full=y
    2、导入:imp user/password file=d:\exp.dmp log=d:\imp.log full=y
    二、数据泵方式
    1、新建逻辑目录
    最好以system等管理员创建逻辑目录,Oracle不会自动创建实际的物理目录“D:\oracleData”(务必手动创建此目录),仅仅是进行定义逻辑路径dump_dir;
    sql> conn system/123456a?@orcl as sysdba;
    sql>create directory dump_dir as 'D:\oracleData';
    2、查看管理员目录(同时查看操作系统是否存在该目录,因为oracle并不关心该目录是否存在,假如不存在,则出错)
    sql>select * from dba_directories;
    3、用expdp导出数据
    1)导出用户及其对象
    expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir;
    2)导出指定表
    expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;
    3)按查询条件导
    expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20';
    4)按表空间导
    expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmptablespaces=temp,example;
    5)导整个数据库
    expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;
    4、用impdp导入数据
    在正式导入数据前,要先确保要导入的用户已存在,如果没有存在,请先用下述命令进行新建用户
    --创建表空间
    create tablespace tb_name datafile 'D:\tablespace\tb_name.dbf' size 1024m AUTOEXTEND ON;
    --创建用户
    create user user_name identified by A123456a default tablespace tb_name temporary tablespace TEMP;
    --给用户授权
    sql>grant read,write on directory dump_dir to user_name;
    sql>grant dba,resource,unlimited tablespace to user_name;
    1)导入用户(从用户scott导入到用户scott)
    impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;
    2)导入表(从scott用户中把表dept和emp导入到system用户中)
    impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmptables=scott.dept,scott.emp remap_schema=scott:system;
    3)导入表空间
    impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;
    4)导入数据库
    impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;
    5)追加数据
    impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action
    以上是日常工作中实际工作中用到的,希望能够给你得到帮助。

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能