1 oracle的EXP介绍
导入/导出 是oracle中很常用的两个命令行工具(exp/imp),利用Exp是一个很好的备份方式。特别是在小型数据库的转储,表空间的迁移,表的抽取,
检测逻辑和物理冲突等中有不小的功劳。
2 oracle的EXP参数
EXP 的常用参数
1 USERID 用户名/口令 如 USERID=weiguo/liweiguo
2 File和 Log 这两个参数分别指定备份的DMP名称和Log名称 包括文件名和目录。
3 ROWS 导入数据行
4 FULL 导出整个数据库,在Rows=N 一起使用时,可以导出整个数据库的结构。
例如:
exp userid=test/test file=E:\bakup\we_bak.dmp log=E:\bakup\we_bak.log full=y rows=n
5 OWNER 所有者用户名列表,即你希望导出哪个用户的对象,就用owner=username
6 TABLES 表名列表,指定导出的tables名称,如Tables=table1,table2
例如:
exp userid=test/test file=E:\bakup\we_bak.dmp log=E:\bakup\we_bak.log owner=weiguo
exp userid=test/test file=E:\bakup\we_bak.dmp log=E:\bakup\we_bak.log tables=table1,table2
7 BUFFER 数据缓冲区的大小
8 FEEDBACK 设置数量X,显示每X行数据的进度
Buffer 和 FeedBack 在导出比较多的数据时,要考虑设置这两个参数。
例如:
exp userid=test/test file=E:\bakup\we_bak.dmp log=E:\bakup\we_bak.log
feedback=10000 buffer=100000 tables=table1,table2
9 COMPRESS 参数不压缩导出数据的内容。 推荐使用compress=n
3 常用的EXP导出语句样式
实际中常用的数据导出语句:
1 将数据库weiguoDB完全导出,用户名system 密码sys123 导出到E:/daochu.dmp中
exp system/sys123@weiguoDB file=e:/daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/sys123@weiguoDB file=e:/daochu.dmp owner=(system,sys)
3 将数据库中的表userInfo、bomInfo导出 用户/密码 weiguo/liweiguo 数据库为weiguoDB 生成数据库备份文件databak.dmp
exp weiguo/liweiguo@weiguoDB file= d:/data/databak.dmp tables=(userInfo,bomInfo)
4 如果 做一个每天的备份,于是想到了用%date%来取得当天的时间,然后做为每天备份的文件名,变量去生成文件名
exp weiguo/liweiguo@weiguoDB file=E:\bakup\we_bak%date:~4,10%.dmp owner=weiguo
在windows xp 系统下 生成为we_bak-10-11.dmp
注:
日期的原始格式内容 和所使用的操作系统有关。 要学会灵活截取。
%date%来取得当天的时间 系统的当天时间的格式全部内容
%date:~0,10% 截取相应的数据信息
%time% 当前系统时间
语法格式:以百分号括起,中间以冒号间隔,前面为内存变量名,后面为控制符,前后控制符之前以逗号间隔。
%variable:~n,m% ~n 指定偏移量 ,m指定截取字符长度
如果两者的数值(偏移量或长度)是负数,使用的数字将会是环境变量的长度加上位移或指定长度。
字符:单个英文字符、单个中文字符均视为最小字符单元,这个和一个中文字符占用两个英文字符的处理不同。
4 任务计划
windows系统中的任务计划 (左下角的开始---程序--附件--系统工具--任务计划)
利用“任务计划”,可将任何脚本、程序或文档安排在您最方便的时候运行。 “任务计划”在您每次启动 Windows XP 时启动并在后台运行,它按照您在创建任务时指定的时间启动计划的每个任务。
5 EXP+任务计划实现数据库每天备份
1 确定自己的客户端可以连接到要备份的数据库 如 数据库为 weiguoDB 用户名/密码 weiguo/liweiguo
2 在本地硬盘上建立一个专门存储备份数据库文件的文件夹 如E:\bakup
3 在这个文件夹下建立一个批处理文件backup.bat 内容如下:
exp weiguo/liweiguo@weiguoDB file=E:\bakup\databak%date:~4,10%.dmp owner=weiguo
exit
4 通过 附件-系统工具-任务计划 进入任务计划页面,添加一个新的任务计划。
按照创建向导 选择要在windows上运行的程序是E:\bakup\backup.bat 计划任务设置 为每天 时间为23:50
建立完成。
5 运行这个任务计划就可以了,每天都会在E:\bakup文件夹下生成前一天的数据库备份文件。