非歸檔模式的備份:
非歸檔模式下只能進行冷備(停庫再備份)
備份的方法:
拷貝文件,要拷貝哪些文件呢?
必須的文件:數據文件、控制文件
可選的文件:日誌文件、參數文件、密碼文件
爲了提高備份速度,最好寫腳本來做
/share/ocp/backup_script/get_file.sql
set heading off;
set feedback off;
set pagesize 0;
set trimspool on;
spool /share/ocp/backup_script/col_backup_command.sql;
select 'shutdown immediate;' from dual
union all
select 'host cp '||name||' /u03/backup/' from v$datafile
union all
select 'host cp '||name||' /u03/backup/' from v$controlfile
union all
select 'host cp '||member|| ' /u03/backup/' from v$logfile
union all
select 'host cp $ORACLE_HOME/dbs/spfile${ORACLE_SID}.ora /u03/backup/' from dual
union all
select 'host cp $ORACLE_HOME/dbs/orapw${ORACLE_SID} /u03/backup/' from dual
union all
select 'startup;' from dual;
spool off;
如果要保留7份備份,可以考慮,放到7個不同的目錄,那/u03/backup/ 可改爲
/u03/backup'||to_char(sysdate,'d')||'/'
以後備份時,只要在 SQL> 運行 get_file.sql 和 /home/oracle/col_backup_command.sql
但如果要作自動備份的話,還要進行一定的設置
非歸檔模式下自動備份的實現:
1、做一個 crontab
[oracle@t183 backup]$ crontab -l
03 04 * * * oracle_col_backup.sh
時間格式:分 時 日 月 周
2、編寫一個oracle_col_backup.sh 腳本來調用上面的 get_file.sql 和
col_backup_command.sql
#!/bin/bash
#
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2/db_1
ORACLE_SID=orcl
LANG=en
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
sqlplus sys/oracle as sysdba <<EOF
@/share/ocp/backup_script/get_file.sql;
@/share/ocp/backup_script/col_backup_command.sql;
EOF
非歸檔模式下的恢復:
只要任何一個數據文件或控制文件損壞,要把所有的數據文件、控制文件、日誌文件還原回去
實際就是將數據庫回到備份點的狀態(備份後的數據丟失)
非歸檔恢復時,爲了加快恢復速度,最好寫腳本來實現,而且這個腳本就在備份的時候就寫好
腳本大致內容:
spool /share/ocp/backup_script/col_restore_command.sql;
select 'host cp /u03/backup'||substr(name,instr(name,'/',-1))||' '||name from v$datafile
union all
select 'host cp /u03/backup'||substr(name,instr(name,'/',-1))||' '||name from v$controlfile
union all
select 'host cp /u03/backup'||substr(member,instr(member,'/',-1))||' '||member from v$logfile
union all
select 'host cp /u03/backup/spfile${ORACLE_SID}.ora $ORACLE_HOME/dbs/' from dual
union all
select 'host cp /u03/backup/orapw${ORACLE_SID} $ORACLE_HOME/dbs/' from dual;
spool off;