1. 程式人生 > >windows下Oracle 11g資料庫每天自動備份的實現方法

windows下Oracle 11g資料庫每天自動備份的實現方法

方式一一、以exp命令備份     1.首先做個批處理指令碼:backup.bat  指令碼內容如下        @echo off
       set curdate=%date:~0,4%%date:~5,2%%date:~8,2%
       set backuppath=D:\backup
       md %backuppath%
       exp scott/[email protected]/orcl file=%backuppath%\%curdate%.dmp owner(scott)                                    log=%backuppath%\%curdate%.log 
       forfiles /p "D:\backup" /s /m *.dmp /d -30 /c "cmd /c del @file"
    說明:在備份之前先在D盤建個backup資料夾.   2.以Windows中的計劃任務程式來觸發這個備份指令碼(以Win7為例)      (1)         







完成配置,這個自動備份指令碼會在每天10:43的時候執行,將資料備份到D:\backup資料夾下 格式為:20151212.dmp2.匯入dmp檔案的命令spool log.txt;
drop user scott cascade;
drop tablespace SCOTT including contents and datafiles;
create tablespace SCOTT logging  
datafile 'D:\orcl\SCOTT .dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local; 
create user scott identified by tiger default tablespace SCOTT;
grant connect,resource to scott;
grant dba to scott;
spool off;
exit;

在dos視窗輸入命名匯入資料檔案  imp scott/[email protected] file=20151212.dmp full=Y二、以expdp命名備份指令碼如下create directory mydmp as 'D:\backup'  --directory指定匯出到本地目錄


--授權給操作使用者這個mydmp目錄的許可權
grant read, write on directory mydmp to scott--需要超級管理員的賬號 sysdba


--檢視一下是否存在該目錄
select * from dba_directories;
執行指令碼如下@echo off
rem set backupfile=%date:~0,4%%date:~5,2%%date:~8,2%.dmp 
rem set logfile=%date:~0,4%%date:~5,2%%date:~8,2%.log
rem delete 30days filesforfiles /p "D:\backup" /d -30  /c "cmd /c 
echo deleting @file ... && del /f @path"cd D:\backup
rem backup schemas
set backupfile=%date:~0,4%%date:~5,2%%date:~8,2%.dmp
set logfile=%date:~0,4%%date:~5,2%%date:~8,2%.log
expdp scott/tiger directory=mydmp  
dumpfile=%backupfile%  logfile=%logfile% schemas=scott parallel=4


用expdp匯出的必須要用impdp命令匯入impdp scott/tiger DIRECTORY=mydmp  DUMPFILE=20151212.DMP SCHEMAS=SCOTT
後記:用expdp也會把空表也匯出,非常好用。

方式二

方法/步驟

1、登陸oracle資料庫伺服器,利用plsql程式來登陸資料庫。在使用者名稱、密碼、資料庫的地方分別輸入對應的使用者名稱、密碼和資料庫例項名稱。

2、登陸完成後,新建sql視窗,並在sql視窗中執行以下語句:
-----------------------------------------------------------------------------
declare stmt varchar2(200);begin for tb in (select table_name from user_tables where segment_created='NO') loop  stmt:='alter table '||tb.table_name||' allocate extent';  begin   execute immediate stmt;   exception when others then    dbms_output.put_line(stmt);   end; end loop;end;/
-----------------------------------------------------------------------------
此語句的作用是匯出oracle 11g的空表


3、建立bat批處理檔案
------------------------------------------------------------------------------
cd d:\bea\dbbackdel oa%date:~8,2%.dmpexpdp username/[email protected] directory=DIR_EXP dumpfile=oa%date:~8,2%.dmp
------------------------------------------------------------------------------
其中d:\bea\dbback是命令所在的目錄
username/[email protected]  分別為登陸資料庫的使用者名稱、密碼、資料庫例項
DIR_EXP 是在plsql中建立的directory即目錄,需要根據自己的需求來建立

4、在電腦附件中找到任務計劃程式,然後點選開啟,如下圖

5、點選右側的“建立基本任務”,建立一個任務計劃,填寫任務名字和描述,如下圖:

6、設定任務的執行週期,這裡週期選擇每天,點選下一步

7、再設定開始時間,一般選擇在夜間備份資料庫,點選下一步

8、設定執行的操作是,這裡是批處理,所以選擇程式,點選下一步

9、選擇前面我們只做的bat批處理檔案。即oracle備份語句檔案。引數填寫檔案所在的目錄,點選下一步:

10、點選完成即可。

11、然後雙擊對應的計劃任務名稱,出現介面如下圖:


12、然後在安全選項中選擇“不管使用者是否登陸都要執行此程式”

13、然後點選確定,系統會讓使用者輸入對應的系統登陸密碼,如下圖,輸入完密碼點選確定即可。

相關推薦

windowsOracle 11g資料庫每天自動備份實現方法

方式一一、以exp命令備份     1.首先做個批處理指令碼:backup.bat  指令碼內容如下        @echo off       set curdate=%date:~0,4%%date:~5,2%%date:~8,2%       set backuppa

