新聞中心
linux下怎么定時(shí)備份oracle數(shù)據(jù)庫(kù)
如果是sql server,定期備份可以利用sql server的management studio來做,比較方便。但要做oracle的定期備份,那就需要我們寫導(dǎo)出命令,并設(shè)置linux的定時(shí)任務(wù)。
創(chuàng)新互聯(lián)公司是一家集成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站頁(yè)面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡(luò)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁(yè)面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠(chéng)信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場(chǎng)環(huán)境中,互促共生。
首先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)作為測(cè)試。
--創(chuàng)建數(shù)據(jù)表空間
create tablespace test_data
logging
datafile '/u01/app/oradata/test/TEST.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
--創(chuàng)建用戶并指定表空間
create user TEST identified by 123
default tablespace test_data
temporary tablespace temp;
--給用戶授予權(quán)限
grant connect,resource to TEST;
用Test用戶登錄,創(chuàng)建一個(gè)表,并插入兩條數(shù)據(jù):
create table t1(
Id varchar(50) primary key,
title varchar(50)
);
insert into t1 values(sys_guid(),'t1');
insert into t1 values(sys_guid(),'t2');
commit;
先寫一個(gè)導(dǎo)出的腳本文件:
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/app/oracle
export ORACLE_SID=TEST
export PATH=$ORACLE_HOME/bin:$PATH
d=$(date '+%Y%m%d')
exp TEST/123@TEST file=/home/oracle/backup/$d.dmp log=/home/oracle/backup/$d.log owner=TEST
zip -m /home/oracle/backup/$d.zip /home/oracle/backup/$d.dmp /home/oracle/backup/$d.log
前4句是設(shè)置環(huán)境變量,因?yàn)閏rontab定時(shí)調(diào)用時(shí),不會(huì)使用oracle用戶的環(huán)境變量,所以要先把它們導(dǎo)進(jìn)來。第6行以當(dāng)前日期作為導(dǎo)出的文件名,例如20120626.dmp和20120626.log。第7行把這兩個(gè)文件打成一個(gè)zip包,并刪掉這兩個(gè)文件。
要用chmod命令把這個(gè)sh標(biāo)記為可執(zhí)行:
chmod +x backup.sh
用oracle用戶,輸入crontab -e命令,編輯oracle用戶的任務(wù)計(jì)劃:
[oracle@localhost backup]$ crontab -e
42 13 * * * /home/oracle/backup/backup.sh
這樣就添加了一個(gè)計(jì)劃,在每天的13點(diǎn)42分運(yùn)行/home/oracle/backup/backup.sh。
另外,每天運(yùn)行完之后,會(huì)收到mail通知,可以在mail里看出到底有沒有正確運(yùn)行。
請(qǐng)問怎么實(shí)現(xiàn)oracle數(shù)據(jù)庫(kù)的自動(dòng)定時(shí)增量備份呢?
oracle實(shí)現(xiàn)自動(dòng)定時(shí)備份其實(shí)比較好的方法是:
oracle中的job
+
存儲(chǔ)過程
job定時(shí)執(zhí)行,而存儲(chǔ)過程則完成增量備份!!
oracle數(shù)據(jù)庫(kù)自動(dòng)備份系統(tǒng)
Oracle Database,又名Oracle RDBMS,或簡(jiǎn)稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它是在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。下面我為大家分享一下oracle數(shù)據(jù)庫(kù)自動(dòng)備份系統(tǒng)的 方法 ,有需要的可以參考一下!
oracle數(shù)據(jù)庫(kù)自動(dòng)備份系統(tǒng)
實(shí)現(xiàn)過程:
1. 建立文件 backup.bat (自定義文件名.bat)
@echo off
REM ###########################################################
REM # Windows Server 2003下Oracle數(shù)據(jù)庫(kù)自動(dòng)備份批處理腳本
REM ###########################################################
REM 取當(dāng)前系統(tǒng)時(shí)間,可能因 操作系統(tǒng) 不同而取值不一樣
set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURMON=%date:~0,4%%date:~5,2%
set CURTIME=%time:~0,2%
REM 小時(shí)數(shù)如果小于10,則在前面補(bǔ)0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
REM 設(shè)置所有者、用戶名和密碼
set OWNER=orcl
set USER=bktcgl
set PASSWORD=bktcgl
REM 創(chuàng)建備份用目錄,目錄結(jié)構(gòu)為oraclebak/YYYYMMDD/
if not exist "oraclebak" mkdir oraclebak
cd oraclebak
if not exist "%CURMON%" mkdir %CURMON%
set FILENAME=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%.DMP
set EXPLOG=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%_log.log
REM 調(diào)用ORACLE的exp命令導(dǎo)出用戶數(shù)據(jù)
exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n
exit
注:
1.bat文件可雙擊或直接在命令行執(zhí)行,檢查正確與否
2.檢查時(shí)可注釋掉exit
3.以上文件實(shí)現(xiàn)按月份創(chuàng)建文件夾,按時(shí)間生成備份文件
2.建立windows任務(wù)
步驟:
開始 - 所有程序 - 附件 - 系統(tǒng)工具 - 任務(wù)計(jì)劃程序 - 操作 - 創(chuàng)建基本任務(wù)
- 任務(wù)名輸入"oracle_backup"(自定義任務(wù)名),執(zhí)行這個(gè)任務(wù)選擇每天,下一步
- 起始時(shí)間下午12:00,起始日期2012-7-11,下一步 -(啟動(dòng)程序)下一步
-在 瀏覽 中查找剛剛寫好的 backup.bat 文件 下一步 完成
注:
1.在任務(wù)計(jì)劃?rùn)谀肯滦略鲆粋€(gè)名為"oracle_backup"的任務(wù)計(jì)劃,表明已經(jīng)配置完畢。
2.不同系統(tǒng)的任務(wù)計(jì)劃略有不同,但基本換湯不換藥,不做一一例舉
問題:系統(tǒng)警告"已創(chuàng)建新任務(wù),但可能不能運(yùn)行,因?yàn)闊o法設(shè)置賬戶信息。指定的錯(cuò)誤是:Ox80041315:任務(wù)計(jì)劃程序服務(wù)沒有運(yùn)行"
原因:電腦的任務(wù)計(jì)劃程序服務(wù)沒有啟動(dòng)起來。
解決:開始 所有程序 管理工具 服務(wù),找到"Task Scheduler"服務(wù),發(fā)現(xiàn)啟動(dòng)類型為"已禁用",
右鍵單擊更改為"自動(dòng)",并把它啟動(dòng)起來,然后重新添加一次任務(wù)計(jì)劃就可以了。
3.簡(jiǎn)單解釋
1. bat:是dos下的批處理文件。批處理文件是無格式的文本文件,它包含一條或多條命令。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統(tǒng)就會(huì)調(diào)用 Cmd.exe按照該文件中各個(gè)命令出現(xiàn)的順序來逐個(gè)運(yùn)行它們。
2. Echo 命令:打開回顯或關(guān)閉請(qǐng)求回顯功能,或顯示消息。
3. @ 命令:表示不顯示@后面的命令
4. Rem 命令:注釋命令
5. If命令:if表示將判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。
6. exit :退出命令行
7. GRANTS: 是權(quán)限的意思,在你導(dǎo)出的目標(biāo)數(shù)據(jù)庫(kù)中可能會(huì)有一些表的如select 權(quán)限等賦給了別的用戶。
【GRANTS=Y】導(dǎo)出的時(shí)候?qū)⑦@些權(quán)限導(dǎo)出,導(dǎo)入的時(shí)候?qū)⑦@些權(quán)限導(dǎo)入。
【GRANTS=N】權(quán)限不被導(dǎo)入。
ORACLE服務(wù)器定時(shí)備份怎么做
在windows中用任務(wù)計(jì)劃向?qū)Ъ纯桑蚴褂胊t命令。在unix中,在目標(biāo)機(jī)器上編寫一個(gè)文件,用以啟動(dòng)Oracle自動(dòng)備份進(jìn)程。假定文件名為ORACLE,文件將放在/var/spool/cron/crontabs目錄下
$cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23點(diǎn)對(duì)數(shù)據(jù)庫(kù)備份
0 12,18 * * * backup_archive.sh
#表示每天12點(diǎn),18點(diǎn)備份
Crontab文件的每一行由六個(gè)域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開來!
oracle數(shù)據(jù)庫(kù)怎樣使用備份
先確認(rèn)oracle服務(wù)器上oracle如下截圖中標(biāo)紅的相關(guān)的服務(wù)是否已經(jīng)正常啟動(dòng)。
請(qǐng)點(diǎn)擊輸入圖片描述
要斷開數(shù)據(jù)庫(kù)的所有連接,如果數(shù)據(jù)庫(kù)中有正在連接客戶端,備份的時(shí)候可能會(huì)出現(xiàn)異常,比如PLSQL的連接先退出一下。
請(qǐng)點(diǎn)擊輸入圖片描述
在開始菜單中輸入“cmd”命令后回車,打開dos命令窗口,如下截圖1和2所示。
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
在cmd窗口中,輸入以下命令:
exp 用戶名/密碼@SID file=d:\xx.dmp owner=用戶名,按下回車鍵,界面如下截圖所示。
請(qǐng)點(diǎn)擊輸入圖片描述
導(dǎo)出的時(shí)間是根據(jù)數(shù)據(jù)庫(kù)的大小決定的,如果數(shù)據(jù)庫(kù)中表比較多,數(shù)據(jù)量比較大速度就會(huì)比較慢,請(qǐng)耐心等待。當(dāng)數(shù)據(jù)完成導(dǎo)出之后,cmd窗口中會(huì)出現(xiàn)如下圖所示的提示語,這就表示已經(jīng)完成了數(shù)據(jù)庫(kù)備份導(dǎo)出的動(dòng)作。
請(qǐng)點(diǎn)擊輸入圖片描述
這時(shí)候在計(jì)算機(jī)中找到第四步中設(shè)定的文件保存路徑,如下截圖,你會(huì)發(fā)現(xiàn)多了一個(gè)dmp的文件,這個(gè)文件就是我們需要的備份文件了。
請(qǐng)點(diǎn)擊輸入圖片描述
可以在控制面板的管理工具中,找到任務(wù)計(jì)劃程序,設(shè)置一個(gè)定時(shí)任務(wù),每天執(zhí)行一遍exp 用戶名/密碼@SID file=d:\xx.dmp owner=用戶名這個(gè)命令,這樣就能實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的定時(shí)備份了。
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
分享名稱:如何定時(shí)備份oracle,硬盤定時(shí)備份
地址分享:http://www.dlmjj.cn/article/hsjcsd.html