如何为Oracle导出文件加上时间戳
Oracle导出文件加上时间戳的两种方法总结一下.
1.可以在DOS下从系统获得时间戳
利用Dos命令取得时间戳:
C:\>echo %date%
2012-10-17 星期三
C:\>echo %date:~0,10%
2012-10-17
接下来使用导出(exp)工具引用该时间戳就很容易了:
exp userid=orcldba/orcldba file=d:\orcldb%date:~0,10%.dmp log=d:\orcldb%date:~0,10%.log
注:此种方法与Windows的版本有关系,中文版和英文版的日期格式不同。
2.使用sql脚本从数据库获得时间戳
在Windows NT下该命令执行结果可能与Windows2000和WindowsXp上不同。
我们也可以使用如下的SQL方式获得时间戳.
首先编写一个doexp.sql脚本:
column today new_val dt
select to_char( sysdate, 'yyyymmddHH24Miss' ) today from dual;
--其中yyyymmddHH24Miss具体到年月日时分秒
host exp userid=orcldba/orcldba tables=emp file=exp_prod_&dt..exp log=exp_prod_&dt..log
--其中orcldba/orcldba为数据库的用户名和密码 如果导出全部表,可不加tables=emp参数
exit
再编写一个start.bat批处理脚本调用doexp.sql脚本:
echo off
set oracle_sid=orcl
--其中orcl为数据库名称
sqlplus orcldba/orcldba @doexp
--其中orcldba/orcldba为数据库的用户名和密码
注:使用sql脚本的方法比较方便