自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)庫(kù)在線(xiàn)備份相關(guān)原理描述

數(shù)據(jù)庫(kù) Oracle
以下的文章主要是介紹Oracle數(shù)據(jù)庫(kù)在線(xiàn)備份中的原理,其中有基本概念的講解,以及Oracle如何對(duì)DML語(yǔ)句進(jìn)行處理的相關(guān)內(nèi)容的描述。

1 概述

文章主要是從Oracle數(shù)據(jù)庫(kù)的基本原理開(kāi)始的,討論Oracle數(shù)據(jù)庫(kù)在線(xiàn)備份原理及利用這些相關(guān)原理作為Oracle數(shù)據(jù)庫(kù)的遠(yuǎn)程復(fù)制提供一種方法,也就是Oracle遠(yuǎn)程備份的實(shí)現(xiàn)。本文提供的遠(yuǎn)程備份實(shí)現(xiàn)的過(guò)程是從實(shí)踐中產(chǎn)生的。該過(guò)程只要稍加修改就可以運(yùn)用到相應(yīng)的實(shí)際工作中。因此具有實(shí)踐的指導(dǎo)意義。以下涉及到的數(shù)據(jù)庫(kù)的內(nèi)容僅限于Oracle公司數(shù)據(jù)庫(kù)的范圍。

2 Oracle 工作機(jī)制

在討論Oracle在線(xiàn)備份之前,我們先作一些準(zhǔn)備工作。

2.1基本概念

由于我們討論的Oracle在線(xiàn)備份涉及到以下Oracle的幾個(gè)基本而且非常重要的概念。為了說(shuō)明方便,下面我們對(duì)這幾個(gè)重要的概念作一些說(shuō)明。

1)數(shù)據(jù)庫(kù)的表

表是數(shù)據(jù)庫(kù)中最基本而且是最重要的概念,表是數(shù)據(jù)庫(kù)用來(lái)存放數(shù)據(jù)的地方。應(yīng)用業(yè)務(wù)中的數(shù)據(jù)就是保存在數(shù)據(jù)庫(kù)的表中。

2)數(shù)據(jù)查詢(xún)語(yǔ)句

數(shù)據(jù)查詢(xún)語(yǔ)句主要是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢(xún)于瀏覽。也就是對(duì)數(shù)據(jù)庫(kù)中的表的記錄進(jìn)行查詢(xún)。在Oracle數(shù)據(jù)庫(kù)中,數(shù)據(jù)查詢(xún)的命令是

SELECT

3)DML語(yǔ)句

在Oracle數(shù)據(jù)庫(kù)中,DML(DATA MANIPULATION LANGUAGE)語(yǔ)句,也就是數(shù)據(jù)操縱語(yǔ)言,指那些對(duì)Oracle數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行修改的語(yǔ)句。這種修改僅限于數(shù)據(jù)庫(kù)中的數(shù)據(jù),也就是表中的記錄。而不是數(shù)據(jù)庫(kù)中的對(duì)象。從后面可以看書(shū),理解這一點(diǎn)非常重要。DML語(yǔ)句有以下幾類(lèi):

A)數(shù)據(jù)的增加

往數(shù)據(jù)庫(kù)中增加數(shù)據(jù)是DML語(yǔ)句一個(gè)功能,在數(shù)據(jù)庫(kù)中數(shù)據(jù)的增加表現(xiàn)為數(shù)據(jù)庫(kù)中表的記錄的增加。Oracle數(shù)據(jù)庫(kù)中增加記錄的命令是

INSERT

B)數(shù)據(jù)的修改

數(shù)據(jù)庫(kù)中的數(shù)據(jù)并不是一成不變的,有時(shí)由于應(yīng)用或是業(yè)務(wù)要求的變化,可能需要修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)中數(shù)據(jù)的修改表現(xiàn)出來(lái)是對(duì)數(shù)據(jù)庫(kù)的表中的記錄進(jìn)行修改。DML語(yǔ)句可以用來(lái)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行修改。Oracle數(shù)據(jù)庫(kù)中修改表中的記錄的語(yǔ)句是

UPDATE

C)數(shù)據(jù)的刪除

