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
他们所包裹的类,完成导入导出功能。