linux定時備份oracle

2021-09-11 08:49:23 字數 1372 閱讀 9182

1. 建立備份檔案 vi bak.sh

#!/bin/bash

export oracle_sid=orcl

export oracle_term=xterm

export path=$oracle_home/bin:/usr/sbin:$path

export ld_library_path=$oracle_home/lib:/lib:/usr/lib

export lang=c

export nls_lang=american_america.al32utf8

date=`date -d yesterday +%y%m%d%h%m`

days=5 #保留天數

orsid=orcl

orowner=ssq #執行備份的使用者

bakuser=ssq #備份的使用者

bakpass=123 #執行備份的使用者密碼

bakdir=/home/server/datapump #備份路徑

bakdata=$orowner"_"$date.dmp

baklog=$orowner"_"$date.log

ordatabak=$orowner"_"$date.tar.gz

cd $bakdir

mkdir -p $orowner

cd $orowner

exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog

tar -zcvf $ordatabak $bakdata $baklog

find $bakdir/$orowner -type f -name "*.log" -exec rm {} \;

find $bakdir/$orowner -type f -name "*.dmp" -exec rm {} \;

find $bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;

2.新增指令碼執行許可權

chmod +x bak.sh #新增指令碼執行許可權

3.編輯系統任務執行計畫 (crontab -l #可檢視計畫任務)

crontab -e  

新增一下內容

00 01 * * * /data/bakorcldata/bak.sh #每天凌晨1點,以oracle使用者執行bak.sh備份檔案

:wq! #儲存退出

4.重啟crontab

service crond restart

參考:

Linux下oracle定時備份

1.設定資料庫空表可匯出 用pl sql登入資料庫 或者其他工具 執行 select alter table table name allocate extent from user tables where num rows 0 然後執行查詢出來的語句 2.檢視資料庫的字符集 資料庫的字符集必須和...

Oracle 定時備份

最近客戶要求系統的資料庫每天備份一次,總是保留最近乙個星期的備份檔案,寫了乙個指令碼,也許有朋友會用到 新建bat檔案 del d dbbak bak7.dmp ren d dbbak bak6.dmp bak7.dmp ren d dbbak bak5.dmp bak6.dmp ren d dbb...

oracle定時備份 增量備份

一 匯出 匯入 export import 利用export可將資料從資料庫中提取出來,利用import則可將提取出來的資料送回oracle資料庫中去。1.簡單匯出資料 export 和匯入資料 import oracle支援三種型別的輸出 1 表方式 t方式 將指定表的資料匯出。2 使用者方式 u...