自動刪除七天前的備份:
crontab -e
00 00 * * * find /home/oracle/mybackup -name '*' -mtime +7 | xargs rm
即可![img]
rman
查詢rman:
find / -name rman
su - oracle
檢視環境變數:
echo $path
編輯環境變數
vi ./.bash_profile
path=$oracle_home/bin:$path:$home/bin
exit (重啟生效)
su - oracle
echo $path
rman命令可以使用了
sqlplus /nolog
conn /as sysdba
archive log list
如果顯示如下即可:
database log mode archive mode
automatic archival enabled
切換模式:
shutdown immediate(先關閉)
statrup mount
alter database archivelog;
quit
archive mode下,rman命令可以使用了
rman/rman nocatalog
連線target database
connect target /
檢視歷史備份
list backupset;
開始全備份
backup database;
0級增量備份:backup incremental level=0 database
1級增量備份:backup incremental level=1 database
完成後檢視
list backupset;
檢視備份資訊:
cd /oracle/oradata/ermp
strings control01.ctl
-------非catalog備份------------
rman nocatalog
連線目標資料庫:
connect target /
如果資料庫沒有啟動則:
startup
監聽沒啟則:
lsnrctl start
service沒註冊:
lsnrctl service
連線目標資料庫:
connect target ermp/ermp
備份資料檔案,控制檔案,歸檔日誌檔案:
backup database plus archivelog delete input;
檢視備份:
list backupset;
命令檢視:
show all;
---------備份表空間----------
檢視表空間:
report schema;
備份表空間:
backup tablespace ermp;
檢視備份:
list backupset;
---------備份控制檔案------------
備份當前控制檔案:
backup current controlfile;
檢視備份:
list backupset;
---------映象備份--------
report schema;
記住file編號
copy datafile 5 to '/orabackup/ermp01bak.dbf';
若報沒有許可權錯誤,則是當前指定路徑沒有寫許可權
修改使用者密碼:
passwd oracle
檢視:list copy;
2009-11-05
檢視硬碟空間
df -h
------批命令-----------
rman
connect target /
rman> run
list backupset;
quit
ls /home/oracle/mybackup/ -lh
--formate 參考:
%c:備份片的拷貝數(從1開始編號)
%d:資料庫名稱
%d:位於該月中的天數(dd)
%m:位於該年中的月份(mm)
%f:乙個基於dbid唯一的名稱,這個格式的形式為c-***-yyyymmdd-qq,
其中***為該資料庫的dbid,yyyymmdd為日期,qq是乙個1-256的序列
%n:資料庫名稱,並且會在右側用x字元進行填充,使其保持長度為8
%u:是乙個由備份集編號和建立時間壓縮後組成的8字元名稱。可以生產唯一的名稱。
%p:表示備份集中備份片段的編號,從1開始編號
%u:是%u_%p_%c的簡寫形式,生產唯一名稱
%s:備份集的號
%t:備份集時間戳
%t:年月日格式(yyyymmdd)
--channel 通道:
rman和目標資料庫之間的連線,"allocate channel"命令在目標資料庫啟動
乙個伺服器程序,同時必須定義執行備份或恢復操作使用的i/o型別。
通道控制命令可以用來:
控制rman使用的o/s資源
影響並行度
指定i/o頻寬的限制值(設定limit read rate 引數)
定義備份片大小的限制(設定limit kbytes)
指定當前開啟檔案的限制值(設定limit maxopenfiles)
自動備份:備份指令碼 + crontab
0級增量指令碼 bakl0:
cd /home/oracle
mkdir scripts
vi bakl0
runcp bakl0 bakl1
cp bakl0 bakl2
vi bakl1
runbakl2同上
開始備份:
0級備份:
rman target / msglog=/home/oracle/mybackup/bakl0.log cmdfile=
/home/oracle/scripts/bakl0
1,2級同上
檢視備份:
cd /home/oracle/mybackup
ls -lh
檢視rman:which rman
--自動任務計畫備份 crontab -e -u oracle
whoami
root
crontab -e -u oracle
45 23 * * 0 rman target / msglog=bakl0.log cmdfile=bakl0
45 23 * * 1 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 2 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 3 rman target / msglog=bakl1.log cmdfile=bakl1
45 23 * * 4 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 5 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 6 rman target / msglog=bakl2.log cmdfile=bakl2
重啟crontab
service crond restart
----發現不會自動執行,估計是環境變數的問題
修改如下:
增加shell指令碼檔案backup.sh:
export oracle_sid=ermp;
path=$oracle_home/bin;$path;
/home/oracle/scripts/bakl0
(rman寫絕對路徑)
crontab -e -u oracle
45 23 * * * /home/oracle/scripts/backup.sh
[size=x-large][color=red][b]大功告成!![/b][/color][/size]
7天全量備份:
自動刪除7天前的備份日誌檔案:
crontab -e
00 00 * * * find /home/oracle/mybackup -name '*.log' -mtime +7 | xargs rm
1.在目錄 /home/oracle/scripts/ 建立檔案bakl0,內容如下(清理歸檔日誌):
run
2.在目錄 /home/oracle/scripts/ 建立檔案backup.sh,內容如下:
rq=`date '+%y%m%d'`;
export oracle_sid=ermp;
path=$oracle_home/bin;$path;
/home/oracle/scripts/bakl0
(rman寫絕對路徑)
crontab -e -u oracle
45 23 * * * /home/oracle/scripts/backup.sh
恢復----------基於scn的恢復----------
shutdown immediate;
startup mount;
restore database until scn 10000;
recover database until scn 10000;
alter database open resetlogs;
Windows下RMAN備份指令碼
windows 下rman 備份指令碼,比較簡單。我們看內容。1.修改rman 相關引數 rman show all rman configure controlfile autobackup on rman configure controlfile autobackup format for d...
Windows下RMAN備份指令碼
windows 下rman 備份指令碼,比較簡單。我們看內容。1.修改rman 相關引數 rman show all rman configure controlfile autobackup on rman configure controlfile autobackup format for d...
Windows下RMAN備份指令碼
windows 下rman 備份指令碼,比較簡單。我們看內容。1.修改rman 相關引數 rman show all rman configure controlfile autobackup on rman configure controlfile autobackup format for d...