一、使用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. VCSA 6.5, 初始化设置root密码失败can't set root password 或 安装时卡在80%

    是因为下载的非官方的包密码过期了,如果是Windows引导安装: 安装完虚拟机的时候就马上执行下面步骤,修改密码有效期即可. 重启vcsa,在引导界面(photon的图形界面)里按e编辑启动项 在co ...

  2. 牛客练习赛17 C 操作数(组合数+逆元)

    给定长度为n的数组a,定义一次操作为: 1. 算出长度为n的数组s,使得si= (a[1] + a[2] + ... + a[i]) mod 1,000,000,007: 2. 执行a = s: 现在 ...

  3. Delphi: RTTI与ini配置文件

    项目以Rtti特性做文件参数配置,简化每项读写ini操作,记录以做备忘,代码如下: unit uGlobal; interface uses Windows, Messages, SysUtils, ...

  4. 先安装win7时IIS的安装

    打开“控制面板”->选择“程序”->选择“打开或关闭windows功能”->在“Internet信息服务”中勾选以下勾选框

  5. linux命令学习之:systemctl

    systemctl命令是系统服务管理器指令,主要负责控制systemd系统和服务管理器,它实际上将 service 和 chkconfig 这两个命令组合到一起. CentOS 7.x开始,CentO ...

  6. 音频 PCM 数据的采集和播放

    PCM(Pulse Code Modulation)脉冲编码调制 —— 音频的采集与量化过程. PCM数据是最原始的音频数据完全无损,所以PCM数据虽然音质优秀但体积庞大. 为了解决这个问题先后诞生了 ...

  7. 通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明

    启动Tomcat时报错,通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明,报错如下 1.从报错可以看到找不到元素   tx:annotation-driven ...

  8. 一键查看IE密码!IE PassView简易教程

    IE浏览器保存在本地的各网站登录账号密码怎么查看?如果你想一下子就找到所有保存在IE的账号和密码,那IE PassView(IE密码查看器)能帮到你.IE PassView(IE密码查看器)非常小巧, ...

  9. Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead.解决方法

    今天在eclipse里报这个错误: Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead. Please ...

  10. three.js raycaster射线碰撞的坑 (当canvas大小 不是屏幕大小是解决拾取物体的办法)

    这里只是记录一下坑,方便查阅,内容主要援引自:three.js Raycaster 射线拾取 canvas不占满整屏时射线拾取存在偏差 1. 世界坐标系: 世界坐标系位于屏幕的中心(0,0,0),往右 ...