linux下rman備份筆記

2021-08-30 07:13:56 字數 4887 閱讀 7987

自動刪除七天前的備份:

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...