Oacle12c 데이터 백업, 복구 정책
6766 단어 Oacle
실제 상황 에 따라 username, password, ORACLE 를 수정 하 십시오.SID, / PATH / TO / DIR 등
expdp 완비
expdp 는 완비 만 할 수 있 고 증분 백업 은 할 수 없습니다.
백업 파일 저장 디 렉 터 리 만 들 기
-- ( )
create or replace directory DMP_DIR as '/PATH/TO/DIR';
-- ,
grant read,write on directory DMP_DIR to USERNAME;
--
select * from all_directories;
--
select * dba_directories;
-- ORACLE_SID
select instance from v$thread;
expdp 데이터베이스 스 크 립 트
#!/bin/bash
source /home/oracle/.bash_profile
export ORACLE_BASE=/PATH/TO/ORACLE/BASE
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=${ORACLE_SID}
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
DATE=`date +%Y%m%d`;
expdp UESRNAME/PASSWORD@ORACLE_SID directory=DUMP_DIR dumpfile=FILENAME_$DATE.dmp logfile=expdp_FILENAME_$DATE.log
참고 문서: expdp 소개 매우 상세 하 다
공식 문서
impdp 데이터 복구
-- , ( TABLESPACENAME )( ,100 G , )
create tablespace TABLESPACENAME datafile '/PATH/TO/TABLESPACE/TABLESPACENAME.dbf' size 2g autoextend on;
alter tablespace TABLESPACENAME add datafile '/PATH/TO/TABLESPACE/TABLESPACENAME01.dbf' size 2g autoextend on;
-- ( )
create user USERNAME identified by PASSWORD default tablespace TABLESPACENAME;
--
grant dba to USERNAME;
-- dba ,
grant execute on SYS.DBMS_LOCK to USERNAME;
grant execute on SYS.DBMS_PIPE to USERNAME;
grant execute on SYS.DBMS_CRYPTO to USERNAME;
-- ( )
create directory DUMP_DIR as '/PATH/TO/DIR';
--
Grant read,write on directory DUMP_DIR to USERNAME;
-- , tablespace , remap_tablespace
impdp USERNAME/PASSWORD@${ORACLE_SID} directory=DUMP_DIR dumpfile=FILENAME_$DATE.dmp logfile=imp_FILENAME_$DATE.log remap_tablespace=OLD_TABLESPACENAME:TABLESPACENAME
transform=segment_attributes:n 원래 표 공간 이름 을 모 르 면 표 공간 과 저장 자 구 를 제거 하고 현재 기본 표 공간 으로 데 이 터 를 가 져 올 수 있 습 니 다.
remap_tablespace 원래 의 시계 공간: 새로운 시계 공간
remap_schema 원래 schema: 새로운 schema (문자 집합)
RMAN 증분 백업
이해 차이 가 너무 크 면 추 태 를 보이 지 않 는 다.
RMAN 백업 데이터
RMAN 복구 데이터
Oracle RMAN 증분 백업 전체 복구 테스트
다음은 RMAN 증분 백업 스 크 립 트 (ORACLE SID 와 DUMP DIR 을 변경 해 야 함) 입 니 다.
증분 백업 등급 0: full backup 에 해당 하 며 전체 datafile blocks 를 백업 하면 증분 백업 의 출발점 이 될 수 있 습 니 다.1 - 4: 이 등급 은 2 개의 백업 모드 차이 점 증분 백업 이 있 습 니 다. 백업 은 level n or lower 의 변경 블록 을 포함 하고 n 은 지정 할 수 있 습 니 다.lower 는 큰 디지털 누적 성 증분 백업 입 니 다. 백업 은 level n - 1 or lower 의 변경 블록 을 포함 합 니 다. n 은 차이 점 증분 백업 은 백업 이 매일 바 뀌 는 블록 이 고 누적 성 증분 백업 은 출발점 에서 며칠 동안 바 뀌 는 블록 입 니 다.
백업 효과:
주 를 한 주기 로 하고 일요일 을 시작 으로 일요일 에 한 번 씩 준비 하고 월요일, 화요일, 수요일 에 누적 적 인 증분 백업 을 하 며 목요일 에 차이 점 증분 백업 을 하고 금요일, 토요일 에 누적 적 인 증분 백업 을 하 며 매달 1 일 에 한 번 씩 제거 합 니 다.
#!/bin/bash
source /home/oracle/.bash_profile
#ORACLE_SID=ORACLE_SID # ORACLE_SID
#ORACLE_HOME= #ORACLE_HOME
echo "ORACLE_SID = ${ORACLE_SID},ORACLE_HOME = $ORACLE_HOME"
LOGFILE=`dirname $0`/orabkup.log
echo "see logfile in "$LOGFILE
date=`date +%Y-%m-%d`
echo "----------------------------start backup ----------------------------------" >> $LOGFILE
date >>$LOGFILE
#every 1th day of month truncate the logfile
dy=`date +%d`
if [ $dy -eq 1 ]; then
cat /dev/null > $LOGFILE
fi
unset dy
WEEK_DAILY=`date +%a`
case "$WEEK_DAILY" in
"Mon")
BAK_LEVEL=2;;
"Tue")
BAK_LEVEL=2;;
"Wed")
BAK_LEVEL=2;;
"Thu")
BAK_LEVEL=1;;
"Fri")
BAK_LEVEL=2;;
"Sat")
BAK_LEVEL=2;;
"Sun")
BAK_LEVEL=0;;
"*")
BAK_LEVEL=error
esac
echo "Today is $WEEK_DAILY ,backup level is $BAK_LEVEL" >> $LOGFILE
$ORACLE_HOME/bin/rman target / 1>>$LOGFILE <run{ allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
crosscheck backup;
backup as compressed backupset
incremental level $BAK_LEVEL tag '${ORACLE_SID}_lev_$BAK_LEVEL'
database include current controlfile format 'DUMP_DIR/${ORACLE_SID}_%U_%T.bak';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
sql 'alter system archive log current';
delete noprompt expired backup;
delete noprompt obsolete device type disk;
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before 'sysdate-7';
#exit
}
EOF
date >>$LOGFILE
echo "---------------------------end backup ----------------------------------" >> $LOGFILE
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 작업 은 Clob 또는 NClob 데이터 형식의 저장 프로 세 스 인 스 턴 스 를 포함 합 니 다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.