最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL數(shù)據(jù)庫與oracle數(shù)據(jù)庫鏡像有什么不同對比

 更新時間:2010年03月13日 12:38:00   作者:  
數(shù)據(jù)庫鏡像是將數(shù)據(jù)庫事務(wù)處理從一個數(shù)據(jù)庫移動到不同環(huán)境中的另一個數(shù)據(jù)庫中。鏡像的拷貝是一個備用的拷貝,不能直接訪問,它只用在錯誤恢復(fù)的情況下。
Oracle數(shù)據(jù)庫與MSSQL數(shù)據(jù)操作上有很大的不同,但是,在鏡像操作方面有類比的地方。這篇文章關(guān)于MSSQL數(shù)據(jù)庫鏡像在Oracle數(shù)據(jù)庫中是如何實現(xiàn)的,它們之間存在哪些差異呢。

首先,微軟SQL數(shù)據(jù)庫中的鏡像數(shù)據(jù)庫類似于Oracle數(shù)據(jù)庫中的備用數(shù)據(jù)庫。我說的只是類似,確切的說,我們需要考慮不同數(shù)據(jù)庫在自己體系中的差異。MSSQL作為一個實例來操作,一個實例包含幾個數(shù)據(jù)庫,你首先要登錄一個實例,然后選擇哪個數(shù)據(jù)庫作用于該實例。而在Oracle數(shù)據(jù)庫中,簡單模式(忽略RAC)就只有一個數(shù)據(jù)庫與一個實例相聯(lián)系。因此,可以這么說,在Oracle數(shù)據(jù)庫中,備份數(shù)據(jù)庫(standby database)就完全是主數(shù)據(jù)庫的快照。而在MSSQL中,鏡像數(shù)據(jù)庫僅僅是選擇的那個數(shù)據(jù)庫的備份,但沒有包括代理,登錄,任務(wù)(這些或者更多的數(shù)據(jù)庫項目需要單獨在數(shù)據(jù)庫鏡像上創(chuàng)建或者復(fù)制)這些外部數(shù)據(jù)項。

在服務(wù)器數(shù)量上,Oracle的主數(shù)據(jù)庫和備用數(shù)據(jù)庫配置最小需要2臺。在MSSQL中,最小數(shù)據(jù)是2個或3個,根據(jù)你所選擇的高可用性、高安全性、高性能方式所決定。

高可用性方式:這個操作模式選項允許你在兩臺服務(wù)器上同步事務(wù)寫入,并支持自動錯誤恢復(fù)。要使用這個選項,你必須還要使用一個證人服務(wù)器。

高保護(hù)方式:這個選項可以讓你在兩臺服務(wù)器上同步事物寫入,但是錯誤恢復(fù)是手工的。因為自動的錯誤恢復(fù)不是這個選項的一部分,所以也不會用到證人服務(wù)器。

高性能方式:這個選項不關(guān)心兩臺服務(wù)器上的寫入是否是同步的,因此在性能上有所提高。當(dāng)使用這個選項的時候,你只能假設(shè)鏡像服務(wù)器上的所有事情都是成功完成。這個選項只允許手工的錯誤恢復(fù),因此不會用到證人服務(wù)器。

為了保證故障自動恢復(fù),就需要有第三臺服務(wù)器,可以稱之為目擊者(另外兩個就是主數(shù)據(jù)庫和鏡像數(shù)據(jù)庫),你可以將這個目擊者當(dāng)作群集中的一個成員。它實現(xiàn)了2比1投票的能力,當(dāng)我的一個組件不可達(dá),并因此需要進(jìn)行錯誤恢復(fù)的時候。證人服務(wù)器只有在你想實現(xiàn)自動錯誤恢復(fù)的時候才需要用到。

