1. 程式人生 > >ORACLE 10G的資料泵自動備份指令碼

ORACLE 10G的資料泵自動備份指令碼

專案中遇到客戶有這種需求:資料泵每日定時備份一次,保留7個備份。以下指令碼可以實現此要求:

[[email protected] oracle]$ cat /opt/oracle/expdp.sh 
#/bin/sh
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export ORA_CRS_HOME=$ORACLE_BASE/product/crs
export ORACLE_SID=orcl1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=american_america.zhs16gbk
 
now=`date +%Y%m%d`
dmpfile=wh$now.dmp
log=wh$now.log
cd /backup
/opt/oracle/product/10.2.0/bin/expdp system/abc123 DUMPFILE=$dmpfile logfile=$log DIRECTORY=dump_dir FULL=Y
find /backup -name "*.dmp" -mtime +7 -exec rm {} \;
[[email protected] oracle]$ crontab -l
00 2 * * * /opt/oracle/expdp.sh

說明:指令碼實現每天在/backup目錄下生成一個dump及匯出日誌,檔名稱根據日期命名。通過OS的定時任務實現每天凌晨兩點鐘自動備份。指令碼自動/backup目錄下刪除7天前的檔案。通過測試,50G的dmp的匯出約需要30分鐘。在正常情況下還是建議用RMAN進行備份恢復。

Export: Release 10.2.0.5.0 - 64bit Production on Thursday, 07 January, 2016 2:00:01

Copyright (c) 2003, 2007, Oracle.  All rights reserved.
;;; 
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_FULL_01":  system/******** DUMPFILE=wh20160107.dmp logfile=wh20160107.log DIRECTORY=dump_dir FULL=Y 
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 50.09 GB
Processing object type DATABASE_EXPORT/TABLESPACE
*****略去****
Master table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is:
  /backup/wh20160107.dmp
Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed at 02:29:49

相關推薦

ORACLE 10G資料自動備份指令碼

專案中遇到客戶有這種需求:資料泵每日定時備份一次,保留7個備份。以下指令碼可以實現此要求: [[email protected] oracle]$ cat /opt/oracle/expdp.sh  #/bin/sh PATH=$PATH:$HOME/bin ex

linux下Oracle實現資料自動備份

由於近期工作的原因,要做一個簡單的oracle資料自動備份,因為是一個單體應用,所以就利用了linux的定時任務和oracle的exp進行資料備份,如果有不足和需要改正的地方,歡迎各位高手指正,不勝感

Oracle備份方式主要分三種:資料匯出備份(oracle10g開始推出)、熱備份與冷備份

oracle資料泵備份(Expdp命令)   Oracle備份方式主要分為資料泵匯出備份、熱備份與冷備份三種,今天首先來實踐一下資料泵備份與還原。資料泵匯出/匯入屬於邏輯備份,熱備份與冷備份都屬於物理備份。oracle10g開始推出了資料泵(expdp/impdp),可以使用並行引數選項,因此,

Linux下Oracle自動備份指令碼

#!/bin/bash export ORACLE_HOME=/usr/local/instantclient_11_2export PATH=$ORACLE_HOME:$PATHexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PAT

Oracle 自動備份指令碼

需求:在每天的23點50自動備份doiido使用者的資料庫,備份資訊保留30天 1:編寫oracle環境指令碼 $ vi oracle_hj.sh ORACLE_BASE=/doiido/oracle; export ORACLE_BASE ORACLE_HOME=$OR

Linux Mysql資料庫自動備份指令碼

方便你我他 #!/bin/bash #備份檔案儲存目錄 backupdir=/mnt/bak/dump #時間戳 time=_`date +%Y_%m_%d_%H_%M_%S` #資料庫連線資訊 db_name=資料庫名稱 db_user=資料庫賬戶 db_pass=資料

MySql Windws 下自動備份指令碼

  這幾天正在做一個  使用MySQL資料庫的專案,目前專案已經完成了,當部署好專案之後,正在考慮如何自動備份MySql資料庫的問題,我在網上找了一下資料終於解決了,特此記錄一下。 1 @echo off 2 echo. 3 echo MySQL資料庫備份 4 5

mongo自動備份指令碼和恢復

一、建立MongoDB備份目錄 mkdir -p /data/mongodb_bak/mongodb_bak_now mkdir -p /data/mongodb_bak/mongodb_bak_li

oracle 12c 資料新引數transform減少歸檔的產生

在資料泵匯出匯入時會產生大量的歸檔,可能比檔案本身都大(oracle資料庫 11g環境), oracle 12c新加了transform引數可以禁用歸檔,只會產生少量的歸檔(logtime=all

oracle 利用資料匯入匯出資料

目的:使用資料泵,將一臺電腦上的資料庫匯出,匯入到另一臺電腦上的資料庫。 A電腦上的操作。expdp資料匯出 1、執行cmd; 2、登入資料庫,輸入命令:sqlplus system/密碼; 3、建立目錄路徑:create directory backup_path as 

oracle使用資料的方式進行匯出匯入

主要是記錄一下使用資料泵進行匯入匯出的方法,我們在使用資料泵的時候一定要記得要在要oracle服務端執行,而我們使用imp、exp是在客戶端執行,這兩種有本質上的區別。 imp和exp是客戶端的工具 expdp和impdp是服務端的工具 二者不能互相使用,必須一一對應  

關於oracle資料匯出資料

1.首先用超級管理員登入 >> sqlplus user/[email protected] as sysdba 2.建立目錄 >> CREATE DIRECTORY dump_dir AS 'D:\dump'; 3.給當前需要使用的使用者

mysqldump自動備份指令碼的使用

從百度copy來一個備份的指令碼,做了簡單的修改:#!/bin/bash # Backup file is saved in the directory, if it does not exist Create basepath='/database/3306/ba

使用python在windows 下 編寫 自動備份指令碼

本人剛剛學習編寫python  通過簡明的Python 教程在學習。為了能夠學習的比較透測,就將簡明教程裡面的在linux 上面第十章的例子改用windows 下編寫。 下面是在linux下編寫指令碼的例子: #!/usr/bin/python # Filename:

補:Oracle資料匯出(expdp)及匯入(impdp)

        之前本來想寫篇exp-imp,expdp-impdp的簡單介紹的, 結果發現簡單寫了下exp-imp就挺長一篇了,所以就把expdp-impdp分開來寫了。放下之前的連結:https://blog.csdn.net/huay_li/article/detail

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

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

mysql在linux自動備份指令碼

指令碼如下 #!/bin/sh #備份目錄 dic="/usr/share/db_bak" y=$(date +%Y) m=$(date +%m) d=$(date +%d) #read -p "dbname:" dbname #if [ ! -n "$dbname

rman 自動備份指令碼( aix、centos)

AIX RMAN備份指令碼 1、檢視並配置定時指令碼crontab[[email protected] /]#crontab -l #oracle_backup #0 1 * * 0 su - oracle -c /oraback/scripts/orcl_fu

python2.7簡明之自動備份指令碼

問題原因: 用的是window8 python 2.7.1,發現zip命令無法識別,無法壓縮,檢視知乎,百度之後 解決方法: 1下載WinRAR,安裝到C:\Windows\System32下

oracle expdp資料來匯出資料

一,建立邏輯目錄: SQL> sqlplus / as sysdba SQL> create or replace directory expdp as 'd:\dump'; 二. 匯出schema: sdeclone和forest的資料 C:\User