數(shù)據(jù)庫(kù)中的數(shù)據(jù)不再需要時(shí),要將其從數(shù)據(jù)庫(kù)中刪除。也就是把記錄從數(shù)據(jù)庫(kù)的表中刪除。Oracle數(shù)據(jù)庫(kù)刪除記錄的命令是

DELETE

4)DDL語(yǔ)句

在Oracle數(shù)據(jù)庫(kù)中,對(duì)象的創(chuàng)建是由DDL語(yǔ)句完成。DDL (DATA DEFINITION LANGUAGE)語(yǔ)句一經(jīng)發(fā)布,則數(shù)據(jù)庫(kù)中將增加一個(gè)對(duì)象,如表,用戶(hù)等等。

2.2 Oracle對(duì)DML語(yǔ)句的處理

有了以上的一些基本概念,我們可以討論Oracle在線(xiàn)備份了。在此之前,我們首先來(lái)看Oracle對(duì)DML(DELETE、UPDATE、INSERT)語(yǔ)句的處理過(guò)程:(該系統(tǒng)的拓?fù)浣Y(jié)構(gòu)為CLIENT/SERVER模式)

對(duì)DML的處理

從上圖可以看出,Oracle數(shù)據(jù)庫(kù)對(duì)DML語(yǔ)句的出來(lái)過(guò)程如下:

1) 用戶(hù)(CLIENT)將DML語(yǔ)句傳遞給服務(wù)器(SERVER)。(如圖,該DML語(yǔ)句是UPDATE)

將DML語(yǔ)句傳遞給服務(wù)器

2) SERVER進(jìn)程將需要的數(shù)據(jù)塊從數(shù)據(jù)文件讀到內(nèi)存區(qū)(SGA區(qū))的DATA BUFFER CACHE中,同時(shí)在該區(qū)中對(duì)數(shù)據(jù)進(jìn)行修改。

3) 將整個(gè)修改過(guò)程由內(nèi)存中的DATA BUFFER CACHE 區(qū)COPY到內(nèi)存區(qū)的REDO LOG BUFFER。這次COPY不但保存了數(shù)據(jù)庫(kù)修改后的值,而且保存數(shù)據(jù)庫(kù)修改前的值。

4) DML語(yǔ)句對(duì)數(shù)據(jù)庫(kù)的都會(huì)有Oracle的SERVER進(jìn)程記錄到Oracle的內(nèi)存結(jié)構(gòu)REDO LOG BUFFER中。因此,我們只要把所有REDO LOG BUFFER 中的信息記錄下來(lái),那么我們就記錄了所有DML語(yǔ)句對(duì)數(shù)據(jù)庫(kù)的修改。這個(gè)紀(jì)錄過(guò)程由Oracle的另一個(gè)后臺(tái)進(jìn)程來(lái)完成。

對(duì)數(shù)據(jù)的修改

該數(shù)據(jù)庫(kù)中有三組REDO LOG FILES,每組中有兩個(gè)成員,這兩個(gè)成員是相互鏡像的。Oracle 數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程寫(xiě)滿(mǎn)***組之后,接著寫(xiě)第二組,寫(xiě)滿(mǎn)第二組之后寫(xiě)向第三組。寫(xiě)滿(mǎn)地三組之后Oracle地處處理依據(jù)Oracle運(yùn)行方式不同而不同。

1. Oracle運(yùn)行方式為非歸檔方式

在這種情況下,Oracle數(shù)據(jù)庫(kù)不會(huì)在任何處理接著寫(xiě)向***組,將***組原有的數(shù)據(jù)覆蓋掉。因此REDO LOG FILES原有的數(shù)據(jù)不可用,故數(shù)據(jù)庫(kù)在這種情況下不可恢復(fù)。

結(jié)果

數(shù)據(jù)庫(kù)每次寫(xiě)向一組新的REDO LOG FILE 時(shí)都會(huì)為該組分配一個(gè)序號(hào)。這個(gè)序號(hào)是遞增,而且***的。并且可以按指定的方式REDO LOG FILE的文件名相關(guān)。這樣如果REDO LOG FILE 在相同的目錄下也不會(huì)同名。

