1、 用sys用户全库导出DDL,不导出数据
Exp_all_dll.bat
说明:sys用户as sysdba登录,要用单引号引起来,SID紧跟着用户名密码,as sysdba放其后;rows=N表示不导出数据,只导出数据库对象定义。
2、 导出某个用户的表的前1000行
Exp_query_like.bat
说明:做成BAT文件执行,一直闪,执行不了;在CMD直接运行命令会报错,但不影响导出,是字符集设置问题。
3、 使用参数文件
Exp命令(exp_par.bat):
参数文件:(exp_par.par)
说明:在数据导出在可以使用参数文件的方式,但一般认为没有必要;日志文件和数据文件可以保存为以日期结尾的形式。
4、 预估导出文件的大小
估算导出文件的大小
5、 如果对象已经存在,只导入数据,忽视对象创建错误
imp_table_ignore.bat
但如果违反了唯一性约束,仍然会出错。
6、 多个数据文件导出与导入
这种做法通常用在表数据量较大,单个 dump文件可能会超出文件系统的限制的情况
exp_more_file.bat
imp_more_file.bat
说明:导出时,如果列出的数据文件不能完全装载导出的数据,则会提示输入新的数据文件名;导入时,各文件名是作为一个整体(所有导出的数据文件),必须全部列出。
7、 全库导入的一般步骤
注意:在导出时,需要通过toad或其他工具提取源数据库创建主键和索引的脚本
(1).先全库加 rows=n 把结构导进去
$ imp system/manager file=exp.dmp log=imp.log full=y rows=n indexes=n
(2).使业务用户的触发器失效/删除主键和唯一索引
执行生成的脚本:
@drop_pk_u.sql
@disable_trigger.sql
(3).以 ignore=y全库导入
$imp system/manager file=exp.dmp log=imp.log full=y ignore=y
(4).通过 toad或其他工具提取源数据库创建主键和索引的脚本,在目标数据库中创建主键和索引;使触发器生效。
8、 导入时忽略约束
imp_constraints.bat
但一般没有实际用处,因为如果这样,数据虽然可能导进去,但逻辑上可能已经全是错误的了。
9、 ……