데이터 베이스 MySQL 튜토리얼 DG环境数据库RMAN备份策略制定

DG环境数据库RMAN备份策略制定

Jun 07, 2016 pm 04:00 PM
o 데이터 베이스

DG环境数据库RMAN备份策略制定:主库(Primary) 全库备份归档备份删除历史文件夹备库(Standby) 删除归档引用说明 主库(Primary)$ c

DG环境数据库RMAN备份策略制定:
主库(Primary)

全库备份
归档备份
删除历史文件夹
备库(Standby)

删除归档
引用说明

主库(Primary)
$ crontab -l

0 1 * * * /usr2/backupsh/full_backup.rman
0 */2 * * * /usr2/backupsh/arch_backup.rman
0 3 * * * /usr2/backupsh/del_old.sh全库备份
more /usr2/backupsh/full_backup.rman

#!/bin/bash
foldername=`date +%Y%m%d`
cd /usr2/BACKUP
if [ -d $foldername ]
then
        echo    'go on'
else
        echo    'need mkdir'
        mkdir $foldername
fi

export Oracle_SID=jyzhao
export ORACLE_BASE=/opt/app
export ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib
#export NLS_LANG="simplified chinese_china.ZHS16GBK"
#export NLS_DATE_FORMAT="YYYY-MM-DD HH24:Mi:SS"

rman target / log=/usr2/BACKUP/$foldername/LOG_full_$foldername.log run{
configure retention policy to recovery window of 5 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/usr2/BACKUP/$foldername/controlfile%F';
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
#backup database skip inaccessible
backup incremental level=0 database
        format '/usr2/BACKUP/$foldername/full_BACK_%U';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt expired backupset;
delete noprompt obsolete;
exit
EOF归档备份
more /usr2/backupsh/arch_backup.rman

#!/bin/bash
foldername=`date +%Y%m%d`
cd /usr2/BACKUP
if [ -d $foldername ]
then
        echo    'go on'
else
        echo    'need mkdir'
        mkdir $foldername
fi

export ORACLE_SID=jyzhao
export ORACLE_BASE=/opt/app
export ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib
#export NLS_LANG="simplified chinese_china.ZHS16GBK"
#export NLS_DATE_FORMAT="YYYY-MM-DD HH24:Mi:SS"

rman target / log=/usr2/BACKUP/$foldername/LOG_arch_$foldername.log append run{
configure retention policy to recovery window of 5 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/usr2/BACKUP/$foldername/controlfile%F';
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
#backup database skip inaccessible
backup archivelog all delete input
        format '/usr2/BACKUP/$foldername/arch_BACK_%U';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt expired backupset;
delete noprompt obsolete;
exit
EOF删除历史文件夹
more /usr2/backupsh/del_old.sh

#!/bin/bash
#del old folders
cd /usr2/BACKUP
find . -mtime +7 | xargs rm -rf备库(Standby)
$ crontab -l

0 3 * * * /usr2/del_arch/del_arch.sh删除归档
more /usr2/del_arch/del_arch.sh

#!/bin/bash
export ORACLE_SID=jyzhao_s
export ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
export ARCHIVE_DIR=/usr2/oradata/archivelog
export LOG_FILE=/usr2/oradata/archivelog/del_archive.log
 
echo "开始删除归档日志:`date`……">>$LOG_FILE
if [ `whoami` != 'oracle' ]
then
echo "Error: You must be oracle to execute.">>$LOG_FILE
exit 99
fi
 
del_seq=`ls -tr $ARCHIVE_DIR/|grep -v stdarch | head -1|cut -f2 -d_`
$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" tmp.log
set pagesize 0 feedback off verify off heading off echo off
select max(sequence#) from v\$ARCHIVED_LOG where APPLIED='YES';
exit;
XFF
max_sn=`cat tmp.log`
rm tmp.log
max_sn=$(( $max_sn - 20 ))
#我这里是保留最近的20个归档文件,这个具体情况自己决定
 
while [[ ${del_seq} -lt ${max_sn} ]]
do
  echo "${ARCHIVE_DIR}/1_${del_seq}_830355509.dbf">>$LOG_FILE
  rm ${ARCHIVE_DIR}/1_${del_seq}_830355509.dbf
  #这里是我定义归档文件的格式,,具体根据自己的归档文件格式来匹配,关键是匹配日志的sequence no。
  del_seq=$(( $del_seq + 1 ))
done
echo "删除归档日志结束:`date`……">>$LOG_FILE
 
#清楚controlfile中信息
$ORACLE_HOME/bin/rman target / >$LOG_FILE
crosscheck archivelog all;
delete expired archivelog all;
YES
exit;
XIFENFEI
 
echo "………………………………………………………………………………………………………………………">>$LOG_FILE

--------------------------------------推荐阅读 --------------------------------------

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다.

Go WebSocket은 데이터베이스와 어떻게 통합됩니까? Go WebSocket은 데이터베이스와 어떻게 통합됩니까? Jun 05, 2024 pm 03:18 PM

Go WebSocket은 데이터베이스와 어떻게 통합됩니까?

상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위) 상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위) Mar 12, 2025 pm 05:48 PM

상위 10 개 글로벌 디지털 통화 거래 앱 권장 (2025 통화 거래 소프트웨어 순위)

BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까? BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까? Feb 21, 2025 pm 07:09 PM

BTC Trading 앱을 설치하고 등록하는 방법은 무엇입니까?

C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까? C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까? Jun 01, 2024 pm 07:24 PM

C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까?

PHP에서 데이터베이스 연결 오류를 처리하는 방법 PHP에서 데이터베이스 연결 오류를 처리하는 방법 Jun 05, 2024 pm 02:16 PM

PHP에서 데이터베이스 연결 오류를 처리하는 방법

Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 02:20 PM

Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까?

See all articles