2. Oracle 運(yùn)行方式為歸檔方式

在這種情況下,Oracle數(shù)據(jù)庫(kù)接著寫(xiě)向***組之前,將***組做一個(gè)備份。這個(gè)備份就是我們用來(lái)做恢復(fù)的依據(jù)。如圖:

恢復(fù)的依據(jù)

歸檔的REDO LOG FILES (ARCHIVED LOG FILE)是對(duì)原REDO LOG FILE 的物理拷貝。這個(gè)拷貝是可由數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程ARCH自動(dòng)完成的。(由于每一個(gè)REDO LOG FILE的名字中有一個(gè)***的序號(hào),因此ARCHIVED LOG FILE的名字也有一個(gè)***序號(hào)。這個(gè)序號(hào)決定了做恢復(fù)時(shí)的使用ARCHIVED LOG FILE 順序。)

從上可知:

1. DML語(yǔ)句對(duì)數(shù)據(jù)庫(kù)的修改記錄在REDO LOG BUFFER 中

2. REDO LOG BUFFER中信息記錄在REDO LOG FILE中

3. REDO LOG FILE 中的信息記錄在ARCHIVED LOG FILES 中

因此,把所有的ARCHIVED LOG FILES 保存下來(lái)就保存所有對(duì)Oracle數(shù)據(jù)庫(kù)的修改。

用歸檔來(lái)考慮備份與恢復(fù)時(shí),必須指出:

1. 如果發(fā)出的SQL語(yǔ)句指定了NOLOGGING等將對(duì)數(shù)據(jù)庫(kù)修改不記入REDOLOGFILE時(shí),這些信息是不能恢復(fù)的。此時(shí)須借助于其它類(lèi)型的備份

歸檔只記錄了對(duì)數(shù)據(jù)庫(kù)的DML語(yǔ)句修改,因此在做恢復(fù)時(shí),必須有一個(gè)全備份做基礎(chǔ)。歸檔作用在這個(gè)全備份上,重演以前對(duì)Oracle數(shù)據(jù)庫(kù)的DML的修改來(lái)達(dá)到恢復(fù)的目的

【編輯推薦】

  1. 手動(dòng)設(shè)置Oracle管理控制和日志文件
  2. Oracle安裝路徑的實(shí)際操作
  3. Oracle 9i全索引掃描和函數(shù)索引一起工作的原理
  4. 如何用Oracle 9i全索引掃描完成任務(wù)
  5. Oracle 10g歸檔日志
責(zé)任編輯:佚名 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-04-15 08:57:29

Oracle數(shù)據(jù)庫(kù)

2010-04-14 10:56:07

Oracle數(shù)據(jù)庫(kù)

2010-04-16 16:09:41

Oracle數(shù)據(jù)庫(kù)

2010-04-16 15:57:54

Oracle 10g

2010-04-22 16:16:35

Oracle數(shù)據(jù)庫(kù)

2010-04-14 15:45:49

Oracle 數(shù)據(jù)庫(kù)

2010-04-09 10:32:03

Oracle 數(shù)據(jù)庫(kù)

2010-04-13 10:55:35

Oracle數(shù)據(jù)庫(kù)

2010-04-26 09:10:09

Oracle數(shù)據(jù)庫(kù)

2011-05-17 15:02:15

ORACLE數(shù)據(jù)庫(kù)備份

2009-11-20 14:08:39

Oracle數(shù)據(jù)庫(kù)備份

2010-04-14 17:57:52

Oracle數(shù)據(jù)庫(kù)

2009-04-03 10:54:49

Oracle備份恢復(fù)

2010-04-09 15:35:28

Oracle數(shù)據(jù)庫(kù)

2010-04-23 09:32:39

Oracle數(shù)據(jù)庫(kù)實(shí)例

2010-03-18 09:28:14

Oracle數(shù)據(jù)庫(kù)遷移

2010-04-22 16:56:46

Oracle數(shù)據(jù)庫(kù)

2010-10-26 11:14:07

Oracle數(shù)據(jù)庫(kù)備份

2009-10-13 09:43:43

Oracle數(shù)據(jù)庫(kù)備份

2010-04-12 10:40:49

Oracle數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)