如何為Oracle匯出檔案加上時間戳

2021-08-29 08:58:19 字數 1726 閱讀 5266

eygle |

english version

【原始出處和作者資訊及

論壇上經常有人問,如何給匯入檔案加上時間戳標記.在這裡把我曾經給過的兩種方法總結一下.

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 可用位元組

壞男孩 2007-08-16 20:44

Oracle匯出檔案

set echo off 是否顯示指令碼中正在執行的sql語句 set feedback off 是否顯示當前sql語句查詢或修改的行數 set newpage none 設定頁與頁之間的分隔 set pagesize 50000 設定一頁有多少行數 set linesize 20000 設定一行可...

oracle匯入匯出檔案

2 要匯入的dmp檔案位置。sqlplus as sysdba 以作業系統許可權認證的oracle sys管理員登陸 sqlplus nolog 不在cmd或者terminal當中暴露密碼的登陸方式 sqlplus scott tiger 非管理員使用者登陸 sqlplus scott tiger ...

oracle匯入匯出檔案補充

這兩天做了oracle的匯入匯出表資料。1.oracle 提供了三種方式的匯入匯出檔案,1 oracle export import 2 slq export import 3 pl sql匯出匯入 第二種方式適合於單個或者幾個表的匯入匯出,匯入匯出的資料量較小。如果是大資料量或者表比較多了,最好使...