當前位置:首頁 » 編程軟體 » oracle自動備份腳本linux

oracle自動備份腳本linux

發布時間: 2025-01-27 12:21:40

linux下怎麼定時備份oracle資料庫

如果是sql server,定期備份可以利用sql server的management studio來做,比較方便。但要做oracle的定期備份,那就需要我們寫導出命令,並設置linux的定時任務。
首先創建一個資料庫作為測試。
--創建數據表空間
create tablespace test_data
logging
datafile '/u01/app/oradata/test/TEST.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

--創建用戶並指定表空間
create user TEST identified by 123
default tablespace test_data
temporary tablespace temp;

--給用戶授予許可權
grant connect,resource to TEST;
用Test用戶登錄,創建一個表,並插入兩條數據:
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;
先寫一個導出的腳本文件:
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句是設置環境變數,因為crontab定時調用時,不會使用oracle用戶的環境變數,所以要先把它們導進來。第6行以當前日期作為導出的文件名,例如20120626.dmp和20120626.log。第7行把這兩個文件打成一個zip包,並刪掉這兩個文件。
要用chmod命令把這個sh標記為可執行:
chmod +x backup.sh

用oracle用戶,輸入crontab -e命令,編輯oracle用戶的任務計劃:
[oracle@localhost backup]$ crontab -e
42 13 * * * /home/oracle/backup/backup.sh
這樣就添加了一個計劃,在每天的13點42分運行/home/oracle/backup/backup.sh。

另外,每天運行完之後,會收到mail通知,可以在mail里看出到底有沒有正確運行。

Ⅱ linux oracle 定時備份計劃問題

crontab 執行的腳本是以root用戶來調用的,所以必須要加上oracle用戶的環境變數如ORACLE_HOME、ORACLE_BASE、ORACLE_SID,ORACLE_HOME/bin也要加到path裡面
另外expdp_oracle.sh其他用戶也要有執行許可權
example:
vi expdp_oracle.sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/proct/10.2/db_1
export ORACLE_SID=orcl
export PATH=/u01/app/oracle/proct/10.2/db_1/bin;$PATH

expdp system/oracle directory=DDPDATA21 mpfile=rrq.dmp schemas= 'MMS';
wq:

Ⅲ linux下不能自動備份oracle資料庫

用ORACLE用戶執行這個BAK.SH腳本

要看看對/BACKUP目錄是不是有可寫的許可權。

另外就是 BAK.SH這個腳本,最好放在 /home/oracle/ 這個目錄下,免得oracle用戶訪問不到。

另外,30 0 * * * 是 每天0點30開始備份,你這個機器時鍾,難道是0點?

Ⅳ 菜鳥求助:linux下oracle資料庫自動備份腳本,腳本可實現資料庫自動備份功能,並刪除三天前的備份

這個好辦。 cp 你的資料庫`date +'%y%m%d'` 指定目錄 這個是以年月日來命名備份 刪除的命令是
rm -f 你的資料庫名字`date -d "3 days ago" +'%y%m%d'` 這個是刪除匹配你資料庫的備份名日期前3天的備份文件 他會按照日期-3天匹配3天前的日期來刪除備份的

Ⅳ linux上如何刪除oracle實例

刪除oracle實例記錄:
方法一、從圖形界面運行dbca,選擇刪除,按提示一路next;
方法二、手動刪除。
1、關閉所有oracle進程,其實只要shutdown
abort即可.因我的機器oracle沒設置為開機自動啟動,重啟機器後oracle進程一個也沒有,系統很是干凈.
2、刪除實例數據文件和mp文件;
find $ORACLE_BASE/ -name $ORACLE_SID
在我系統裡面顯示如下,將這些目錄直接刪除;
/u01/app/oracle/admin/testdb
/u01/app/oracle/oradata/testdb
/u01/app/oracle/proct/10.2.0/db_1/cfgtoollogs/emca/testdb
/u01/app/oracle/proct/10.2.0/db_1/cfgtoollogs/dbca/testdb
3、刪除其他配置文件
find $ORACLE_BASE/* -name '*[Bb][Tt][Ss][Dd][Bb]2*' | grep -v
admin| grep -v oradata
將查找結果出現的文件也一一刪除,當然你可以用xarg結合rm刪除.
find結果如下:
/u01/app/oracle/flash_recovery_area/testdb
/u01/app/oracle/proct/10.2.0/db_1/cfgtoollogs/emca/testdb
/u01/app/oracle/proct/10.2.0/db_1/cfgtoollogs/dbca/testdb
/u01/app/oracle/proct/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_host_testdb
/u01/app/oracle/proct/10.2.0/db_1/rdbms/log/alert_testdb.log
/u01/app/oracle/proct/10.2.0/db_1/host_testdb
/u01/app/oracle/proct/10.2.0/db_1/host_testdb/sysman/emd/state/A190EE260BF6B09EB5805807
28916A3B.alert_testdb.log
/u01/app/oracle/proct/10.2.0/db_1/host_testdb/sysman/log/nmctestdb1521
/u01/app/oracle/proct/10.2.0/db_1/dbs/alert_testdb.log
/u01/app/oracle/proct/10.2.0/db_1/dbs/lktestdb
/u01/app/oracle/proct/10.2.0/db_1/dbs/hc_testdb.dat
/u01/app/oracle/proct/10.2.0/db_1/dbs/orapwtestdb
/u01/app/oracle/proct/10.2.0/db_1/dbs/spfiletestdb.ora
4、最重要的一步,如果你要重建的實例和剛刪除實例的實例名一樣的話,刪除
/etc/oratab文件最後一行。
至此,已干凈刪除linux系統的oracle實例。

熱點內容
遺傳演算法ppt 發布:2025-01-28 00:56:41 瀏覽:534
安卓手機連拍圖片怎麼保存 發布:2025-01-28 00:48:12 瀏覽:645
怎麼看出車輛配置是不是舊車 發布:2025-01-28 00:42:42 瀏覽:3
編譯時的程序在哪裡 發布:2025-01-28 00:42:39 瀏覽:345
ftp協議的功能 發布:2025-01-28 00:38:53 瀏覽:251
linux統計ip 發布:2025-01-28 00:38:50 瀏覽:153
游戲解壓泥 發布:2025-01-28 00:38:04 瀏覽:728
curlandroid下載 發布:2025-01-28 00:20:10 瀏覽:873
數控車編程視頻 發布:2025-01-28 00:15:02 瀏覽:967
壓縮機帶電 發布:2025-01-28 00:06:14 瀏覽:195