在Oracle數(shù)據(jù)的一個事務(wù)中,日志緩沖器在廢數(shù)據(jù)寫入數(shù)據(jù)文件(忽略write-ahead情況)前被刷新或者寫入到redo日志中。這種刷新或者寫入到redo日志的行為是有必要的,如像實例失敗(使用前滾和回滾恢復(fù)過程)這樣的事件發(fā)生時。MSSQL也承認(rèn)將日志緩沖器寫入到磁盤的重要性。不過這里稱之為硬化(hardening)。首先將事務(wù)日志緩沖器的信息寫入到磁盤或者硬化,接著將日志記錄塊發(fā)送到鏡像數(shù)據(jù)庫中。鏡像數(shù)據(jù)庫接收到該日志記錄塊后,將之存入到某個緩沖器中,隨后依次硬化該日志記錄塊。

當(dāng)數(shù)據(jù)發(fā)生變化時,MSSQL數(shù)據(jù)庫如何保持主數(shù)據(jù)庫和鏡像數(shù)據(jù)庫的一致性呢?

Oracle用戶非常熟悉SCN,而MSSQL用戶通過使用mirroring_failover_lsn機(jī)制(粗略來講就是一個日志序列號)。MSSQL與Oracle不同,MSSQL將事務(wù)分離(兩個事務(wù)在兩個機(jī)器上),而不是一個分布式事務(wù)(在自身提交前需要遠(yuǎn)程等待提交)。

另外一個相似點,但稍微有些畸變的反射就是redo日志和事務(wù)日志。在Oracle中,完成的redo日志將被發(fā)送到遠(yuǎn)程的服務(wù)器中,將完成的redo日志應(yīng)用到備份數(shù)據(jù)中去。在MSSQL中,事務(wù)日志沒有被傳輸,但是就像我以上提到的,日志緩沖器數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。這就導(dǎo)致另外一個鏡像反射:備份和恢復(fù)模式。

在Oracle中,當(dāng)你處于歸檔模式或者非歸檔模式的時候,這些操作是內(nèi)定的。如果歸檔redo日志被傳輸或者提交到一個遠(yuǎn)程的服務(wù)器,那么主數(shù)據(jù)庫明顯就是在歸檔模式下,那些文件就是這么產(chǎn)生的。運行在這種模式下,允許有少量的數(shù)據(jù)丟失,因為在發(fā)生故障(無論什么樣的故障)前,恢復(fù)能夠在任意一個點上執(zhí)行。在MSSQL中是類似的,但是有三種狀態(tài)需要選擇。
《SQL Server聯(lián)機(jī)叢書》,像許多其它的在線資源一樣,講述了在使用MSSQL時,3種恢復(fù)模式的不同點??焖俚谋容^有:MSSQL完整模式對應(yīng)于Oracle中的歸檔模式;簡單模式對應(yīng)于非歸檔模式;bulk模式與使用直接路徑插入,添加提示,或者與nologging模式操作類似。

根據(jù)以上三種模式(這三種模式很容易轉(zhuǎn)換,不需要關(guān)機(jī)或者重啟)的描述以及日志緩沖器和歸檔redo日志的討論中,很容易斷定在MSSQL中進(jìn)行數(shù)據(jù)庫的鏡像需要將數(shù)據(jù)的回復(fù)模式設(shè)置成完全模式(full model)。簡單模式(Simple model)或許也能行,但是這種模式下維持事務(wù)日志中的小部分?jǐn)?shù)據(jù),在備份中,如果在日志被刪節(jié)了,整個鏡像過程也就破環(huán)了,因為當(dāng)你在將事務(wù)發(fā)送到鏡像數(shù)據(jù)庫中的時候,如果日志被刪節(jié)了,這個過程就不能完成。

說到數(shù)據(jù)庫被破壞該怎么辦呢?

