oracle 數據庫備份與恢復


oracle 數據庫備份與恢復

包含四個部分:

1、數據泵備份與恢復
2、rman備份與恢復
3、CSV增量備份恢復
4、截庫操作

1、數據泵備份與恢復

expdp/ / impdp 時的 CONTENT 選項 使用 :

CONTENT用於指定要導入/出的內容.默認值為ALL
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
1) 當設置CONTENT為ALL 時,將導出對象定義及其所有數據.
2) 為DATA_ONLY時,只導出對象數據,
3) 為METADATA_ONLY時,只導出對象定義

impdp 導入時若表已經存在有四種的處理方式 table_exists_action

1) skip:默認操作
2) replace:先drop表,然后創建表,最后插入數據
3) append:在原來數據的基礎上增加數據
4) truncate:先truncate,然后再插入數據

前提設置 dumpdir:

create or replace directory dumpdir as '/u01/dumpdp';
select * from dba_directories;

表的備份:

expdp system/oracle@asp directory=dumpdir tables=sync.t_superuser
logfile=expdp_sync.log dumpfile=sync.superuser.dmp

表的恢復:

impdp system/oracle@asp directory=dumpdir dumpfile=sync.superuser.dmp
tables=sync.t_superuser logfile=impdp_sync.log table_exists_action=replace

表空間備份:

expdp system/oracle@asp directory=dumpdir dumpfile=fbt.dmp
tablespaces=tbs_fbtransfer logfile=expdp_fbt.log

表空間恢復:

impdp system/oracle@asp directory=dumpdir dumpfile=fbt.dmp
tablespaces=tbs_fbtransfer logfile=impdp_fbt.Log table_exists_action=replace

全備:

expdp system/oracle@asp directory=dumpdir dumpfile=asp.dmp logfile=full.log full=y

指定 Schemas 方式:

expdp system/oracle@asp directory=dumpdir dumpfile=20180xx.dmp
schemas=ngessync,sync,operation,settlement,historysettlement,recovery,risk,fbtransfer,fbtransferhistory,fbexchange,fbexchangehistory,report logfile=2018xx.log

注意: 恢復全庫備份前應該先drop掉用戶和對應的數據

drop user fbtransfer cascade; ;


CTP 增量備份:

expdp system/oracle@asp directory=dumpdir
dumpfile=expdp_fbt_inc_201808xxinc.dmp
schemas= fbtransfer content=data_only
LOGFILE= expdp_fbt_inc_201808xxinc.log

恢復 :

impdp system/oracle@asp directory=dumpdir dumpfile=inc.dmp content=data_only
schemas=fbtransfer table_exists_action=truncate logfile=impdp_inc.log


2、rman備份與恢復

前提 條件:

Shutdown immediate
Startup mount
Alter database archivelog
Alter database open
Alter system set log_archive_dest_1='location=/u02/arch';

簡單備份指令:

rman target sys/syscode #進入rman
run{ #備份數據庫
CROSSCHECK ARCHIVELOG ALL;
BACKUP incremental level 0 DATABASE plus archivelog delete input;
BACKUP incremental level 1 DATABASE plus archivelog delete input;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}
list backupset;

恢復:

rman target sys/syscode #進入
run {
startup mount force;
set until scn 1365958;
restore database;
recover database;
sql 'alter database open resetlogs';
}

3、CSV增量備份恢復

CSV 增量備份用途 :

當系統切換至啟動狀態后,后台自動掃描settlement.t_systemstatus表的backupstatus字
段,發現該字段為0(未生成備份數據)時,則開始數據備份並將該字段置為1(備份數據生
成中)。備份完成后該字段為2(已生成備份數據),如果失敗,該字段為3。生成的備份用
於:一旦點了結算初始化后發現系統數據有問題,可以利用增量數據回到“啟動+結算初始
化數據未完成”狀態,可以近一步回退到上一交易日的結算狀態進行數據處理

步驟 :

1.關閉tomcat
2.使用Oracle用戶把csv備份從web機的back_sett_data/backup下copy到任意連庫機器上
3.unzip解壓,並賦予導入腳本import.sh可執行權限
4.運行./import.sh tradingday
之后會有提示選項:
請輸入數據庫連接字符串: system/oracle@asp
請輸入需要更新的災備中心標識號。如無需更新,請直接回車:
5.檢查日志是否有報錯
6.開啟tomcat,登錄櫃台檢查系統狀態為啟動

4、截庫操作

目的:

數據庫截庫是在數據庫數據過大的情況下,丟棄某一時間點之前的數據,使數據庫容量恢復
到健康狀態。

前提條件:

1. 關閉閃回:shutdown immediate ->startup mount ->alter database flashback
  off->alter database on; 
  查看是否關閉:select flashback_on from v$database;
2 .關閉歸檔:archive log list 查看歸檔狀態
  shutdown->startup mount ->alter databae noarchivelog ->alter database
  open

步驟:

  1.關閉tomcat
  2.工具位置asptools/datapumpTools/cleanOutDB_month/,修改sh.cfg
  3.運行./backup
  4.recover.sh yyyymmdd (sh.cfg配置的stats_date日期)
  5./verifyData.sh
  6.開啟tomcat,檢查數據日期,能查詢到的最早日期


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM