日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Oracle10g数据库归档与非归档模式下的备份与恢复

發(fā)布時(shí)間:2024/4/15 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle10g数据库归档与非归档模式下的备份与恢复 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

 一.總述

  1.數(shù)據(jù)庫(kù)歸檔模式:

  * 非歸檔模式:當(dāng)數(shù)據(jù)庫(kù)數(shù)據(jù)只讀不會(huì)改變時(shí),數(shù)據(jù)不會(huì)改變,數(shù)據(jù)庫(kù)適合用非歸檔模式,??這樣提高機(jī)能

  * 歸檔模式:對(duì)于數(shù)據(jù)庫(kù)數(shù)據(jù)經(jīng)常變換,數(shù)據(jù)庫(kù)最好用歸檔模式,這樣可以盡量避免數(shù)據(jù)庫(kù)數(shù)據(jù)丟失蹤,使呈現(xiàn)問(wèn)題時(shí)災(zāi)難降到最低

  2.非歸檔模式與歸檔模式間的切換(在呼吁窗口下):

  @搜檢當(dāng)前日志操作模式

  f:>sqlplus sys/dba as sysdba

  毗連數(shù)據(jù)庫(kù)

  sql>select log_mode from v$database;

  @封鎖數(shù)據(jù)庫(kù),后裝載數(shù)據(jù)庫(kù),只能在mount狀況下改變?nèi)罩静僮髂J?/p>

  sql>startup mount

  @改變?nèi)罩灸J?/p>

  sql>alter database achivelog;(變?yōu)闅w檔體例,否則為nochivelog)

  sql>alter database open;

  3.查看歸檔模式相關(guān)信息:

  @若采用默認(rèn)設(shè)置,歸檔日志位置在快速恢復(fù)區(qū)

  @設(shè)置裝備擺設(shè)歸檔日志位置 log_archive_dest_n? (n=[1:10])

  sql>alter system set

  log_archive_dest_1 = 'location =c:demoarchive [optional]';

  sql>alter system set

  log_archive_dest_2 = 'service =standby [mandatory] [reopen]';

  其中:location 是當(dāng)?shù)?/p>

  service? 是遠(yuǎn)程

  optional 無(wú)論歸檔是否成功,城市籠蓋重做日志

  mandatory只有成功歸檔才會(huì)籠蓋重做日志

  reopen 年夜頭歸燈癱d距離 默認(rèn)是300s

  @顯示歸檔信息,即顯示顯示日志操作模式

  sql>select name,log_mode from v$database;

  @顯示歸檔日志信息

  sql>select name,seqnce#,first_change# from v$archive_log;

  seqnce#: 歸檔序列號(hào)

  first_change# : 肇端SCN值

  @顯示歸檔日志位置

  sql>select dest_name,destination,status from v$archive_dest;

  dest_name 歸檔位置參數(shù)名

  destination 位置

  @顯示日志歷史信息

  sql>select * from v$loghist;

  threade# : 重做線程號(hào)

  seqnce# : 日志序列號(hào)

  first_change# : 肇端SCN值

  first_time : 肇端SCN發(fā)生時(shí)刻

  switch_change : 切換SCN值

二.非歸檔模式下的備份與還原

?

  . 日志采用籠蓋原有日志的體例存儲(chǔ)

  . 呈現(xiàn)介質(zhì)失蹤敗時(shí),只能恢復(fù)到曩昔的完全備份點(diǎn)

  . 數(shù)據(jù)庫(kù)OPEN狀況是,不能備份數(shù)據(jù)庫(kù)

  . 必需先封鎖數(shù)據(jù)庫(kù),再備份,且必需備份所稀有據(jù),節(jié)制文件

  1.備份==冷備份

  @ 先封鎖數(shù)據(jù)庫(kù)

  sql>shutdown immediate

  @ 拷貝所稀有據(jù)文件,和節(jié)制文件

  2.恢復(fù)

  * 數(shù)據(jù)文件呈現(xiàn)丟失蹤,但備份以來(lái)的重做日志內(nèi)容尚未被籠蓋,此時(shí)可以完全恢復(fù)

  @裝載數(shù)據(jù)庫(kù)

  sql>startup force mount

  @復(fù)制數(shù)據(jù)文件備份

  @恢復(fù)數(shù)據(jù)文件

  sql>recover datafile 1

  @打開(kāi)數(shù)據(jù)庫(kù)

  sql>alter database open;

  * 備份文件的重做日志內(nèi)容已經(jīng)被籠蓋,則只能還原到備份點(diǎn)

  @封鎖數(shù)據(jù)庫(kù)

  @復(fù)制所稀有據(jù)和節(jié)制備份文件至原位置

  @裝載數(shù)據(jù)庫(kù),執(zhí)行恢復(fù)呼吁

  sql>startup mount

  sql>recover database until cancel

  提醒節(jié)制文件不再使用原有重做日志

  @用resetlogs選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù)

  sql>alter database open resetlogs;

三.歸檔模式

  . 可以防止數(shù)據(jù)丟失蹤

  . 數(shù)據(jù)處于OPEN狀況時(shí)可以進(jìn)行備份

  . 當(dāng)呈現(xiàn)介質(zhì)失蹤敗時(shí),除了SYSTEM表空間中的數(shù)據(jù)文件外其他的都可以在open狀況下恢復(fù)

  . 可執(zhí)行完全恢復(fù),也可以恢復(fù)到備份點(diǎn)與失蹤敗點(diǎn)之間的某時(shí)刻

  1.備份

  1)冷備份

  shutdown后拷貝所需數(shù)據(jù)文件和節(jié)制文件

  2)熱備份

  @將數(shù)據(jù)庫(kù)設(shè)置為歸檔模式

  @在數(shù)據(jù)庫(kù)上發(fā)出全局搜檢點(diǎn),在所有的數(shù)據(jù)文件頭塊上加鎖

  sql>alter database begin backup ;

  @備份數(shù)據(jù)文件及節(jié)制文件

  數(shù)據(jù)文件直接拷貝至其他目錄

  節(jié)制文件需使用alter database backup controlfile

  sql>alter database backup controlfile to 'd:backupdemo.ctl';

  @竣事數(shù)據(jù)備份,為確保數(shù)據(jù)文件備份的同步性,還應(yīng)該歸檔當(dāng)前日志組

  sql>alter database end backup;

  sql>alter system archive log cuurent;

  3)備份表空間

  *脫機(jī)備份(表空間處于OFFLINE狀況,SYSTEM表空間和正在使用的UNDO空間不能脫機(jī))

  @確定表空間包容的數(shù)據(jù)文件,如空間USERS

  sql>select file_name from dba_data_files

  where tablespace_name = 'users';

  @設(shè)置表空間為脫機(jī)狀況

  sql>alter tablespace users offline;

  @復(fù)制數(shù)據(jù)文件

  @設(shè)置表空間聯(lián)機(jī)

  sql>alter tablespace users online;

  *聯(lián)機(jī)備份

  @確定對(duì)應(yīng)關(guān)系

  @設(shè)置表空間為備份模式

  sql>alter tablespace users begin backup ;

  @復(fù)制數(shù)據(jù)文件

  @設(shè)置表空間為正常模式

  sql>alter tablespace users end backup ;

  *措置聯(lián)機(jī)備份失蹤敗

  當(dāng)執(zhí)行聯(lián)機(jī)備份時(shí),若呈現(xiàn)例程失蹤敗,再次打開(kāi)數(shù)據(jù)庫(kù)時(shí),如不美觀數(shù)據(jù)文件仍處于備份狀況,則會(huì)犯錯(cuò),此時(shí)需要竣事備份

  @裝載數(shù)據(jù)庫(kù)

  sql>startup force mount

  @查看處于聯(lián)機(jī)備份狀況的所稀有據(jù)文件

  sql>select file# from v$backup where status = 'active';

  @竣事聯(lián)機(jī)備份狀況

  sql>alter tablespace end backup

  或alter tablespace datafile backup;

  或recover datafile 序號(hào)

  @打開(kāi)數(shù)據(jù)庫(kù)

  sql>alter database open;

  2.還原

  1)完全恢復(fù)

  相關(guān)呼吁:

  recover database :恢復(fù)數(shù)據(jù)庫(kù)的多個(gè)數(shù)據(jù)文件(在MOUNT狀況下運(yùn)行)

  recover tadaspace :恢復(fù)多個(gè)表空間的所稀有據(jù)文件(在open狀況下運(yùn)行)

  recover datafile :恢復(fù)一個(gè)或多個(gè)數(shù)據(jù)文件(在mount,open狀況下都可)

  *在mount狀況下恢復(fù)數(shù)據(jù)文件(用于SYSTEM表空間恢復(fù))

  @裝載數(shù)據(jù)庫(kù) mount狀況

  @確定需要恢復(fù)的數(shù)據(jù)文件

  sql>select file#,error from v$recover_file

  @拷貝備份至原位置

  @恢復(fù)數(shù)據(jù)庫(kù) recover..上述呼吁

  @打開(kāi)數(shù)據(jù)庫(kù) alter database open;

  *在open狀況下恢復(fù)封鎖后意外對(duì)視的數(shù)據(jù)文件,此時(shí)數(shù)據(jù)庫(kù)將無(wú)法打開(kāi)

  @裝載數(shù)據(jù)庫(kù) mount

  @確定需要恢復(fù)的數(shù)據(jù)文件

  @使響應(yīng)的數(shù)據(jù)文件脫機(jī)

  sql>alter database datafile 4 offline;

  @打開(kāi)數(shù)據(jù)庫(kù)

  sql>alter database open

  @復(fù)制數(shù)據(jù)備份文件

  @恢復(fù)數(shù)據(jù)文件

  @是數(shù)據(jù)文件聯(lián)機(jī) alter database datafile 4 online;

  *在open狀況下恢復(fù)打開(kāi)時(shí)意外丟失蹤的數(shù)據(jù)文件

  @確定要恢復(fù)的數(shù)據(jù)文件

  @使數(shù)據(jù)文件脫機(jī)

  @復(fù)制數(shù)據(jù)文件

  @恢復(fù)響應(yīng)的表空間或數(shù)據(jù)文件

  @使響應(yīng)的表空間或數(shù)據(jù)文件聯(lián)機(jī)

 *在open狀況下恢復(fù)未備份的數(shù)據(jù)文件(要求在歸檔模式下,新建數(shù)據(jù)文件,其巨匠歷起頭的所有歸檔日志必需全數(shù)存在)

  @裝載數(shù)據(jù)庫(kù)

  @確定要恢復(fù)的數(shù)據(jù)文件

  @是數(shù)據(jù)文件脫機(jī)

  @打開(kāi)數(shù)據(jù)庫(kù)

  @年夜頭成立數(shù)據(jù)文件

  sql>alter database create datafile 'd:demousers01.dbf';

  @恢復(fù)數(shù)據(jù)文件

  @使數(shù)據(jù)文件聯(lián)機(jī)

  2)不完全恢復(fù)

  使用已備份的數(shù)據(jù)文件,歸檔日志,和重做日志,將數(shù)據(jù)庫(kù)恢復(fù)到備份點(diǎn)與失蹤敗點(diǎn)之間?某個(gè)時(shí)刻的狀況

  *恢復(fù)分類

  基于時(shí)刻的恢復(fù):誤刪除表,誤截?cái)啾?提交了錯(cuò)誤的數(shù)據(jù)

  基于取笑恢復(fù):恢復(fù)到某個(gè)日志序列號(hào)之前的狀況

  基于SCN的恢復(fù):恢復(fù)到特定SCN值的狀況

  基于備份節(jié)制文件恢復(fù):表空間被意外刪除,或所有節(jié)制文件全數(shù)損壞

  *不完全恢復(fù)指令

  recover database until time

  recover database until change

  recover database until cancel

  recover database .. using backup controlfile

  *基于時(shí)刻的恢復(fù)

  @封鎖數(shù)據(jù)庫(kù)(為防止備份失蹤敗,應(yīng)備份當(dāng)前數(shù)據(jù)庫(kù)所有文件

  @裝載數(shù)據(jù)庫(kù) startup mount

  @復(fù)制所有備份數(shù)據(jù)文件,并確定備份文件的時(shí)刻點(diǎn)

  sql>select file#,to_char(time,'yyyy-mm-dd hh24:mi:ss)

  from v$recover_file;

  @執(zhí)行recover database until time

  sql>recover database until time "2006-09-26 16:40:33'

  @以resetlogs體例打開(kāi)數(shù)據(jù)庫(kù),并搜檢恢復(fù)結(jié)不美觀

  sql>alter database open resetlogs;

  @備份數(shù)據(jù)庫(kù)所稀有據(jù)文件和節(jié)制文件,因?yàn)楫?dāng)以resetlogs體例打開(kāi)數(shù)據(jù)庫(kù)后會(huì)年夜頭成立重做日志,清空原有重做日志的所有內(nèi)容,并將日志序列號(hào)復(fù)位為1

  sql>select name from v$datafile;

  sql>alter database begin backup;

  拷貝數(shù)據(jù)文件

  sql>alter database end backup;

  sql>alter database backup controlfile

  to 'd:backupdemo.ctl' reuse;

  sql>alter system archive log cuurent;

  *基于SCN恢復(fù)

  @封鎖數(shù)據(jù)庫(kù)

  @裝載數(shù)據(jù)庫(kù) mount

  @復(fù)制所有備份數(shù)據(jù)文件,確定備份文件SCN值

  sql>select file#,change#, from v$recover_file;

  @執(zhí)行recover database until change

  sql>recover database until change 675978;

  @以resetlogs體例打開(kāi)數(shù)據(jù)庫(kù)

  @備份數(shù)據(jù)庫(kù)所稀有據(jù)文件和節(jié)制文件

  *基于打消恢復(fù)

  @封鎖數(shù)據(jù)庫(kù)

  @裝載數(shù)據(jù)庫(kù)

  @復(fù)制所有備份的數(shù)據(jù)文件,確定備份文件的SCN值

  sql>select file#,change# from v$recover_file;

  @執(zhí)行recover database until cancle

  sql>recover database until cancel

  @以resetlogs體例打開(kāi)數(shù)據(jù)庫(kù)

  @備份所稀有據(jù)文件和節(jié)制文件

  *基于備份節(jié)制文件的恢復(fù)

  @經(jīng)由過(guò)程查看alert文件,確定誤操作時(shí)刻

  @封鎖數(shù)據(jù)庫(kù)

  @復(fù)制所有備份的數(shù)據(jù)文件,節(jié)制文件

  @裝載數(shù)據(jù)庫(kù)

  @執(zhí)行recover database ..using backup controlfile

  sql>recover database until time '2004-09-26 19:51:06'

  using backup controlfile

  @以resetlogs 體例打開(kāi)數(shù)據(jù)庫(kù)

  @備份所稀有據(jù)文件和節(jié)制文件

轉(zhuǎn)載于:https://www.cnblogs.com/fhuafeng/archive/2011/10/24/2222713.html

總結(jié)

以上是生活随笔為你收集整理的Oracle10g数据库归档与非归档模式下的备份与恢复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。