ORACLE-数据导入导出-常规exp/imp以及数据泵方式
博文说明【前言】: 本文将通过个人口吻介绍有关Oracle数据库导入导出相关知识,在目前时间点【2017年5月16号】下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容。 本文所写的导入导出是指在不使用工具的情况下,在命令行下进行的oracle数据库的导入和导出 正文: 一:常规exp/imp,导入导出方法 1、导出: 命令格式:exp user/pwd@IP/SID file=path/sth.dmpfull=y ignore=y; 实际案例: expmcptest/mcptest@192.168.137.138/cklpfile=/home/oracle/cklptest.DMPfull=yignore=y; 2、导入 命令格式:imp user/passwd@IP/SID fileName=fielPath full=y(full 不能少) ignore=y; 实际案例: impmcptest/mcptest@192.168.137.138/cklpfile=/home/oracle/cklptest.DMPfull=yignore=y; 二:数据泵导入导出方法 一、导出: 1. 创建默认导出目录 注意:操作系统级别需要该目录存在,本例中目录为dmp_dir,对应操作系统级别的/orasoft目录 SQL>createdirectorydmp_diras'/orasoft'; 2. 赋予指定用户在此目录的读写权限 SQL>GRANTREAD,WRITEONDIRECTORYdmp_dirtosystem; 3. 使用expdp导出数据库 expdp[dba_user/passwd]@SIDfull=yparallel=2directory=dmp_dir dumpfile=<ORACLE_SID>_%U.dmplogfile=log_name.log 二、导入: 1.创建默认导出目录 SQL>createdirectorydmp_diras'/app/oracle'; 3. 使用impdp工具进行全库导入 impdp[dba_user/passwd]@SIDfull=yparallel=2directory=dmp_dir dumpfile=<ORACLE_SID>_%U.dmplogfile=log_name.log 三:实际案例分析-数据泵导出 1. 创建默认导出目录 SQL>createdirectorydump_diras'/orasoft/dumpfile';
#cd/orasoft #expdpsystem/managerfull=ycluster=noparallel=2directory=dump_dirdumpfile=fccklpfull_%U.dmplogfile=log_name.log 注意:第三步操作需要在路径/orasoft 目录下执行,这里的server_name是fccklp,dmp名称为fccklpfull是表示整库数据,而且这里必须要写成fccklpfull_%U.dmp 的形式,因为开启了2路并行 就指定了一个文件是不行的,因此需要%U参数。 强烈注意:RAC集群环境无需加@SID,也即只需要输入[dba_user/passwd],后面无需加上@SID 如果导出单个用户,需要额外的再添加一个参数: expdp[dba_user/passwd]@SIDschemas=[用户名]full=yparallel=2 directory=dmp_dirdumpfile=<ORACLE_SID>_%U.dmplogfile=log_name.log 四:RAC集群数据泵导出问题记录: 曾经在RAC集群下执行数据泵导出的时候,出现过问题,后经DBA折腾2小时才弄好,顺便记录下解决过程 1、查询导出任务找到job_name select*fromdba_datapump_jobs 2、进入sqlplus界面,将该工作杀死 stop_job ---->yes 3、其他相关sql 删除数据泵默认目录: delete*fromdba_directorieswhereDIRECTORY_NAME="DMP_DIR"; 查询数据泵默认目录: select*fromdba_directories; 结尾: 感谢阅读,祝有收获的一天! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |