久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

oracle-11g-R2-備份與恢復(fù)

 耳語輕言 2017-08-23

1.   Oracle 11g R2 Rman備份

1.         備份與恢復(fù)的定義及分類

備份的定義及分類:

         備份就是把數(shù)據(jù)庫復(fù)制到轉(zhuǎn)儲設(shè)備的過程,。其中,轉(zhuǎn)儲設(shè)備是指用于放置數(shù)據(jù)庫副本的磁帶或磁盤,。通常也將存放于轉(zhuǎn)儲設(shè)備中的數(shù)據(jù)庫的副本稱為原數(shù)據(jù)庫的備份或轉(zhuǎn)儲,。備份是一份數(shù)據(jù)副本,從不同的角度分類如下:

從物理與邏輯的角度來分類:

從物理與邏輯的,,備份可以分為物理備份和邏輯備份,。

物理備份:對數(shù)據(jù)庫操作系統(tǒng)的物理文件(數(shù)據(jù)文件,控制文件和日志文件)的備份,。物理備份又可以分為脫機備份(冷備份)和聯(lián)機備份(熱備份),,前者是在關(guān)閉數(shù)據(jù)庫的時候進行的,后者是以歸檔日志的方式對運行的數(shù)據(jù)庫進行備份,??梢允褂?/span>oracle的恢復(fù)管理器(RMAN)或操作系統(tǒng)命令進行數(shù)據(jù)庫的物理備份。

邏輯備份:對數(shù)據(jù)庫邏輯組件(如表和存儲過程等數(shù)據(jù)庫對象)的備份,。邏輯備份的手段很多,,如傳統(tǒng)的EXP,數(shù)據(jù)泵(EXPDP),,數(shù)據(jù)庫閃回技術(shù)等第三方工具,,都可以進行數(shù)據(jù)庫的邏輯備份。

從數(shù)據(jù)庫的備份角度分類:

從數(shù)據(jù)庫的備份角度,備份可以分為完全備份增量備份差異備份

完全備份:每次對數(shù)據(jù)庫進行完整備份,,當發(fā)生數(shù)據(jù)丟失的災(zāi)難時,,完全備份無需依賴其他信息即可實現(xiàn)100%的數(shù)據(jù)恢復(fù),其恢復(fù)時間最短且操作最方便,。

增量備份:只有那些在上次完全備份或增量備份后被修改的文件才會被備份,。優(yōu)點是備份數(shù)據(jù)量小,需要的時間短,,缺點是恢復(fù)的時候需要依賴以前備份記錄,,出問題的風(fēng)險較大。

差異備份:備份那些自從上次完全備份之后被修改過的文件,。從差異備份中恢復(fù)數(shù)據(jù)的時間較短,,因此只需要兩份數(shù)據(jù)---最后一次完整備份和最后一次差異備份,缺點是每次備份需要的時間較長,。

2.         恢復(fù)的定義及分類

         恢復(fù)就是發(fā)生故障后,,利用已備份的數(shù)據(jù)文件或控制文件,重新建立一個完整的數(shù)據(jù)庫,,恢復(fù)分為以下兩種類型:

實例恢復(fù):oracle實例出現(xiàn)失敗后,,oracle自動進行的恢復(fù)

介質(zhì)恢復(fù):當存放數(shù)據(jù)庫的介質(zhì)出現(xiàn)故障時所作的恢復(fù)。介質(zhì)恢復(fù)又分為完全恢復(fù)和不完全恢復(fù)

2  完全恢復(fù):將數(shù)據(jù)庫恢復(fù)到數(shù)據(jù)庫失敗時的狀態(tài),。這種恢復(fù)是通過裝載數(shù)據(jù)庫備份并應(yīng)用全部的重做日志做到的,。

2  不完全恢復(fù):將數(shù)據(jù)庫恢復(fù)到數(shù)據(jù)庫失敗前的某一時刻的狀態(tài)。這種恢復(fù)是通過裝載數(shù)據(jù)庫備份并應(yīng)用部分的重做日志做到的,。進行不完全恢復(fù)后,,必須在啟動數(shù)據(jù)庫時用resetlogs選項重設(shè)聯(lián)機重做日志。

RMAN的存儲類型有三種方式:

1.備份集 默認類型

2.壓縮備份集

3.鏡像copy

組成每個備份集的每個文件稱之為備份片

RMAN備份可以存放在兩種位置:

1.目標數(shù)據(jù)庫的控制文件

2.恢復(fù)目錄中

RMAN備份的優(yōu)點:

1.RMAN只備份有效數(shù)據(jù)

2.RMAN可以實現(xiàn)增量備份

2.   使用RMAN工具

RMANoracle的一個重要工具,,用于備份和恢復(fù)數(shù)據(jù)文件,,歸檔日志和控制文件,也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復(fù),。RMAN3中不同的用戶接口,命令行方式,,GUI方式(集成在OEM中的備份管理器),,API方式(用于集成到第三方的備份軟件中),它具有以下特點:

支持在線熱備份

支持多級增量備份

支持并行備份,、恢復(fù)

減少所需要備份量

備份,、恢復(fù)使用簡單

2.1.  RMA      N的組件

target database(目標數(shù)據(jù)庫)

目標數(shù)據(jù)庫就是需要RMAN 對其進行備份與恢復(fù)的數(shù)據(jù)庫,RMAN可以備份數(shù)據(jù)文件,,控制文件,,歸檔日志,spfile

service session(服務(wù)器會話)

RMAN啟動數(shù)據(jù)庫上的oracle服務(wù)器進程,,將建立一個與目標數(shù)據(jù)庫的會話,,有目標數(shù)據(jù)庫上的服務(wù)器進程進行備份、還原,、恢復(fù)的實際操作,。

RMAN RepositoryRMAN資料庫)

RMAN使用過程中會用到的控制信息,是一些關(guān)于備份,、歸檔日志及RMAN活動的元數(shù)據(jù)

Recovery Catalog(恢復(fù)目錄)

恢復(fù)目錄是建立在RMAN恢復(fù)目錄數(shù)據(jù)庫上的一種schema對象,,用于保存RMAN資料庫數(shù)據(jù)?;謴?fù)目錄是一個可選的組件,。RMAN會將資料數(shù)據(jù)記錄在目標數(shù)據(jù)庫的控制文件中,但這樣不夠安全,,因為一旦目標數(shù)據(jù)庫的控制文件損壞就意味著所有的RMAN備份失效,。所以建議在單獨的一個數(shù)據(jù)庫中建立一個恢復(fù)目錄另外保存一份資料庫數(shù)據(jù)。

MML(媒體管理庫)

MML是第三方工具或軟件,,用于管理對磁帶的讀寫與文件的跟蹤管理,。如果你想直接通過RMAN備份到磁帶上,就必須配置媒體管理層,,媒體管理層的工具和RMAN共同配合完成備份與恢復(fù),。

快閃恢復(fù)區(qū)

快閃恢復(fù)區(qū)是oracle數(shù)據(jù)庫用于保存所有與恢復(fù)相關(guān)的文件的默認磁盤位置。這些相關(guān)文件包括歸檔日志,,RMAN備份,,控制文件自動備份,復(fù)用的控制文件和重做日志副本及閃回日志文件,。

輔助數(shù)據(jù)庫

在正常使用時,,RMAN會與目標數(shù)據(jù)庫一起使用,如果創(chuàng)建了恢復(fù)目錄數(shù)據(jù)庫,,那么也會與恢復(fù)目錄數(shù)據(jù)庫一起使用,。在某些情況下,希望創(chuàng)建輔助數(shù)據(jù)庫,。輔助數(shù)據(jù)庫時使用RMAN從目標數(shù)據(jù)庫的備份中創(chuàng)建的新數(shù)據(jù)庫,。輔助數(shù)據(jù)庫能夠被創(chuàng)建作為備用數(shù)據(jù)庫使用。在數(shù)據(jù)庫發(fā)生災(zāi)難時,,能夠在不丟失任何數(shù)據(jù)及停機時間最短的情況下切換至備用數(shù)據(jù)庫,。

2.2.  創(chuàng)建恢復(fù)目錄

恢復(fù)目錄存在于RMAN的目錄數(shù)據(jù)庫中,類似于標準的數(shù)據(jù)庫目錄,,主要包含如下幾個部分信息:

備份恢復(fù)信息,,可以是多個目標數(shù)據(jù)庫

RMAN腳本,,可以存儲重復(fù)使用

關(guān)于數(shù)據(jù)文件和日志文件的備份信息

關(guān)于目標數(shù)據(jù)庫的表空間和數(shù)據(jù)文件信息

RMAN資料庫可以存放在目標數(shù)據(jù)庫控制文件里,也可以存放在恢復(fù)目錄中,;

創(chuàng)建恢復(fù)目錄:用來存儲RMAN資料庫的,。

