您的位置:首页 > 数据库

批处理备份数据库.txt

2015-06-30 00:00 197 查看
2009-11-11 14:05 批处理-取年月日、时分秒毫秒 批处理比较运算符 批处理-取年月日、时分秒毫秒

echo 取年份: %date:~0,4%

ECHO 取月份 %date:~5,2%

ECHO 取日期:%date:~8,2%

echo 取星期:%date:~10,6%

echo 取小时:%time:~0,2%

echo 取分:%time:~3,2%

echo 取秒:%time:~6,2%

echo 毫秒:%time:~9,2%

批处理比较运算符

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

步骤:

1.

批处理文件

backup.bat

exp system/manager file=d:\backup\oracle\oracle%date:~4,10%.dmp

owner=system log=d:\backup\oracle\oracle%date:~0,10%.log

将生成

oracle

日期

.dmp

文件

exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp

owner=system log=d:\backup\oracle\oracle%date:~11,3%.log

将生成

oracle

星期

*.dmp

文件,则每周循环保留一个备份文件,共

7

个备份文

件循环

2

,添加一个任务计划

利用任务计划向导,根据备份策略设置自动执行任务的时间频率(例如每天零

时),执行

d:\oracle\backup.bat

3

、以后每天将在目录中生成形如“oracle2005

-08-31.dmp



oracle2005-08-

31.log”的备份和日志文件。

---------------------------------------------------------------------

----------------------------------------------

说明:

1



%date%

的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域

选项的设定也会改变

%date%

的值。

请先在命令行中测试

echo %date%

的返回值。

%date:~4,10%

是返回日期函数,

~

后的第一个参数是要截取的起始位置(从

0

开始),第二个参数是要截取的长

度,如没有则是截取到最后,参数可酌情修改。

2

、如需要准确的时间做为文件名,请用

%time%

函数,参数同上。

backup.bat

文件内容

【注:

FULL

导出整个数据库

(N)



INDEXES

导出索引

(Y)



GRANTS

导出权限

(Y)

CONSTRAINTS

导出约束

(Y)



COMPRESS

导入一个

extent (Y)



@echo off

set filename="f:\back\%date:~8,2%



"

exp

userid=system/orcl@orcl

file=%filename%.dmp full=y INDEXES=y

grants=y constraints=y compress=y log=%filename%.log

rar a %filename%.rar %filename%.*

del %filename%.dmp

del %filename%.log

放计划任务里面定时执行,

文件名以日期的

day

部分来命名

备份后调用

rar

进行压缩

这样可以保存一个月的历史数据

注意:

需要把

program

files/winrar

目录下的

rar.exe

拷贝到系统

system32

目录下。

如果是以星期命名,

则需要将

set

filename=e:\data_bak\%date:~8,2%

日修改为

set filename=e:\data_bak\%date:~0,3%

写个简单的批处理文件备份恢复:

备份:

@echo off

//

不显示命令行

echo

开始备份表

.....

//

打印信息

D: DOS

切换到

D:



cd oracle\ora92\bin

//

切换到

cd oracle\ora92\bin

目录

exp

用户名

/

密码

@

数据库

file=d:\config_bak.dmp tables=(table1,table2)

备份表一表二到

d:\config_bak.dmp

echo

备份完毕!

恢复:

@echo off

echo

开始恢复表

.....

D: cd oracle\ora92\bin

imp

用户名

/

密码

@

数据库

file=d:\config_bak.dmp tables=(table1,table2)

ignore=y

sqlplus /nolog @oraStartup.sql>>oraStartup.log

调用

sql

文件

pause

执行完

sql

文件以后暂停,看信息

echo

恢复完毕!

执行环境:可以在

SQLPLUS.EXE

或者

DOS

(命令行)中执行,

DOS

中可以执行时由于



oracle 8i



安装目录

\ora81\BIN

被设置为全

局路径,该目录下有

EXP.EXE



IMP.EXE

文件被用来执行导入导出。

SQLPLUS.EXE

调用

EXP.EXE



IMP.EXE

他们所包裹的类,完成导入导出功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle