通過手工管理數(shù)據(jù)庫備份的方式通常是在對數(shù)據(jù)庫進行文件方面的操作,這個過程需要管理員全面參與并且手工完成。與使用RMAN不同的是手工管理不再完全依賴系統(tǒng)定義的參數(shù)進行配置。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設計、網(wǎng)站建設與策劃設計,洮南網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設10余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:洮南等地區(qū)。洮南做網(wǎng)站價格咨詢:18982081108
手工冷備步驟
在完全關(guān)閉數(shù)據(jù)庫的情況下,我們可以通過拷貝數(shù)據(jù)庫的數(shù)據(jù)文件,控制文件和重做日志文件來完整的備份數(shù)據(jù)庫。
登錄數(shù)據(jù)庫:
#?sqlplus?sys?as?sysdba
首先查看文件位置:
SQL>?select?file_name?from?dba_data_files; SQL>?select?name?from?v$controlfile; SQL>?select?group#,member,status?from?v$logfile;
安全關(guān)閉數(shù)據(jù)庫:
SQL>?shutdown?immediate;
然后依次創(chuàng)建datafile,controlfile, redofile三個備份目錄,將對應文件一次拷貝到這三個目錄即可。
對數(shù)據(jù)庫恢復也只需要將備份的數(shù)據(jù)拷貝到原來的位置,然后啟動數(shù)據(jù)庫即可。
手工熱備步驟
在使用聯(lián)機熱備功能的時候需要將數(shù)據(jù)置于歸檔模式.
SQL>?archive?log?list; Database?log?mode ???????Archive?Mode Automatic?archival ???????Enabled Archive?destination ???????USE_DB_RECOVERY_FILE_DEST Oldest?online?log?sequence?????27 Next?log?sequence?to?archive???29 Current?log?sequence ???????29 SQL>
顯示處于開啟狀態(tài)。查看進程狀態(tài)正常:
[root@temp-test?~]#?ps?-ef|grep?arc oracle????8724?????1??0?Nov06??????????00:00:02?ora_arc0_orcl oracle????8726?????1??0?Nov06??????????00:00:04?ora_arc1_orcl oracle????8728?????1??0?Nov06??????????00:00:02?ora_arc2_orcl oracle????8730?????1??0?Nov06??????????00:00:02?ora_arc3_orcl
設置歸檔日志文件的冗余,保證數(shù)據(jù)安全:
查看歸檔日志相關(guān)參數(shù):
SQL>?show?parameter?log_archive_dest;
新建三個目錄,分別存放三分相同的歸檔日志作為冗余備份:
[oracle@temp-test?~]$?mkdir?-p?/data/app/backup/arc{1..3}? [oracle@temp-test?~]$?ll?/data/app/backup/ total?0 drwxr-xr-x?2?oracle?oinstall?6?Nov??7?13:44?arc1 drwxr-xr-x?2?oracle?oinstall?6?Nov??7?13:44?arc2 drwxr-xr-x?2?oracle?oinstall?6?Nov??7?13:44?arc3
設置3個歸檔目錄:
SQL>?alter?system?set?log_archive_dest_1='location=/data/app/backup/arc1?mandatory'; System?altered. SQL>?alter?system?set?log_archive_dest_2='location=/data/app/backup/arc2?optional'; System?altered. SQL>?alter?system?set?log_archive_dest_3='location=/data/app/backup/arc3'; System?altered.
查看設置信息:
SQL>?show?parameter?log_archive;
mandatory表示強制日志歸檔的目錄,要求日志數(shù)據(jù)必須歸檔成功后才可以切換,optional是可選的歸檔不成功也可以切換日志,如果optional目錄損壞,不影響日志歸檔。
執(zhí)行日志切換,歸檔文件會保存到指定的目錄中:
SQL>?alter?system?switch?logfile; System?altered.
生成三份相同的歸檔文件:
[oracle@temp-test?backup]$?tree?/data/app/backup/ /data/app/backup/ ├──?arc1 │???└──?1_29_959021937.dbf ├──?arc2 │???└──?1_29_959021937.dbf └──?arc3 ????└──?1_29_959021937.dbf
設置最少必須歸檔成功的日志數(shù)量,必須成功兩份:
SQL>?alter?system?set?log_archive_min_succeed_dest=2; System?altered.
SQL>?show?parameter?log_archive_min_succeed_Dest; NAME?????TYPE?VALUE ------------------------------------?-----------?------------------------------ log_archive_min_succeed_dest?????integer?2
由于總共只有三個冗余文件,如果設置的數(shù)量大于3會報錯。
備份數(shù)據(jù),查看表空間對應的數(shù)據(jù)文件:
SQL>?col?file_name?for?a47 SQL>?col?tablespace_name?for?a10 SQL>?select?file_id,file_name,tablespace_name?from?dba_data_files; ???FILE_ID?FILE_NAME???TABLESPACE ----------?-----------------------------------------------?---------- ?4?/data/app/oracle/oradata/orcl/users01.dbf???USERS ?3?/data/app/oracle/oradata/orcl/undotbs01.dbf???UNDOTBS1 ?2?/data/app/oracle/oradata/orcl/sysaux01.dbf???SYSAUX ?1?/data/app/oracle/oradata/orcl/system01.dbf???SYSTEM ?5?/data/app/oracle/oradata/orcl/example01.dbf???EXAMPLE
這里我們備份USER表,ID為4,將表置于備份模式:
SQL>?alter?tablespace?users?begin?backup; Tablespace?altered.
查看備份狀態(tài),ID為4的user表顯示為active:
SQL>?select?*?from?v$backup; ?????FILE#?STATUS?CHANGE#?TIME ----------?------------------?----------?--------- ?1?NOT?ACTIVE???????0 ?2?NOT?ACTIVE???????0 ?3?NOT?ACTIVE???????0 ?4?ACTIVE?1529624?07-NOV-17 ?5?NOT?ACTIVE???????0
然后直接使用系統(tǒng)的cp命令,拷貝對應目錄下的數(shù)據(jù)文件,到備份目錄即可。然后結(jié)束備份模式:
SQL>?alter?tablespace?users?end?backup; Tablespace?altered. SQL>?select?*?from?v$backup; ?????FILE#?STATUS?CHANGE#?TIME ----------?------------------?----------?--------- ?1?NOT?ACTIVE???????0 ?2?NOT?ACTIVE???????0 ?3?NOT?ACTIVE???????0 ?4?NOT?ACTIVE?1529624?07-NOV-17 ?5?NOT?ACTIVE???????0
將當前重做日志信息寫入歸檔日志文件:
SQL>?alter?system?archive?log?current; System?altered. #?一段時間后,檢查點恢復一致 SQL>?select?checkpoint_change#,?file#?from?v$datafile; CHECKPOINT_CHANGE#FILE# ------------------?---------- ???1530603????1 ???1530603????2 ???1530603????3 ???1530603????4 ???1530603????5