zoukankan      html  css  js  c++  java
  • 使用bat批处理文件定时自动备份oracle数据库并上传ftp服务器

    一、使用bat批处理文件备份oracle(前提是配置好oracle数据库客户端)

    @echo off

    set databasename=orcl  //数据库名

    set username=ninic //用户名

    set password=***//密码

    set connect=%username%%password%@%databasename% //获取数据库的连接

    set back_path=d:oracledatabackup //存放备份文件的路径

    if not exist %back_path% md %back_path%   //如果在此路径下不存在文件夹,则创建一个

    set date_string=%date:~0,4%_%date:~5,2%_%date:~8,2% //表示日期年月日

    set time_hour=%time:~0,2%  //小时

    //如果小时少于两位数,在前面补0

    if "%time_hour%"==" 0" set time_hour=00
    if "%time_hour%"==" 1" set time_hour=01
    if "%time_hour%"==" 2" set time_hour=02
    if "%time_hour%"==" 3" set time_hour=03
    if "%time_hour%"==" 4" set time_hour=04
    if "%time_hour%"==" 5" set time_hour=05
    if "%time_hour%"==" 6" set time_hour=06
    if "%time_hour%"==" 7" set time_hour=07
    if "%time_hour%"==" 8" set time_hour=08
    if "%time_hour%"==" 9" set time_hour=09

    set time_string=%time:~0,2%_%time:~3,2%_%time:~6,2%  //表示时间时分秒

    set file_string=%back_path%data_%date_string%_%time_string%  //以时间为文件命名

    exp ‘%connect% as sysdba ’  file=%file_string%.dmp tables=(Node,NodeInfo,NodeData)

    index=y  grants=y constraints=y compress=y 

    //(1)‘%connect% as sysdba ’ 这里这样写是因为我是以sysdba的身份登录的,如果不这样写的话,回事默认以normal身份登录的,这样就没办法登录,如果你是normal身份就直接写%connect%

    //(2)后面所有的参数就不一一解释了,根据自己的需要添加,如果想知道每个参数的意思,在dos命令下写 exp help=y  便可看到。

    //(3)注:由于ORACLE默认的表名都是不区分大小写,在创建表时,在数据字典中存储的表名为大写。在有些情况下,如果创建的表在表名上加上双引号("),则创建的表其表名在数据字典中不作转换。这样的话上面的tables里面就不能那样写,而是:

    //(4)tables='"Node"','"NodeData"','"NodeInfo"','"Orgnize"'

    "c:Program Files7-Zip7z.exe" a -tzip %file_string%.zip  %file_string%.dmp

    //上面是我对备份的文件进行了压缩,你如果不压缩用可以不用写(我使用的是7-Zip来压缩文件,所以如果你要用到这一行,你就得下载一个7-Zip压缩软件)

    del %file_string%.dmp //删除原来的dmp文件

    二:在windows7下面设置定时自动执行任务

    开始-》程序-》附件-》任务计划程序-》操作-》创建基本任务-》添加名称(oraclebackup)-》每天-》设置程序运行时间-》点击启动程序

    (注:如果你想删除这一任务,点击“任务计划程序库”,在中间一栏找到你刚创建的任务,右击鼠标选择删除就行)

    三、上传文件到FTP服务器

    echo open IP地址>ftp.up
    echo  用户名>>ftp.up
    echo 密码>>ftp.up
    echo bin>>ftp.up   //二进制
    echo cd .dbback>>ftp.up  //切换到ftp服务器上你要上传文件的文件夹下
    echo put   上传的文件>>ftp.up 
    echo bye>>ftp.up
    ftp -s:ftp.up
    del ftp.up /q
    pause

    坚持就是胜利、欧耶~
  • 相关阅读:
    git版本控制入门
    SpringBoot入门基础:编写HelloWorld(三)
    SpringBoot入门基础:构建SpringBoot项目及启动器讲解(二)
    SpringBoot入门基础:介绍(一)
    maven入门基础:为项目分配独立的仓库实践(十七)
    maven入门基础:nexus的权限管理(十六)
    maven入门基础:使用maven部署构件到nexus(十五)
    maven入门基础:配置maven从nexus下载构件(十四)
    maven入门基础:nexus构建搜索(十三)
    事务的写法
  • 原文地址:https://www.cnblogs.com/ninicwang/p/5984978.html
Copyright © 2011-2022 走看看