一、使用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 Files\7-Zip\7z.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

使用bat批处理文件定时自动备份oracle数据库并上传ftp服务器的更多相关文章

  1. 使用bat批处理文件定时自动备份sqlserver数据库

    一.创建一个sql文件,在里面写入以下代码: USE MasterGOdeclare @str varchar(100)set @str='D:\sqlserver14backup\CDB\'+rep ...

  2. (转)linux自动备份oracle数据库并上传到备份服务器 脚本实现

    实际项目中,备份数据是不可缺少的一步,完成数据的自动备份减少个人的工作量,是我们的目标.之前很少写过脚本,不过这些简单的操作还是可以做到的!话不多说,开始具体介绍:oracle版本:10.2.0操作系 ...

  3. ubuntu crontab 定时备份postgres数据库并上传ftp服务器

    最近公司要求备份数据库,所以就查了比较作的资料.废话不多说,入正题. 目的:定期备份ubuntu下的postgres数据库,打包上传到指定ftp服务器. 经过查找资料,解决方法: ①编写备份数据库.打 ...

  4. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  5. Linux定时自动备份oracle数据库

    1.在服务器创建备份目录,并赋予权限mkdir -p /backup/P_DATA #新建shell脚本存放路径mkdir -p /backup/P_DB_BACK  #新建Oracle数据库备份目录 ...

  6. Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...

  7. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  8. 备份MySQL数据库并上传到阿里云OSS存储

    1. 环境配置 要将本地文件上传到阿里云oss中, 必须使用阿里云提供的工具 ossutil, 有32位,也有64位的, Linux和Windows都有.具体可以到阿里云官网下载 官网及文档: htt ...

  9. 服务器A制定计划任务,BAT脚本自动备份oracle数据文件,拷贝至服务器B的共享目录。

    运行环境:windows server 2008 R2 目的:在数据库服务器A进行数据库自动备份,并且保留5天. 为了安全,需要在web应用服务器B进行数据库的冗余备份,建立双保险.(保留15天) A ...

随机推荐

  1. robotium—只有apk文件的测试

    把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re ...

  2. C++ 单例模式(懒汉、饿汉模式)

    1.简单的单例模式实现 2.C++的构造函数不是线程安全的,所以上述代码在多线程的情况下是不安全的,原因是new Singelton时,这句话不是原子的,比如一个线程执行了new的同时,另一个线程对i ...

  3. 面向对象中的property装饰器讲解

    面向对象中可以用property来修饰我们的函数,必须下面的例子 class Test(object): def __init__(self,name): self.name = name @prop ...

  4. 安装SQLserver2008r2出现 试图执行未经授权的操作

    安装时取消对兼容模式的勾选,重新安装就可以了. 或者加上   以管理员身份运行,兼容性设置,以管理员身份运行

  5. day 30 HTML

    HTML: 超文本标记语言(Hyper Text Markup Language) Html基本结构 <!DOCTYPE html> <html> <!-- 定义HTML ...

  6. django static 无法正确加载目录下的css

    在static->web目录下添加CSS后该css文件一直报404错误,解决问题: 在setting.py文件添加: STATICFILES_DIRS = [ os.path.join(BASE ...

  7. linux命令学习之:route

    我们在网络基础的时候谈过关于路由的问题,两台主机之间一定要有路由才能够互通TCP/IP的协议,否则就无法进行联机.一般来说,只要有网络接口,该接口就会产生一个路由,例如:eth0及lo. route命 ...

  8. 1-跑Faster R-CNN项目中的一些问题

    原理介绍: https://blog.csdn.net/quincuntial/article/details/79132243 我用的环境: Python        3.5.2 cpu版的ten ...

  9. jsplumb流程器使用2

    jsplumb默认注册在浏览器的窗口,为整个页面提供静态实例 1. 单独实例化的方法: var firstInstance = jsPlumb.getInstance(); 内部传入可定义对象   全 ...

  10. 简单DP入门四连发

    复习一下一直不太懂的dp. dp博大精深,路还长着呢 第一题;http://acm.hdu.edu.cn/showproblem.php?pid=2084 从下往上就是水题 #include<c ...