http://blog./25373498/viewspace-730985 一 基本命令: 1. 获取帮助 $ exp help=y $ imp help=y 2. EXP是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin c.整个数据库: 导出数据库中所有对象。
3.IMP是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin 二、数据导出: 1、 将数据库ora10g完全导出,用户名system 密码manager 导出到D:\full_emp.dmp中 $ exp system/manager@ora10g file=d:\full_emp.dmp full=y log=d:\full_emp.log 2、 将数据库中system用户与sys用户导出 $ exp system/manager@ora10g file=d:\sys_system_emp.dmp owner=(system,sys) log=d:\sys_system_emp.log 3、 将数据库中的scott用户的表table1 、table2导出 $ exp scott/tiger@ora10g file=d:\t1_t2_emp.dmp tables=(table1,table2) log=d:\t1_t2_emp.log 4、 将数据库中scott用户的表table1中的字段filed1以"00"打头的数据导出 $ exp system/manager@ora10g file=d:\00_emp.dmp tables=(table1) query=\" where filed1 like '00%'\" log=d:\00_emp.log 三、数据的导入 1、将D:\full_emp.dmp 中的数据导入 ora10g数据库中。 $ imp system/manager@ora10g file=d:\full_emp.dmp log=d:\full_imp.log // 一般是建一个新库,然后全库导入 2 将d:\t1_t2_emp.dmp中的表table1 导入 $ imp scott/tiger@ora10g file=d:\t1_t2_emp.dmp tables=(table1) log=d:\t1_imp.log // 一般是将表彻底删除,然后导入。 3,将用户导入: $ imp scott/tiger@ora10g file=d:\scott_emp.dmp fromuser=scott touser=scott log=d:\scott_imp.log 四,Oracle imp备份导入注意事项: (1)数据库对象已经存在 一般情况,导入数据前应该彻底删除目标数据下的表,序列,函数/过程,触发器等;数据库对象已经存在,按缺省的imp参数,则会导入失败如果用了参数ignore=y,会把Oracleexp文件内的数据内容导入如果表有唯一关键字的约束条件,不合条件将不被导入如果表没有唯一关键字的约束条件,将引起记录重复。 (2)数据库对象有主外键约束 不符合主外键约束时,数据会导入失败解决办法:先导入主表,再导入依存表disable目标导入对象的主外键约束,导入数据后,再enable它们 (3)权限不够 如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限 (4)导入大表(大于80M )时,存储分配失败 默认的EXP时, compress = Y,也就是把所有的数据压缩在一个数据块上.导入时,如果不存在连续一个大数据块,则会导入失败.导出80M以上的大表时,记得compress= N,则不会引起这种错误. (5) imp和exp使用的字符集不同 如果字符集不同,导入会失败,可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.导入完成后再改回来. (6) imp和exp版本不能往上兼容 imp可以成功导入低版本exp生成的文件,不能导入高版本Oracleexp生成的文件 (7)只导出表结构:加direct=y参数 (8)导出的文件是二进制文件 如果要经历FTP传输 一定要使用binary传输模式传 如果使用ASCII模式传输会损坏文 件 如果用户导出其他用户的对象: 1)需要dba的权限 2)或者exp_full_database的权限 |
|
来自: 一杉一水 > 《ORACLE\AIX\C》