SQL> create tablespace yy datafile '/opt/oracle/oradata/yy.dbf' size 20m autoextend on next 5m maxsize unlimited;

在恢復(fù)目錄數(shù)據(jù)庫中創(chuàng)建RMAN用戶并授權(quán)

SQL> create user lilei identified by oracle default tablespace yy quota unlimited on yy;

SQL> grant connect,resource,recovery_catalog_owner to lilei;

連接到RMAN恢復(fù)目錄數(shù)據(jù)庫

創(chuàng)建恢復(fù)目錄

提示已經(jīng)連接到目標數(shù)據(jù)庫、連接到恢復(fù)目錄數(shù)據(jù)庫

向恢復(fù)目錄注冊數(shù)據(jù)庫ORCL,,提示已經(jīng)啟動全部恢復(fù)目錄的resync,已完成全部的resync,。此時就可以使用RMAN的恢復(fù)目錄對目標數(shù)據(jù)庫進行備份和恢復(fù)操作。

通道的分配

使用RMAN進行備份和恢復(fù)時,,必須進行通道的分配,,一個通道是RMAN和目標數(shù)據(jù)庫之間的一個連接,通道指定了某種類型的設(shè)備用于備份和恢復(fù),,RMAN可以使用的通道設(shè)備包括磁盤與磁帶兩種,。

通道分配可以自動或手動進行

自動通道配置

RMAN> configure device type disk parallelism 5;

RMAN> configure default device type to disk;

手動通道配置

 

 

RMAN> run

2> {

3> allocate channel ch1 device type disk;

4> allocate channel ch2 device type disk;

5> allocate channel ch3 device type disk;

6> }

可以使用show all命令可以顯示已經(jīng)配置過的有默認值的參數(shù),其中包括通道參數(shù)

RMAN>show all;

2.3.  備份與恢復(fù)的概念與操作

備份集與備份片

備份集(backup set

備份集是一次備份的集合,,它包含本次備份的所有備份片,,以oracle專有的格式保存,是一個邏輯數(shù)據(jù)的集合,。

備份片:

一個備份集由若干個備份片組成,。每個備份片是一個單獨輸出文件,一個備份片的大小是有限制的,,他的大小不能大于文件系統(tǒng)所支持的文件長度的最大值,。

配置備份集文件的格式:

使用backup命令進行備份時,需要明確備份文件的存儲路徑及文件名稱的格式,。其路徑和格式可以使用FORMAT參數(shù)進行統(tǒng)一設(shè)置,。FORMAT格式由兩部分組成:即存儲路徑和文件名稱格式;

如果沒有使用FORMAT指定存儲路徑和文件名稱格式,,則默認情況下BACKUP所產(chǎn)生的備份集將存儲在快閃恢復(fù)區(qū)中,,RMAN自動使用%U來確定文件名稱不會被重復(fù)。

FORMAT命令格式如下:

FORMAT '格式字符串'

其中格式字符串的文件名稱部分可以使用替換變量,,例如FORMAT '/BACKUP/YY/%U'.

常用的替換變量如下:

%c : 備份片的拷貝數(shù)

%d:數(shù)據(jù)庫名稱

%D : 位于該月中的第幾天(DD

%M : 位于該年中第幾月(MM

%F : 一個基于DBID的唯一名稱,,它的形式為C-DBID-YYYYMMDD-QQ。其中DBID為數(shù)據(jù)庫的DBID,,YYYYMMDD為日志,,QQ是一個1-256的序列

%n:數(shù)據(jù)庫名稱,向右填補到最大8個字符

%u:一個8個字符的名稱,,它是根據(jù)備份集個數(shù)與創(chuàng)建時間信息生成的,。

%p:該備份集中的備份片號,,從1開始到創(chuàng)建的文件數(shù),。

%U:系統(tǒng)生成的一個唯一文件名,,對于備份片來說,它的含義相當于%u_%p_%c,。

%s:備份集的號

%t:備份集時間戳

%T:年月日格式(YYYYMMDD

備份與恢復(fù)命令

backup命令用于備份數(shù)據(jù)庫文件,,可以將多個文件、表空間,、整個數(shù)據(jù)庫已備份集形式備份到磁盤或磁帶上,,在RUN命令外使用BACKUP命令,會自動使用自動通道,。在RUN命令內(nèi)使用BACKUP命令,,如果定義了手動通道,則優(yōu)先使用手動定義通道,。

使用RMAN備份的數(shù)據(jù)庫也只能使用RMAN提供的恢復(fù)命令進行恢復(fù),。RMAN的恢復(fù)目錄中存儲了目標數(shù)據(jù)庫的備份信息。RMAN根據(jù)恢復(fù)目錄中的存儲信息,,自動將數(shù)據(jù)庫同步到某一個數(shù)據(jù)一致的狀態(tài),。

RMAN恢復(fù)數(shù)據(jù)庫時用到兩個命令,即RESTORERECOVER,。RESTORE命令將備份數(shù)據(jù)恢復(fù)到指定的目錄,,RECOVER命令對數(shù)據(jù)庫進行同步恢復(fù)。

RESTORE命令:由于備份集中的備份片是以專有的RMAN格式存儲的,,需要使用RESTORE命令進行重建,。重建的結(jié)果是自動產(chǎn)生目標數(shù)據(jù)庫的物理文件結(jié)構(gòu)。

RECOVER命令:負責(zé)把歸檔日志文件用于重建的數(shù)據(jù)文件,,來完成數(shù)據(jù)庫的同步恢復(fù),。在執(zhí)行RECOVER命令時,RMAN需要讀取歸檔日志,。如果沒有歸檔日志,,或者數(shù)據(jù)庫運行在非歸檔模式下,則恢復(fù)過程會報錯,。

舉例說明在歸檔模式下備份與恢復(fù)

要用RMAN進行聯(lián)機備份,,數(shù)據(jù)庫必須處于歸檔模式,恢復(fù)目錄必須打開,,目標數(shù)據(jù)庫進程必須啟動,,數(shù)據(jù)庫已加載或者打開。

查看數(shù)據(jù)庫是否處于歸檔模式下:

關(guān)閉數(shù)據(jù)庫并啟動數(shù)據(jù)庫到mount狀態(tài)

使用ALTER DATABASE ARCHIVELOG命令將數(shù)據(jù)設(shè)置為歸檔模式,,并驗證數(shù)據(jù)庫的歸檔模式是否改變

備份和恢復(fù)整個數(shù)據(jù)庫

備份和恢復(fù)整個數(shù)據(jù)庫,,自動分配通道,FORMAT默認使用%U,,備份集存儲在數(shù)據(jù)庫快閃恢復(fù)區(qū)內(nèi),,備份文件包括數(shù)據(jù)文件,,控制文件,重做日志文件和參數(shù)文

RMAN> backup database;

備份到了快閃恢復(fù)區(qū),,

如果備份整個數(shù)據(jù)庫時要包含歸檔日志文件,,則要加上plus archivelog關(guān)鍵字,delete input的意思是在備份完成后,,刪除archivelog文件

RMAN> backup database plus archivelog delete input;

創(chuàng)建目錄/OPT/ORACLE/ORADATA

自動分配通道,,通過FORMAT制定具體的路徑和格式

RMAN> backup database FORMAT '/opt/oracle/oradata/backup/rmanbak/%U';

備份文件存儲的路徑

使用手動分配通道,備份數(shù)據(jù)庫的方法:

RMAN> run

2> {

3> allocate channel ch1 device type disk;

4> backup database format '/opt/oracle/oradata/backup/rmanbak/%U';

5> release channel ch1;

6> }

備份結(jié)果

如何恢復(fù)數(shù)據(jù)庫

全庫備份的恢復(fù),,數(shù)據(jù)庫要在mount狀態(tài)下執(zhí)行,,刪除system01.dbf,使用RMAN恢復(fù)

此時數(shù)據(jù)庫無法啟動了,,因為刪除了system01.dbf

數(shù)據(jù)庫的當前狀態(tài),,連接RMAN

恢復(fù)數(shù)據(jù)庫

打開數(shù)據(jù)庫

數(shù)據(jù)庫已經(jīng)處于OPEN狀態(tài)了

system01.dbf表空間已經(jīng)被恢復(fù)了

2.4.  備份和恢復(fù)表空間

備份表空間

備份USERS表空間

RMAN> backup tablespace users;

備份多個表空間

RMAN> backup filesperset=3 tablespace users,system,sysaux;

RUN命令中備份表空間

RMAN> run

2> {

3> allocate channel ch1 device type disk;

4> backup format '/opt/oracle/oradata/backup/rmanbak/%U' (tablespace users,system,sysaux);

5> release channel ch1;

6> }

 

如果只丟失了特定的表空間的數(shù)據(jù)文件,那么可以選擇只恢復(fù)這個表空間,,而不是恢復(fù)整個數(shù)據(jù)庫,,表空間恢復(fù)可以在不關(guān)閉數(shù)據(jù)庫的情況下進行,只需要將需要恢復(fù)的表空間offline

模擬刪除表空間

恢復(fù)被刪除的表空間

已經(jīng)恢復(fù)了users01.dbf

備份數(shù)據(jù)文件2

備份sysaux01.dbf

2.5.  查看當前系統(tǒng)中的數(shù)據(jù)文件

刪除數(shù)據(jù)文件sysaux01.dbf

對數(shù)據(jù)文件或表空間做恢復(fù)的時候數(shù)據(jù)文件和表空間一定要處于offline狀態(tài), 數(shù)據(jù)文件丟失了,,但數(shù)據(jù)庫實例還可以用,

此時數(shù)據(jù)文件sysaux01.dbf的狀態(tài)為RECOVER

恢復(fù)數(shù)據(jù)文件sysaux01.dbf

將數(shù)據(jù)文件datafile 2處于online狀態(tài)

查看數(shù)據(jù)文件的狀態(tài),,已經(jīng)變成online狀態(tài)了

3.   使用數(shù)據(jù)泵技術(shù)實現(xiàn)邏輯備份

邏輯備份概述

邏輯備份時創(chuàng)建數(shù)據(jù)庫對象的邏輯副本,并存入一個二進制轉(zhuǎn)儲文件的過程,。從本質(zhì)上來講邏輯備份與恢復(fù)實際就是對數(shù)據(jù)庫事實數(shù)據(jù)的導(dǎo)入和導(dǎo)出,。

導(dǎo)出:

導(dǎo)出就是數(shù)據(jù)庫的邏輯備份,實質(zhì)是讀取一個數(shù)據(jù)庫記錄并將這個記錄集寫入一個文件(擴展名通常是dmp),,這些記錄的導(dǎo)出與物理位置無關(guān)

導(dǎo)入:

導(dǎo)入即數(shù)據(jù)庫的邏輯恢復(fù),,實質(zhì)是讀取被導(dǎo)出的二進制轉(zhuǎn)儲文件并將其恢復(fù)到數(shù)據(jù)庫。

使用數(shù)據(jù)泵技術(shù)導(dǎo)入/導(dǎo)出

數(shù)據(jù)泵(DATA PUMP是一種在數(shù)據(jù)庫之間或在數(shù)據(jù)庫與操作系統(tǒng)之間高速傳輸數(shù)據(jù)的技術(shù),。數(shù)據(jù)泵工具運行在服務(wù)器上,,數(shù)據(jù)庫管理員需要指定數(shù)據(jù)庫目錄來保存轉(zhuǎn)儲的數(shù)據(jù)。

連接oracle 數(shù)據(jù)庫

創(chuàng)建一個操作目錄

 

授予用戶操作dump_dir目錄的權(quán)限

使用EXPDP命令導(dǎo)出數(shù)據(jù)(可以按照表導(dǎo)出,,按照用戶模式導(dǎo)出,,按照表空間導(dǎo)出和全庫導(dǎo)出),使用IMPDP命令導(dǎo)入數(shù)據(jù)(可以按照表導(dǎo)入,,按照用戶模式導(dǎo)入,,按照表空間導(dǎo)出和全庫導(dǎo)入)。

使用基于命令行的數(shù)據(jù)泵技術(shù)對數(shù)據(jù)庫實施導(dǎo)入和導(dǎo)出,。

SQL> col DIRECTORY_NAME for a20

SQL> col DIRECTOR_PATH for a60

SQL> col OWNER for a8

創(chuàng)建測試用戶tom并授權(quán)

導(dǎo)出SCOTT用戶下的empdept

[oracle@dbserver ~]$ expdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept

SCOTT用戶連接,,刪除SCOTT用戶下的EMP

導(dǎo)入emp

[oracle@dbserver ~]$ impdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp

emp表已經(jīng)導(dǎo)入成功了。

將導(dǎo)出的SCOTT用戶下的DEPT表和EMP表導(dǎo)入到tom用戶下

[oracle@dbserver ~]$ impdp system/oracle11g directory=dump_dir dumpfile=scotttab.dmp tables=scott.emp,scott.dept REMAP_SCHEMA=SCOTT:TOM

查看導(dǎo)入的結(jié)果,,使用tom用戶連接

導(dǎo)出表空間

xx表空間上創(chuàng)建一個表aa,,并為表插入記錄

導(dǎo)出表空間

刪除表空間xx的同時刪除數(shù)據(jù)文件

aa表沒有了,。

導(dǎo)入表空間

導(dǎo)入表空間之前,需要創(chuàng)建一個xx表空間

導(dǎo)入表空間xx

驗證,,aa表恢復(fù)回來了。

 

導(dǎo)出全庫

[oracle@dbserver orcl]$ expdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y

導(dǎo)入全庫

[oracle@dbserver orcl]$ impdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y

4.   使用閃回技術(shù)

為了使數(shù)據(jù)庫能夠從任何邏輯錯誤中迅速恢復(fù),,oracle推出了閃回技術(shù),。采用該技術(shù),可以對行級和事物級的數(shù)據(jù)變化進行恢復(fù),,減少了數(shù)據(jù)恢復(fù)的時間,,而且操作簡單。通過SQL語句就可以實現(xiàn)數(shù)據(jù)的恢復(fù),,大大提高了數(shù)據(jù)庫恢復(fù)的效率,。閃回技術(shù)是數(shù)據(jù)庫恢復(fù)技術(shù)歷史上一次重大的進步,從根本上改變了數(shù)據(jù)恢復(fù),。

閃回技術(shù)包括以下各項:

閃回查詢:(FLASHBACK QUERY):查詢過去某個時間點或某個SCN值時表中的數(shù)據(jù)信息

閃回版本查詢(FLASHBACK Version query):查詢過去某個時間段或某個SCN段內(nèi)表中數(shù)據(jù)變化的情況,。

閃回事物查詢(FLASHBACK Transaction Query:查看某個事物或所有事物在過去一段時間對數(shù)據(jù)進行的修改。

閃回數(shù)據(jù)庫(FLASHBACK Database:將數(shù)據(jù)庫恢復(fù)到過去某個時間點或某個SCN值時的狀態(tài)

閃回刪除(FLASHBACK drop):將已經(jīng)刪除的表及其關(guān)聯(lián)的對象恢復(fù)到刪除前的狀態(tài),。

閃回表(FLASHBACK table:將表恢復(fù)到過去的某個時間點或某個SCN值時的狀態(tài),。

SCN是當oracle數(shù)據(jù)庫更新后,有DBMS自動維護而累積遞增的一個數(shù)字,??梢酝ㄟ^查詢數(shù)據(jù)字典V$DATABASE中的CURRENT_SCN獲得當前的SCN號。

4.1.  閃回恢復(fù)區(qū)的含義

oracle推薦指定一個閃回恢復(fù)區(qū)(FLASH RECOVERY AERA)作為存放備份與恢復(fù)相關(guān)的默認位置,,這樣ORACLE就可以實現(xiàn)自動的基于磁盤的備份與恢復(fù),。閃回恢復(fù)區(qū)是一塊用來存儲恢復(fù)相關(guān)的文件的存儲空間,允許用戶集中存儲所有恢復(fù)相關(guān)的文件,。以下幾種文件可以存放在閃回恢復(fù)區(qū),。

控制文件

歸檔日志文件

閃回日志

控制文件和SPFILE自動備份

RMAN備份集

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

閃回恢復(fù)區(qū)主要通過以下3個初始化參數(shù)來設(shè)置和管理

db_recovery_file_dest:指定閃回恢復(fù)區(qū)的位置

db_recovery_file_dest_size:指定閃回恢復(fù)區(qū)的可用空間

db_flashback_retention_target:該參數(shù)用來控制閃回日志中數(shù)據(jù)保留的時間,或者說,,希望閃回數(shù)據(jù)庫能夠恢復(fù)到的最早的時間點,。單位為min,默認是1440min,即一天,。當然實際上可回退的時間還取決于閃回恢復(fù)區(qū)的大小,,因為里面保存了回退所需要的閃回日志,所以這個參數(shù)要和db_recovery_file_dest_size配合修改,。

如果要撤銷閃回恢復(fù)區(qū),,把初始化參數(shù)DB_RECOVERY_FILE_DEST的值清空。

db_recovery_file_dest_size只有在DB_RECOVERY_FILE_DEST清空之后才可以清空

4.2.  設(shè)置閃回數(shù)據(jù)庫

設(shè)置了閃回恢復(fù)區(qū),,要啟動閃回數(shù)據(jù)庫功能,,還需要進一步配置,,數(shù)據(jù)必須處于歸檔模式,在設(shè)置閃回數(shù)據(jù)庫

數(shù)據(jù)庫已經(jīng)處于歸檔模式:

數(shù)據(jù)庫未啟用閃回數(shù)據(jù)庫

建立閃回區(qū)域

設(shè)置閃回數(shù)據(jù)庫的數(shù)據(jù)保留周期為一天以min為單位

啟用閃回日志

查詢是否成功啟用閃回恢復(fù)區(qū)

查詢是否成功啟用閃回數(shù)據(jù)庫

閃回數(shù)據(jù)庫

閃回數(shù)據(jù)庫能夠使數(shù)據(jù)迅速的回滾到以前的某個時間點或者某個SCN上,,這對數(shù)據(jù)庫從邏輯錯誤中恢復(fù)特別有用,。而且也是大多數(shù)發(fā)生邏輯損壞時恢復(fù)數(shù)據(jù)庫最佳的選擇。

使用SCN閃回數(shù)據(jù)庫

查看數(shù)據(jù)庫系統(tǒng)當前SCN

改變數(shù)據(jù)庫當前狀態(tài),,模擬創(chuàng)建表TEST10,,并插入一條記錄

進行閃回數(shù)據(jù)庫恢復(fù),將數(shù)據(jù)庫恢復(fù)到創(chuàng)建表之前的狀態(tài),,即SCN1238544

RESETLOGS選項打開數(shù)據(jù)庫

驗證數(shù)據(jù)庫的狀態(tài),,TEST10表不存在。

查詢數(shù)據(jù)庫中當前最早的閃回SCN和時間

按照指定時間閃回數(shù)據(jù)庫

查詢數(shù)據(jù)庫中當前時間和當前SCN

改變數(shù)據(jù)庫的當前狀態(tài),,模擬創(chuàng)建表test11,并插入1條記錄

進行閃回數(shù)據(jù)庫恢復(fù),,將數(shù)據(jù)庫恢復(fù)到創(chuàng)建表之前的狀態(tài)。

使用RESETLOGS打開數(shù)據(jù)庫

驗證數(shù)據(jù)庫的狀態(tài)test11表是否存在,。

閃回數(shù)據(jù)庫操作的限制:

2  數(shù)據(jù)文件損壞或丟失等介質(zhì)故障不能使用閃回數(shù)據(jù)庫進行恢復(fù),。閃回數(shù)據(jù)庫只能基于當前正常運行的數(shù)據(jù)文件

2  閃回數(shù)據(jù)庫功能啟動后,如果發(fā)生數(shù)據(jù)控制文件重建或利用備份恢復(fù)控制文件,,則不能使用閃回數(shù)據(jù)庫

2  不能使用閃回數(shù)據(jù)庫進行數(shù)據(jù)文件收縮操作

2  不能使用閃回數(shù)據(jù)庫將數(shù)據(jù)庫恢復(fù)到在閃回日志中可獲得的最早的SCN之前的SCN,,因為閃回日志文件在一定的條件下被刪除,而不是始終保存在閃回恢復(fù)區(qū)中,。

4.3.  閃回表

         閃回表是將表恢復(fù)到過去的某個時間點或者指定的SCN而不用恢復(fù)數(shù)據(jù)文件,,為DBA提供了一種在線、快速,、便捷的恢復(fù)方式,,可以恢復(fù)對表進行的修改、刪除,、插入等錯誤的操作,。

         利用閃回表技術(shù)恢復(fù)表中的數(shù)據(jù)的過程,實際上是對表進行DML操作的過程,。oracle自動維護與表相關(guān)聯(lián)的索引,、觸發(fā)器、約束等,。

為了使用數(shù)據(jù)庫閃回功能,,必須滿足下列條件

2  用戶具有FALSHBACK ANY TABLE系統(tǒng)權(quán)限,或者具有所操作表的FLASHBACK對象權(quán)限

2  用戶具有所操作表的SELECT/INSERT/DELETE/ALTER對象權(quán)限

啟動被操作表的ROW MOVEMENT特性,,可以采用下列方式進行:

SQL> ALTER TABLE 表名 ENABLE ROW MOVEMENT;

閃回表語法格式:

FLASHBACK TABLE [schema].table TO SCN | TIMESTAMP expression [ENABLE|DISABLE TRIGGERS]

參數(shù)說明:

SCN:將表恢復(fù)到指定的SCN時的狀態(tài)

TIMESTAMP:將表恢復(fù)到指定額時間點

ENABLE|DISABLE TRIGGERS:在恢復(fù)表中數(shù)據(jù)的過程中,,表上的觸發(fā)器時禁用還是激活(默認是引用)

舉例說明:

使用SCOTT用戶登錄

創(chuàng)建表,插入記錄,提交事物

查詢當前SCN號,,如果當前用戶沒有權(quán)限查詢v$database,,則以sys用戶登錄,授予當前用戶訪問數(shù)據(jù)字典的權(quán)限,。

更新記錄,,并提交事物

查看表中的記錄

刪除ID=3的記錄

啟動test01表的ROW MOVEMENT特性

test01表恢復(fù)到2015-11-22 05:44:48時刻的狀態(tài)

test01表恢復(fù)到SCN1240503的狀態(tài)。

 

4.4.  閃回刪除

閃回刪除可以恢復(fù)使用DROP table語句刪除的表,,是一種對意外刪除的表恢復(fù)機制,。閃回刪除的功能的實現(xiàn)主要是通過oracle數(shù)據(jù)庫中的“回收站”技術(shù)實現(xiàn)的。在oracle數(shù)據(jù)庫中,,當執(zhí)行DROP table操作時,并不立即收回表及其關(guān)聯(lián)對象的空間,,而是將他們重命名后放入一個稱為“回收站”的邏輯容器中保存,,直到用戶決定永久刪除他們或存儲該表的表空間或存儲空間不足時,表才真正被刪除,,為了使用數(shù)據(jù)庫的閃回刪除技術(shù),,必須開啟數(shù)據(jù)庫的“回收站”

啟動“回收站”將參數(shù)RECYCLEBIN設(shè)置為ON,在默認情況下“回收站”已經(jīng)啟動

如果沒有啟動可以使用:

查看回收站,。當執(zhí)行DROP table 時,,表及關(guān)聯(lián)的對象被命名后保存在“回收站”中,可以通過查詢USER_RECYCLEBIN DBA_RECYCLEBIN視圖獲得被刪除的表及其關(guān)聯(lián)對象,。

通過USER_RECYCLEBIN查看被刪除的表

不支持sys用戶和system用戶,,這兩個用戶下的表被刪除之后,無法從回收站里拿到,,查詢時為“空”

如果刪除表的時候使用了PURGE短語,,則表及其關(guān)聯(lián)對象唄直接釋放,空間被回收,,相關(guān)信息不會進入“回收站”中

清空回收站,,由于被刪除的表級其關(guān)聯(lián)對象信息保存在“回收站”中,其存儲空間并沒有釋放,,因此需要定期清空“回收站”,。或清除“回收站”中沒有用的對象(表,,索引,,表空間)釋放其所占用的磁盤空間

語法如下:

PURGE [TABLE 表名 | INDEX index]

[RECYCLEBIN | DBA_RECYCLEBIN] | [TABLESPACE tablespace [USER user]]

參數(shù)說明:

TABLE:從回收站中清除指定的表

INDEX:從回收站中清除指定的索引,并回收其磁盤空間

RECYCLEBIN:清空用戶“回收站”,,并回收所有對象的磁盤空間

DBA_RECYCLEBIN:清空整個數(shù)據(jù)庫系統(tǒng)的“回收站”,,只有具有SYSDBA權(quán)限的用戶才可以使用

TABLESPACE :清除“回收站”中指定額表空間,并回收磁盤空間

USER:清除回收站中指定表空間中特定用戶的對象,并回收磁盤空間

閃回刪除操作,,閃回刪除的基本語法

FLASHBACK TABLE [schema.]table to BEFORE DROP [RENAME TO table]

閃回刪除

 

閃回刪除舉例說明:

需要注意:只有本地管理的,,非系統(tǒng)表空間中的表可以使用閃回刪除操作。

4.5.  閃回查詢

允許根據(jù)時間點timestampSCN查看就的數(shù)據(jù),,除了可以查看舊數(shù)據(jù),,需要時可以通過檢索舊數(shù)據(jù)來撤銷錯誤的更改。

使用SCOTT用戶登錄,,對EMP表基于AS of TIMESTAMP的閃回查詢

SQL> show user;

USER is "SCOTT"

更新員工號為7900的工資,,更新為2000,并提交事物

更新員工號為7900的工資,,更新兩次,,提交事物。

更新員工號為7900的工資,,更新為3500,,并提交事物

查看7900號員工的更新后工資。

查詢7900號員工前一個小時的工資是多少

查詢第一個事物提交,,第二個事物還沒有提交時7900員工的工資

查詢第二個事物提交,,第三個事物還沒有提交時的7900號員工的工資

如果需要,可以將數(shù)據(jù)恢復(fù)到過去某個時刻的狀態(tài),。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多