利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。
建议一(做周备份并压缩为RAR)以下为ORACLE自动备份批处理文件内容,请配合任务计划实现:
例:
@ECHOOFF
SETBACKPATH=d:
ECHO准备备份数据库
REM7天一个循环
IFEXIST%BACKPATH%ONEGOTOONE
IFEXIST%BACKPATH%TWOGOTOTWO
IFEXIST%BACKPATH%THREEGOTOTHREE
IFEXIST%BACKPATH%FOURGOTOFOUR
IFEXIST%BACKPATH%FIVEGOTOFIVE
IFEXIST%BACKPATH%SIXGOTOSIX
IFEXIST%BACKPATH%SEVENGOTOSEVEN
ECHOE
:ONE
SETBACKPATH_FULL=%BACKPATH%ONE
REN%BACKPATH%ONETWO
GOTOBACK
:TWO
SETBACKPATH_FULL=%BACKPATH%TWO
REN%BACKPATH%TWOTHREE
GOTOBACK
:THREE
SETBACKPATH_FULL=%BACKPATH%THREE
REN%BACKPATH%THREEFOUR
GOTOBACK
:FOUR
SETBACKPATH_FULL=%BACKPATH%FOUR
REN%BACKPATH%FOURFIVE
GOTOBACK
:FIVE
SETBACKPATH_FULL=%BACKPATH%FIVE
REN%BACKPATH%FIVESIX
GOTOBACK
:SIX
SETBACKPATH_FULL=%BACKPATH%SIX
REN%BACKPATH%SIXSEVEN
GOTOBACK
:SEVEN
SETBACKPATH_FULL=%BACKPATH%SEVEN
REN%BACKPATH%SEVENONE
GOTOBACK
:BACK
EXPense/enseFILE=%BACKPATH_FULL%DMP
RARa%BACKPATH_FULL%rar%BACKPATH_FULL%DMP
DEL%BACKPATH_FULL%DMP
SETBACKPATH=
SETBACKPATH_FULL=
EXIT
说明:
文件名以星期来命名
备份后调用rar进行压缩
这样可以保存一个星期的历史数据
注意:需要把programfiles/winrar目录下的rarexe拷贝到系统system32目录下
建议二:
1,批处理文件backupbat
expsystem/managerfile=d:ackuporacleoracle%date:~0,10%dmpowner=systemlog=d:ackuporacleoracle%date:~0,10%log
将生成oracle2006-01-09dmp文件
expsystem/managerfile=d:ackuporacleoracle%date:~11,3%dmpowner=systemlog=d:ackuporacleoracle%date:~11,3%log
将生成oracle星期一dmp文件,则每周循环保留一个备份文件,共7个备份文件循环$date$日期参数可灵活运用。
请采用下列脚本
/删除索引/
declare @table table (keyId int identity,name1 varchar(100),name2 varchar(100))
insert into @table(name1,name2)
select object_name(object_id),name from sysindexes where name like 'IDX%'
declare @i int
declare @imax int
declare @name1 varchar(100)
declare @name2 varchar(100)
set @i =1
select @imax = max(keyId) from @table t
while @i <=@imax
begin
set @name1 =''
set @name2 =''
select @name1 = name1,@name2=name2 from @table t where tkeyId =@i
print 'drop index ['+@name2 +'] on table ['+@name1+'] '
---exec ('drop index '+@name2 +' on table '+@name1 )
set @i =@i+1
end
go
declare @table table(keyId int identity,name varchar(100))
insert into @table (name) select name from systables where type='u'
/修理表结构/
declare @i int
declare @imax int
declare @name varchar(100)
set @i =1
select @imax = max(keyId) from @table t
while @i <=@imax
begin
set @name =''
select @name = name from @table t where tkeyId =@i
print 'alter table ['+@name +'] drop column [_MASK_FROM_V2]'
--exec ('alter table '+@name +' drop column [_MASK_FROM_V2]')
set @i =@i+1
end
分两步 *** 作
1 删除索引
2 修改表结构
有疑问及时沟通。
先在测试机上 *** 作,请采纳!
以上就是关于sqlserver2008怎么创建删除数据库备份数据计划(sqlserver维护计划备份数据库)全部的内容,包括:sqlserver2008怎么创建删除数据库备份数据计划(sqlserver维护计划备份数据库)、Sqlserver2008删除索引问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)