13
2015
11

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

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/[email protected]  file=e:/daochu.dmp  full=y
      2   将数据库中system用户与sys用户的表导出
              exp system/[email protected]  file=e:/daochu.dmp owner=(system,sys)
      3  将数据库中的表userInfo、bomInfo导出  用户/密码 weiguo/liweiguo  数据库为weiguoDB  生成数据库备份文件databak.dmp
              exp weiguo/[email protected]    file= d:/data/databak.dmp  tables=(userInfo,bomInfo) 

       4   如果 做一个每天的备份,于是想到了用%date%来取得当天的时间,然后做为每天备份的文件名,变量去生成文件名

               exp weiguo/[email protected] 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/[email protected] file=E:\bakup\databak%date:~4,10%.dmp owner=weiguo

         exit

     4 通过 附件-系统工具-任务计划 进入任务计划页面,添加一个新的任务计划。

        按照创建向导 选择要在windows上运行的程序是E:\bakup\backup.bat  计划任务设置 为每天 时间为23:50

        建立完成。

    5 运行这个任务计划就可以了,每天都会在E:\bakup文件夹下生成前一天的数据库备份文件。

摘自:http://blog.csdn.net/weiguolee/article/details/6862515

« 上一篇: 给zblog php加上相关文... 下一篇: 自动备份原理=任务计划+批处... »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。