這正是鏡像(或者說備份)的主要目的:當(dāng)主數(shù)據(jù)庫斷開或者說遇到故障時候我們希望系統(tǒng)能回到鏡像前或者備份前的狀況去。這如何才能實現(xiàn)呢?我們能自動實現(xiàn)或者手動實現(xiàn)。想實現(xiàn)這些,需要一些已經(jīng)完成的設(shè)置。在MSSQL中,自動故障恢復(fù),回到原來狀態(tài)需要在HA模式,事務(wù)安全是full,數(shù)據(jù)傳輸是同步,有目擊服務(wù)器的情況下。這種模式下運行還需要使用企業(yè)版的數(shù)據(jù)庫系統(tǒng)。高安全性和高性能在標(biāo)準(zhǔn)版的情況下也能實現(xiàn)。
MSSQL還有其它版本的選擇,但是這些并不如Oracle的反射“干凈”,這些版本包括:Developer、Workgroup 和 SQL Express。舉個例子,目擊服務(wù)器能夠是任何的版本,但是如果你想給鏡像服務(wù)器做一個快照,那么你就需要企業(yè)或者開發(fā)版的了。

在設(shè)置伙伴(partner,通常有主數(shù)據(jù)庫和鏡像數(shù)據(jù)庫組成)過程中,他們的恢復(fù)狀態(tài)開始起作用。通過使用相同的名字,鏡像在遠(yuǎn)程/鏡像服務(wù)器上建立(使用配置數(shù)據(jù)庫鏡像安全向?qū)亲詈唵蔚姆椒?起來,并且鏡像數(shù)據(jù)庫被設(shè)置成NORECOVERY,通常它是恢復(fù)(recovering)狀態(tài)的。在MSSQL中,恢復(fù)數(shù)據(jù)庫是沒有的,因此沒有進(jìn)行上述的設(shè)置,是不能被其他用戶當(dāng)作只讀數(shù)據(jù)庫來使用的。

為了避免這個中缺陷,你可以給鏡像做一個快照,使得該“影像”對用戶可見。正如我上述所提到的那樣,這需要你的數(shù)據(jù)庫版本是企業(yè)(或者開發(fā))版。這就意味著用戶需要有快照數(shù)據(jù)庫的知識,知道如何進(jìn)入存儲它,如何告訴應(yīng)用程序使用哪個數(shù)據(jù)庫。慣例上來說,配置文件使用的.NET環(huán)境,你能建立一個主數(shù)據(jù)庫和一個故障回滾的輔數(shù)據(jù)庫。如果在Oracle中配置過備份數(shù)據(jù)庫,你就會覺得這很類似。

結(jié)論

這篇文章內(nèi)容包括按照Oracle的方式,如何更好的理解在另一種主流的RDBMS上執(zhí)行鏡像或者復(fù)制,。試著學(xué)習(xí)和解釋你的RDBMS如何工作的,從另外一種模式來得到你的注意有助于你搞清楚你當(dāng)前數(shù)據(jù)庫系統(tǒng)運行原理。舉個例子,我發(fā)現(xiàn)非常有實用價值的是Oracle歸檔模式和MSSQL三種恢復(fù)模式之間的關(guān)系。使用在MSSQL中的一些術(shù)語(伙伴,主數(shù)據(jù)庫,目擊,鏡像)有助于你構(gòu)成和識別Oracle中執(zhí)行數(shù)據(jù)庫鏡像的操作。
為了更好的評價數(shù)據(jù)庫鏡像是如何運作,如何實施的,你可以運行兩個單獨的MSSQL實例,操作系統(tǒng)是XP或者是2003都沒有關(guān)系。按照MSDN聯(lián)機(jī)叢書的步驟完成一遍。下載或者選用AdventureWorks數(shù)據(jù)庫(類似于Oracle的HR/SH數(shù)據(jù)庫等。這些都沒有預(yù)安裝的),將其鏡像到主機(jī)服務(wù)器上。呈現(xiàn)在你面前的不僅僅是另外一個數(shù)據(jù)的所具有功能特性,你將還會看到MSSQL所具有的操作,得到自己的正確評價(我平時使用的是Oracle數(shù)據(jù)庫,測試用的是MSSQL,反過來說,你平時使用的是MSSQL,現(xiàn)在用Oracle來測試的話,也會有新的發(fā)現(xiàn))。

