您的位置:首页 > 数据库 > Oracle

oracle-备份方案之(EXP+任务计划)

2016-01-25 09:31 295 查看
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文件夹下生成前一天的数据库备份文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: