问:如何给导入文件加上时间戳标记?
答:请参考下文中介绍的两种方法:
1.在dos下从系统获得时间戳
利用dos命令取得时间戳:
c:/>echo %date%
2007-12-31 星期一
c:/>echo %date:~0,10%
2007-12-31
然后使用导出(exp)工具引用该时间戳就很容易了:
exp userid=eygle/eygle file=d:/eygle%date:~0,
10%.dmp log=d:/eygle%date:~0,10%.log
2.使用sql脚本从数据库获得时间戳
注释:在nt下该命令的执行结果可能与windows2000和windowsxp上不同,没有nt的环境可以试验(此时只需""把date引用起来就可以了,如: "%date%")。
我们也可以使用如下的sql方式获得时间戳.
首先编写一个doexp.sql脚本:
column today new_val dt
select to_char( sysdate, 'ddmmyyyy' ) today from dual;
host exp userid=eygle/eygle tables=emp
file=exp_prod_&dt..exp log=exp_prod_&dt..log
exit
然后再编写一个start.bat批处理脚本调用doexp.sql脚本:
echo off
set oracle_sid=eygle
sqlplus eygle/eygle @doexp
执行结果如下:
e:/is/istrain/exp2>dir
驱动器 e 中的卷是 swapdk
卷的序列号是 f8ba-fcac
e:/is/istrain/exp2 的目录
2007-12-07 15:14
.
2007-12-07 15:14
..
2007-08-26 15:18 170 doexp.sql
2007-12-07 15:12 4,096 exp_prod_07102003.exp
2007-12-07 15:12 335 exp_prod_07102003.log
2007-08-26 15:18 4,096 exp_prod_26082003.exp
2007-08-26 15:18 312 exp_prod_26082003.log
2007-12-07 15:42 4,096 exp_prod_30082003.exp
2007-08-30 17:09 335 exp_prod_30082003.log
2007-12-07 15:14 1,660 sqlnet.log
2007-12-07 15:12 60 start.bat
9 个文件 15,160 字节
2 个目录 674,652,160 可用字节
新闻热点
疑难解答