溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ORACLE備份與恢復(fù)的示例分析

發(fā)布時間:2021-11-17 11:12:06 來源:億速云 閱讀:133 作者:小新 欄目:云計算

這篇文章主要介紹了ORACLE備份與恢復(fù)的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

經(jīng)常聽到有人說,某數(shù)據(jù)庫備份方法好,某備份方法不好,或者說現(xiàn)在都流行用rman來備份了,邏輯備份已經(jīng)過時了,冷備份就更不值一提了,其實數(shù)據(jù)庫的備份從來沒有什么好壞之分、沒有過時之說,合適才是最重要的,自己好才是真的好。各種方法各有長短,誰也代替不了誰,只有根據(jù)實際情況搭配使用,才能發(fā)揮最大的作用,否則只能是東施效顰。

1. oracle的備份,包括noarchivelog模式的備份(冷備份)、archivelog模式的備份(熱備份、rman備份)、邏輯備份(不分模式)。
1.1. 冷備份:
-- 1)關(guān)閉數(shù)據(jù)庫
   shutdown; 
-- 2)備份數(shù)據(jù)文件、控制文件、重做日志文件
  -- A、 查找備份文件的位置
     SELECT * FROM V$DATAFILE;     --查數(shù)據(jù)文件
     select * from v$controlfile;  --查控制文件
     select * from v$logfile;      --查日志文件
  -- B、 備份數(shù)據(jù)文件、控制文件、重做日志文件
    $ copy D:\oracle\oradata\ora9\*.dbf d:\bak\*.*;
    $ copy D:\oracle\oradata\ora9\*.ctl d:\bak\*.*;
    $ copy D:\oracle\oradata\ora9\*.log d:\bak\*.*;

1.2. 熱備份:
 -- 1)查詢備份的數(shù)據(jù)文件與哪一個表空間有關(guān)
  SELECT V$TABLESPACE.NAME,V$DATAFILE.NAME
    FROM V$TABLESPACE JOIN V$DATAFILE USING(TS#);
 -- 2)備份數(shù)據(jù)文件
  alter tablespace 表空間 BEGIN BACKUP;
  $ COPY 數(shù)據(jù)文件  存放路徑 
  ALTER TABLESPACE 表空間 END BACKUP;
 -- 3)查詢是否還有表空間處于備份模式
   SELECT * FROM V$BACKUP;  --STATUS不是ACTIVE即可以
   SELECT V$TABLESPACE.NAME,V$BACKUP.STATUS,V$DATAFILE.NAME
     FROM V$TABLESPACE JOIN V$DATAFILE USING (TS#) JOIN V$BACKUP USING (FILE#);
 -- 4)備份控制文件
   ALTER DATABASE BACKUP CONTROLFILE TO '目標(biāo)路徑及文件名';

1.3. rman備份:
  -- 1)一個簡單的rman全庫備份:
  > rman nocatalog target "sys/sys"
  RMAN> restore controlfile from autobackup;
  RMAN> configure controlfile autobackup on;
  RMAN> backup database;

  -- 2)備份數(shù)據(jù)文件、控制文件、歸檔日志
  RMAN> BACKUP DATAFILE 數(shù)據(jù)文件名;
  RMAN> BACKUP CURRENT CONTROLFILE;
  RMAN> BACKUP ARCHIVELOG ALL;

 -- 3)備份控制文件trace
  SQL> alter session set tracefile_identifier=system ;
  SQL> alter database backup controlfile to trace;
  SQL> alter database backup controlfile to 'd:\temp\controlfile.bak';
 
 -- 4)備份表空間
  RMAN>  backup  tablespace 表空間名;
  -- rman備份比較復(fù)雜,只舉些簡單的例子。

1.4. 邏輯備份
  -- 1)數(shù)據(jù)庫方式(導(dǎo)出用戶要具有exp_full_database權(quán)限)
    exp scott/tiger@ora9    full=y file="D:\full.dmp"
  -- 2)用戶方式
    exp userid=scott/tiger@ora9 owner=scott file=d:\scott.dmp log=d:\scott.log
  -- 3)表方式
    exp scott/tiger@ora9 tables=(emp,dept) file="d:\emp.dmp"

2. oracle的恢復(fù)(簡單舉例):
2.1 冷備份的恢復(fù),
  1). STARTUP MOUNT;
  2). ALTER DATABASE DATAFILE 數(shù)據(jù)文件 OFFLINE DROP; 
  3). ALTER DATABASE OPEN;

2.2 熱備份恢復(fù):
  1). STARTUP MOUNT;
  2). ALTER DATABASE DATAFILE 數(shù)據(jù)文件 OFFLINE; -- //system01.dbf不能設(shè)置未OFFLINE狀態(tài)
  3). ALTER DATABASE OPEN;

2.3 rman備份恢復(fù):
-- 1) 使用rman恢復(fù)歸檔數(shù)據(jù)庫:
rman target /
rman> startup mount
rman> restore database;
rman> recover database;
rman> alter database open;

--2) 使用rman恢復(fù)表空間:
rman> restore tablespace
rman> recover tablespace
rman>
run{
sql " alter tablespace users offline immediate";
restore tablespace users;
recover tablespace users;
sql " alter tablespace users online ";
}

2.4 .邏輯恢復(fù)
  --1)數(shù)據(jù)庫方式(導(dǎo)入用戶要具有exp_full_database權(quán)限)
    imp system/system@ora10 full=y file="f:\full.dmp"
  --2)用戶方式
    imp userid=scott/tiger@ora10 fromuser=scott  touser=scott file=d:\scott.dmp log=d:\scott.log
  --3)表方式
    imp system/system@ora10 fromuser=scott touser=scott file="f:\emp.dmp"
  --注意:導(dǎo)出用戶要和導(dǎo)入用戶相同可以用上面的方法,否則用
    imp scott/tiger@ora10 full=y file="f:\emp.dmp"

3. oracle備份與恢復(fù)方法的選擇:
   1).對于一些小系統(tǒng)、小數(shù)據(jù)量、沒有在線要求的數(shù)據(jù)庫,采用冷備份,簡單方便、可靠(所有文件時間點一致),但如果是這類系統(tǒng)個人覺得使用oracle就是一種浪費,學(xué)習(xí)除外。
   2).對于7X24小時的大系統(tǒng)、帳營支撐系統(tǒng)、客服系統(tǒng)的數(shù)據(jù)庫,使用歸檔模式運(yùn)行,采用全庫備份與邏輯備份相結(jié)合的方式。
  3).對于經(jīng)營分析系統(tǒng)、BI系統(tǒng)、查詢系統(tǒng)等數(shù)據(jù)庫,可采用邏輯備份與表空間備份相結(jié)合的方式,對變化數(shù)據(jù)進(jìn)行增量備份。
  4).對于一些字典數(shù)據(jù)庫、靜態(tài)數(shù)據(jù)較多的數(shù)據(jù)庫,可采用邏輯備份,定期備份相關(guān)重要數(shù)據(jù)。
  
   對于上面提到的方法,只是個表面的東西而已,要想保證數(shù)據(jù)庫高效、安全、穩(wěn)定的運(yùn)行,必須要有完整的、切實可行的數(shù)據(jù)庫運(yùn)行管理制度,并且嚴(yán)格執(zhí)行實施,否則再好的方法都是水中月、鏡中花。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ORACLE備份與恢復(fù)的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI