数据库自动备份的实现

sql server的作业调度来建立自动备份的方法:


1、进入企业管理器中->管理->sql server代理->作业;
2、新建作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限;
3、点击步骤标签,进入步骤面板。新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改。命令中写入以下语句:
BACKUP DATABASE [数据库名] TO  DISK = N'F:/data/数据库备份'  WITH  NOINIT ,  NOUNLOAD ,  NAME = N'数据库 备份',  NOSKIP ,  STATS = 10,  NOFORMAT
注意:需要修改的地方,数据库名,DISK=(这里需要填写路径和你的数据库备份的名称)后面的Name=可以随便填写。
4、点击调度标签,进入调度面板,新建调度,名称随便填写,选择反复出现,点更改可以选择你想要执行任务的随意调度。如每天,每2天,每星期,每月等。根据需要自己设置; 
5、确定后,不要忘记一件事情,在你刚才建立的工作上点右键,启动工作,如果你的工作没有问题,将会提示执行成功,并有相对应的备份文件在你的磁盘上出现; 
6、还有一个重要的问题就是你的sql server agent服务器已经启动。

如果我们需要根据每天的日期来生成一个新的备份,以便我们区别备份文件。这时,我们需要修改一下刚才的sql语句。参考实例:

 declare @filename nvarchar(100) 

set @filename='F:/AddIn/备份/data'+convert(char(10),getdate(),112) 

print @filename 

BACKUP DATABASE [addin] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'addin 备份', NOSKIP , STATS = 10, NOFORMAT

或者按如下写法:

DECLARE @BACKFILENAME VARCHAR(200)
DECLARE @DATE CHAR(10)
DECLARE @FILENAME VARCHAR(200)
DECLARE @NAME VARCHAR(200)
SET @DATE=CONVERT(CHAR(10),GETDATE(),120)
SET @FILENAME='F:/SQLServerBackup/DefectStoreDKH_'
SET @BACKFILENAME=@FILENAME+@DATE
SET @NAME='DefectStoreDKH 备份'
BACKUP DATABASE [DefectStoreDKH]
TO DISK = @BACKFILENAME WITH INIT , NOUNLOAD , NAME = @NAME, NOSKIP , STATS = 10, NOFORMAT

Windows下Oracle9i数据库文件的自动备份 <script language="javascript" type="text/javascript">document.title="有关Oracle9i数据库文件的自动备份 - "+document.title</script>

第一步:

在D盘根目录下新建文件夹Backup,这个目录可以任意,复制exp.exe文件到这个目录下,在该目录下新建文件expbkup.bat

exp test/test@test file=d:/backup/%date:~0,10%.dmp log=d:/backup/%date:~0,10%.log compress=n buffer=8092 consistent=y direct=n constraints=y feedback=10000  grants=y record=y indexes=y triggers=y rows=y

sid是test,用户名/密码是test/test,调用exp命令在d:/backup目录下生成相应的数据文件和日志文件。

第二步:

在控制面板的任务计划下新建一任务计划向导,选择执行任务的文件expbkup.bat,任务名随意expbkup,选择每天执行这个任务,起始时间18:00,起始日期默认为从当天开始,输入用户名和密码,点完成可添加每天下午6:00备份一次Oracle数据库的计划任务。

 

调用linux日期函数,实现每天自动生成一个oracle备份 <script language="javascript" type="text/javascript">document.title="调用linux日期函数,实现每天自动生成一个oracle备份 - "+document.title</script>
-bash-2.05b$ more /opt/oracle/product/movedata/movedata1.sh

ORACLE_HOME=/opt/oracle/product/9.0.2
export ORACLE_HOME
. /opt/oracle/product/.bash_profile
export DATE=$(date +%Y%m%d)       #调用linux日期函数,实现文件按日期命名每天一个备份
/opt/oracle/product/9.0.2/bin/exp goldring/123456@szdb file=/data/OracleDB_Backup/goldring.dmp log=/data/OracleDB_Back
up/loggoldring.dmp consistent=yes

/opt/oracle/product/9.0.2/bin/exp jltgame/123456@szdb file=/data/OracleDB_Backup/ jltgame$DATE.dmp log=/data/OracleDB_Ba
ckup/logjltgame.dmp consistent=yes

/opt/oracle/product/9.0.2/bin/exp userid=oraclebackup/"abcd456&*("@szdb owner=moonprincess file=/data/OracleDB_Backup/moon
princess.dmp log=/data/OracleDB_Backup/logmoonprincess.dmp consistent=yes

#ftp -n 10.0.0.3 < /opt/oracle/product/movedata/ftpcommand


把以上脚本放到crontab中即可
 
注:oracle实现自动备份关键是要在备份脚本中加入oracle的环境变量和在备份文件名中加入$DATE变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值