論壇上經常有人問,如何給導入文件加上時間戳標記.在這裡把我曾經給過的兩種方法總結一下.
1.可以在DOS下從系統獲得時間戳
利用DOS命令取得時間戳:
C:\>echo %date%
2006-04-24 星期一
C:\>echo %date:'0,10%
2006-04-24
接下來使用導出(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:\Itpub\ItpubTrain\Exp2>dir
驅動器 E 中的卷是 SWAPDK
卷的序列號是 F8BA-FCAC
E:\Itpub\ItpubTrain\Exp2 的目錄
2003-10-07 15:14
2003-10-07 15:14
2003-08-26 15:18 170 doexp.sql
2003-10-07 15:12 4,096 exp_prod_07102003.exp
2003-10-07 15:12 335 exp_prod_07102003.log
2003-08-26 15:18 4,096 exp_prod_26082003.exp
2003-08-26 15:18 312 exp_prod_26082003.log
2003-10-07 15:42 4,096 exp_prod_30082003.exp
2003-08-30 17:09 335 exp_prod_30082003.log
2003-10-07 15:14 1,660 sqlnet.log
2003-10-07 15:12 60 start.bat
9 個文件 15,160 字節
2 個目錄 674,652,160 可用字節