Oracle备份文件名获取系统时间的做法(windows)
生活随笔
收集整理的這篇文章主要介紹了
Oracle备份文件名获取系统时间的做法(windows)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在對數據庫進行備份時,用數據泵的方法,需要執行一段代碼:
================================================
================================================
但是文件名不能是固定的,最好是以創建日期時間命名。
研究了一下在windows上,用系統日期時間命名文件的方法,如下;
%date%,是獲取當前日期,格式如下;
C:\Documents and Settings\Administrator>date
當前日期: 2013-12-13 星期五
%time%,是獲取當前時間,格式如下;
C:\Documents and Settings\Administrator>time
當前時間: 11:10:19.44
因為文件名不能帶有特殊符號,比如說“:”;
所以文件名不能直接取%time%;
截取%time%的方法是:%time:~0,2%_%time:~3,2%_%time:~6,2%;
? ? ps:~0,2的意思是,從第0位開始截取,截取2位。
? ? ? ? ? ? ? ?_下劃線是連接符號,可以更改。
日期的截取同理,日期只需要截去中文部分:%date:~0,10%
? ? ps:這里說明一下,如果系統的時間格式中有“/”的話,這里還要截取date,
? ? ? ? ? ? ? ? ? ?(原因也是文件夾不能包含的字符 “ / ”)
? ? ? ? ?例:%date:~0,4%_%date:~5,2%_%date:~8,2%
================================================
================================================
建一個文本文檔,修改后綴為.bat,輸入如下代碼;
set T=%date:~0,4%_%date:~5,2%_%date:~8,2%@%time:~0,2%_%time:~3,2%_%time:~6,2%
md %T%
執行以下,看看是否在同目錄下創建了一個文件夾
例:2013_12_13@11_22_40
測試成功后,就可以實踐了;
還是建一個文本文檔改.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
運行即可,結果如下:
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 啟動 "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/********@XE directory=dir dumpfile=2 013_12_13@11_24_19.dmp 正在使用 BLOCKS 方法進行估計... 處理對象類型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的總估計: 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 . . 導出了 "SCOTT"."DEPT" 5.929 KB 4 行 . . 導出了 "SCOTT"."EMP" 8.484 KB 12 行 . . 導出了 "SCOTT"."SALGRADE" 5.859 KB 5 行 . . 導出了 "SCOTT"."BONUS" 0 KB 0 行 已成功加載/卸載了主表 "SCOTT"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** SCOTT.SYS_EXPORT_SCHEMA_01 的轉儲文件集為:C:\BAK\2013_12_13XE11_24_19.DMP 作業 "SCOTT"."SYS_EXPORT_SCHEMA_01" 已于 11:25:11 成功完成C:\ceshi>pause 請按任意鍵繼續. . .
這樣就實現了定時備份數據庫,并且使用系統時間給dmp文件命名,無須擔心重復。
================================================
================================================
注:
? ? ? ? ? 1、在dmp文件的命名中@符號會被替換成XE。
總結
以上是生活随笔為你收集整理的Oracle备份文件名获取系统时间的做法(windows)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# USB设备的管理(Devcon和注
- 下一篇: Nginx For Windows 路由