Oarcle學習筆記之--- FAQ收集

來源:互聯網
上載者:User
筆記 1、執行個體和SID的關係是什嗎?執行個體和資料庫是怎樣的關係?
      經常有人問SID 是什嗎?在Oracle 系統中SID 是一個經常出現的變數,如環境變數ORACLE_SID, 初始設定檔案initSID.ora,那究竟什麼是SID 呢?其實SID 就是Oracle 執行個體的標識,不同的SID 對應不同的記憶體緩衝(SGA)和不同的後台進程。這樣一來我們就可以得當在一台物理的伺服器上可以有多個SID 的資料庫執行個體。

     一個運行著的ORACLE資料庫就可以看成是一個ORACLE SERVER,該SERVER由資料庫(Database)和執行個體(Instance)組成,在一般的情況下一個ORACLE SERVER包含一個執行個體和一個與之對應的資料庫,但是在特殊情況下,如8i的OPS,9i的RAC,一個SERVER中一個資料庫可以對應多個執行個體。

      一系列物理檔案(資料檔案,控制檔案,聯機日誌等)的集合或與之對應的邏輯結構(資料表空間,段等)被稱為資料庫,簡單的說,就是一系列與磁碟有關係的物理檔案的組成。ORACLE記憶體結構和後台進程被成為資料庫的執行個體,一個執行個體最多隻能安裝(Mount)和開啟(Open)在一個資料庫上,負責資料庫的相應操作並與使用者互動。

 2、Oracle資料庫和執行個體的關係是什嗎?

      資料庫是由物理檔案和存取資料檔案的執行個體組成,當存取資料檔案的執行個體是一個的時候,資料庫被稱做單節點資料庫。這是我們看到的最多的資料庫形式。當然還有一種多節點資料庫,就是一個以上的執行個體共同訪問一個資料庫(或者說共同訪問一組資料檔案), 更好的提供穩定性和平行處理能力。這在8i中被稱為OPS(Oracle Parallel Server ),在Oracle9i 中被稱為RAC(real application cluster)。在這種資料庫中。兩個/多個執行個體分別在不同伺服器上,所有Oracle 資料檔案在共用的磁碟陣列上,多個伺服器上的執行個體可以同時工作,他們通過一個內部的網路進行通訊。如果一台伺服器不能提供服務的話,另一台會接管它的工作,特別是在關鍵的業務有很大的潛力。

 3、在啟動並執行資料庫中資料檔案中是不是可能存在沒有被提交的資料?

      這是可能存在的,因為使用者資料檔案的資料是由DBWR寫入的,DBWR是一個很底層的後台進程,不負責與使用者互動。使用者的互動是由LGWR完成的。

4、在問題3中,如果存在沒有寫入的資料,那麼機器突然斷電,資料完整性會不會損壞?

      不會的,因為資料庫的完整性是LGWR來保證的,而且ORACLE保證了DBWR寫入資料檔案的任何修改已經被記錄在重做記錄檔中。當系統再次啟動的時候,通過讀取重做記錄檔就可以知道那些資料沒有被提交。這時候ORACLE 會自動復原那些資料。所以說聯機日誌的損壞,特別是當前聯機日誌的損壞,對資料庫的影響是巨大的,可能會導致資料庫的不完整。

5、資料檔案損壞會遺失資料嗎?

      可以這麼說,如果你有備份和歸檔,就不會。因為所有對資料修改的記錄都在重做日誌中有記錄,所以不會遺失資料,你只要恢複以前的備份再用歸檔記錄檔恢複和當前的線上重做日誌就可以恢複所有資料。

 6、線上重做日誌損壞會遺失資料嗎?

      線上日誌對資料庫的損壞是極大的,所以不僅可能遺失資料,還可能引起資料庫的不同步。在重做日誌中的所有commit的記錄都會丟失,這也是Oracle 為什麼要對線上重做記錄檔做鏡像的原因。任何的資料丟失都是不允許的。

 7、我在事務能不能指定不寫復原段?

      不可以的,寫復原段是ORACLE保證一致性讀和事務一致性的根本。復原段是高寫入段,建議把它放到單獨的裝置上來。 對於DDL語句,如DROP,TRUNCATE卻可以不寫復原段(沒有UNDO資訊),所以對於整個表的刪除,如果資料量比較大,建議用Truncate Table的方法。 不寫聯機日誌也是不可能的,但可以在某些特定操作中,可以寫很少的聯機日誌,如以NOLOGGING的方式通過Create table tablename as select建立表,或以Append的方式Insert資料到表,或直接載入等操作。


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。