相關(guān)文章

  • DeveloperSharp?高效分頁使用詳解

    DeveloperSharp?高效分頁使用詳解

    這篇文章主要為大家介紹了DeveloperSharp?高效分頁使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Mybatis查詢延遲加載詳解及實例

    Mybatis查詢延遲加載詳解及實例

    這篇文章主要介紹了Mybatis查詢延遲加載詳解及實例的相關(guān)資料,Mybatis的延遲加載默認(rèn)是關(guān)閉的,即默認(rèn)是一次就將所有的嵌套SQL一并查了將對象所有的信息都查詢出來。開啟延遲加載有兩種方式,需要的朋友可以參考下
    2017-01-01
  • 關(guān)于SQL注入中文件讀寫的方法總結(jié)

    關(guān)于SQL注入中文件讀寫的方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于SQL注入中文件的讀寫方法,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Hive數(shù)據(jù)導(dǎo)出詳解

    Hive數(shù)據(jù)導(dǎo)出詳解

    hive是一個依賴Hadoop集群的數(shù)據(jù)處理平臺,我們不僅需要對數(shù)據(jù)進(jìn)行篩選處理,更需要進(jìn)行導(dǎo)出,供我們多次重復(fù)使用,本文主要介紹了hive如何導(dǎo)出數(shù)據(jù),感興趣的小伙伴歡迎閱讀
    2023-04-04
  • 8種主流NoSQL數(shù)據(jù)庫系統(tǒng)特性對比和最佳應(yīng)用場景

    8種主流NoSQL數(shù)據(jù)庫系統(tǒng)特性對比和最佳應(yīng)用場景

    這篇文章主要介紹了8種主流NoSQL數(shù)據(jù)庫系統(tǒng)特性對比和最佳應(yīng)用場景,對選擇一個NoSQL數(shù)據(jù)庫來說是一個不錯的參考文章,需要的朋友可以參考下
    2014-06-06
  • SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫

    SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Navicat15安裝教程超詳細(xì)步驟(最靠譜)

    Navicat15安裝教程超詳細(xì)步驟(最靠譜)

    Navicat是一款輕量級的用于MySQL連接和管理的工具,非常好用,使用起來方便,簡潔。下面講講其安裝的過程
    2021-06-06
  • SQL 隨機(jī)查詢 包括(sqlserver,mysql,access等)

    SQL 隨機(jī)查詢 包括(sqlserver,mysql,access等)

    SQL 隨機(jī)查詢 包括(sqlserver,mysql,access等),需要的朋友可以參考下,目的一般是為了隨機(jī)讀取數(shù)據(jù)庫中的記錄。
    2009-10-10
  • 分布式和集群的概述講解

    分布式和集群的概述講解

    今天小編就為大家分享一篇關(guān)于分布式和集群的概述講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 如何利用SQL語句創(chuàng)建數(shù)據(jù)庫詳解

    如何利用SQL語句創(chuàng)建數(shù)據(jù)庫詳解

    數(shù)據(jù)庫就是一個文件系統(tǒng),訪問數(shù)據(jù)的時候需要通過標(biāo)準(zhǔn)的SQL語言來完成,下面這篇文章主要給大家介紹了關(guān)于如何利用SQL語句創(chuàng)建數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2022-06-06

最新評論

香港| 监利县| 涪陵区| 阳江市| 高碑店市| 宁波市| 吉安市| 东莞市| 洛隆县| 文化| 临夏市| 米脂县| 屯留县| 东丽区| 伊通| 琼中| 工布江达县| 香港| 奉节县| 象州县| 安吉县| 定西市| 云安县| 瓦房店市| 河北省| 重庆市| 三明市| 大城县| 邵东县| 克山县| 平昌县| 肇东市| 襄樊市| 丘北县| 宁海县| 桂平市| 日喀则市| 安阳市| 镇巴县| 白沙| 廊坊市|