Oracle备份文件名获取系统时间的做法(windows)
在對數(shù)據(jù)庫進(jìn)行備份時(shí),用數(shù)據(jù)泵的方法,需要執(zhí)行一段代碼:
================================================
================================================
但是文件名不能是固定的,最好是以創(chuàng)建日期時(shí)間命名。
研究了一下在windows上,用系統(tǒng)日期時(shí)間命名文件的方法,如下;
%date%,是獲取當(dāng)前日期,格式如下;
C:\Documents and Settings\Administrator>date
當(dāng)前日期: 2013-12-13 星期五
%time%,是獲取當(dāng)前時(shí)間,格式如下;
C:\Documents and Settings\Administrator>time
當(dāng)前時(shí)間: 11:10:19.44
因?yàn)槲募荒軒в刑厥夥?#xff0c;比如說“:”;
所以文件名不能直接取%time%;
截取%time%的方法是:%time:~0,2%_%time:~3,2%_%time:~6,2%;
? ? ps:~0,2的意思是,從第0位開始截取,截取2位。
? ? ? ? ? ? ? ?_下劃線是連接符號,可以更改。
日期的截取同理,日期只需要截去中文部分:%date:~0,10%
? ? ps:這里說明一下,如果系統(tǒng)的時(shí)間格式中有“/”的話,這里還要截取date,
? ? ? ? ? ? ? ? ? ?(原因也是文件夾不能包含的字符 “ / ”)
? ? ? ? ?例:%date:~0,4%_%date:~5,2%_%date:~8,2%
================================================
================================================
建一個(gè)文本文檔,修改后綴為.bat,輸入如下代碼;
set T=%date:~0,4%_%date:~5,2%_%date:~8,2%@%time:~0,2%_%time:~3,2%_%time:~6,2%
md %T%
執(zhí)行以下,看看是否在同目錄下創(chuàng)建了一個(gè)文件夾
例:2013_12_13@11_22_40
測試成功后,就可以實(shí)踐了;
還是建一個(gè)文本文檔改.bat,輸入如下代碼;
set T=%date:~0,4%_%date:~5,2%_%date:~8,2%@%time:~0,2%_%time:~3,2%_%time:~6,2%
expdp scott/tiger@XE directory=dir dumpfile=%T%.dmp
pause
運(yùn)行即可,結(jié)果如下:
C:\ceshi>set T=2013-12-13@11_24_19C:\ceshi>expdp scott/tiger@XE directory=dir dumpfile=2013-12-13@11_24_19.dmpExport: Release 11.2.0.2.0 - Production on 星期五 12月 13 11:24:19 2013Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.連接到: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production 啟動(dòng) "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/********@XE directory=dir dumpfile=2 013_12_13@11_24_19.dmp 正在使用 BLOCKS 方法進(jìn)行估計(jì)... 處理對象類型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的總估計(jì): 192 KB 處理對象類型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 處理對象類型 SCHEMA_EXPORT/TABLE/TABLE 處理對象類型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 處理對象類型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 處理對象類型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 處理對象類型 SCHEMA_EXPORT/TABLE/COMMENT 處理對象類型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 處理對象類型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . 導(dǎo)出了 "SCOTT"."DEPT" 5.929 KB 4 行 . . 導(dǎo)出了 "SCOTT"."EMP" 8.484 KB 12 行 . . 導(dǎo)出了 "SCOTT"."SALGRADE" 5.859 KB 5 行 . . 導(dǎo)出了 "SCOTT"."BONUS" 0 KB 0 行 已成功加載/卸載了主表 "SCOTT"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** SCOTT.SYS_EXPORT_SCHEMA_01 的轉(zhuǎn)儲(chǔ)文件集為:C:\BAK\2013_12_13XE11_24_19.DMP 作業(yè) "SCOTT"."SYS_EXPORT_SCHEMA_01" 已于 11:25:11 成功完成C:\ceshi>pause 請按任意鍵繼續(xù). . .
這樣就實(shí)現(xiàn)了定時(shí)備份數(shù)據(jù)庫,并且使用系統(tǒng)時(shí)間給dmp文件命名,無須擔(dān)心重復(fù)。
================================================
================================================
注:
? ? ? ? ? 1、在dmp文件的命名中@符號會(huì)被替換成XE。
總結(jié)
以上是生活随笔為你收集整理的Oracle备份文件名获取系统时间的做法(windows)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# USB设备的管理(Devcon和注
- 下一篇: Nginx For Windows 路由