linux如何實現mysql資料庫每天自動備份定時備份

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同

linux使用crontab如何實現mysql資料庫每天自動備份定時備份

直接上教程,基本上出現的問題都在下面了; 首先檢查你的伺服器是否安裝了crontab,命令如下: 命令: crontab       如果提示-bash: crontab:commandnot fo

Linuxmysql資料庫每天自動備份定時備份

1、檢視磁碟空間情況:既然是定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,資料丟失的惡果! 儲存到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的儲存介質;# df -h Filesys

WindowsOracle 11g遠端連線配置

首先假設你的伺服器IP是:192.168.1.1,Windows伺服器已安裝Oracle 11g R2資料庫,且防火牆關閉對1521埠的攔截,外網和伺服器可以ping通的情況下。 Oracle安裝路徑:C:\app\Administrator\product\

CentOS系統如何設定mysql每天自動備份_Mysql

大家都知道資料是一個比較重要的資料,經常需要備份,每次都手動比較麻煩。通過本文來一起來看看CentOS系統下如何設定mysql每天自動備份吧。 步驟如下 建備份資料夾: mkdir mysql_data_bak 建指令碼檔案: touch autobackup

如何在生產環境實現每天自動備份mysql資料庫

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫

windows的MySQL資料庫自動備份方法

============================ 假想環境: MySQL   安裝位置:C:\MySQL 論壇資料庫名稱為:bbs 資料庫備份目的地:C:\db_bak\ ============================ 新建db_bak.bat,寫入以下程式

基於Windows作業系統的oracle資料庫定時自動備份

一:建立備份dmp檔案及日誌路徑 dmp檔案路徑:C:\db_bak\files 日誌路徑:C:\db_bak\logs 二:建立自動備份批處理檔案    2.1 建立記事本text檔案 複製以下內容到記事本中 @echo off echo ===========

windowsoracle每天定時備份

首先建立一個備份bat檔案,在D盤下新建備份目錄oraclebackup,將oracle安裝目錄下的EXP.EXE複製到此目錄下,再新建一個文字檔案oraclebackup.txt,內容如下: @echo off  echo 刪除10天前的備分檔案和日誌 forfiles /p "D:\oracleb

Oracle每天自動備份腳本

oracle expdp 因為需要最近寫了一個適用於Oracle上的備份腳本,Oracle的數據備份不像MySQL一樣直接使用二進制工具就可以備份,在Oracle上進行數據備份需要 做好相應的配置,在配置好後才能進行正常的數據備份腳本,所以在Oracle備份數據前需要做一些配置。 首先,因為

linux如何實現mysql數據庫每天自動備份定時備份

實現 一分鐘 規則 chm -bash 安裝 track 存儲 ces 版權聲明:本文為 testcs_dn(微wx笑) 原創文章,非商用自由轉載-保持署名-註明出處,謝謝。 目錄(?)[+] 概述 ??備份是容災的基礎,是指為防止系統出現操作失誤或系統

Windowsoracle-win-64-11g安裝步驟

需要 sid 更新 子郵件 安全 img 出現 配置 不可用 一、 Oracle 下載 官方下地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

如何在生產環境實現每天自動備份mysql數據庫

mysql mysql備份 自動備份mysql mysql數據庫備份 甘兵 1、描述 我相信很多朋友在工作都都會有這種需求,老板或領導讓你每天都要備份mysql數據庫,你該如何實現呢,是每天到一定的時間在服務器上敲一遍mysql的備份命令,還是想寫個腳本,定時定點的自動備份呢?我相信

SQL Server 2008每天自動備份資料庫

在SQL Server 2008資料庫中。為了防止資料的丟失我們就需要按時的來備份資料庫了。要是每天都要備份的話,人工備份會很麻煩的,自動備份的話就不需要那麼麻煩了,只要設定好了,資料庫就會自動在你設定的時間段裡備份。那麼自動備份要怎麼設定呢。下面為大家講解。   在“ Micro

linux每天自動備份mysql資料庫,且只保留90天內的備份資料

1、使用VI工具編寫test_database_backup.sh備份資料庫指令碼內容 #========================start shell 指令碼============================ #!/bin/bash #定義有備份的資料庫名 d

Linux 實現 MySQL 資料庫定時自動備份

備份是什麼?           為什麼要備份?   容災方案建設   儲存介質   光碟  磁帶  硬碟&n

centos每天自動備份mysql資料庫

#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH #資料庫使用者名稱

CentOS6.5 上crontab每天自動備份mysql資料庫

步驟: 1. sudo vi /etc/crontab  #編輯crontab任務 2.輸入01 12 * * * root /usr/local/mysql/backup/backup.sh >> /usr/local/mysql/backup/error.l

Linuxmysql資料庫自動備份與還原 遠端備份和本地備份

Linux系統下Mysql備份還原 MySql的還原與備份 1 備份     mysqldump -u root -p shop > /home/andy/shop20150910.sql