程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle實例Introduction

Oracle實例Introduction

編輯:Oracle數據庫基礎

當有人談到Oracle數據庫時,很可能指的是整個Oracle數據庫管理系統(DBMS);但是作為一個Oracle數據庫人員,你必須認識到數據庫和實例二者之間的重大區別—一個經常使非Oracle的系統管理人員混淆的區別。

為提供Oracle客戶所期望的不同程度的服務、靈活性與性能,數據庫的許多工作由實例完成,實例是一系列復雜的內存結構和操作系統進程。

除非使用並行Oracle服務器選項,否則每個Oracle數據庫都有一個實例與之相關,一個數據庫被唯一的一個實例裝載。Oracle實例結構允許RDBMS同時對來自多個用戶的不同種類事務的請求提供服務,與此同時提供一流的性能、容錯性、數據的一致性和安全性。

注意本章定義的術語“進程”是指在沒有用戶干預的情況下正在運行的任務。你的操作系統可能將之稱作“進程”,或者使用其他術語,例如任務、作業、線程和其他類似的術語。

在UNIX實現多任務操作系統後,Oracle實例是松散的結構方式。在一起工作的離散的進程在實現實例的目標的RDBMS中完成指定的任務。每一個進程都有各自的一個內存塊,該內存塊用於保存私有變量、地址堆棧和其他運行時的信息。進程間使用公共共享區並在公共共享區內完成它們的工作。公共共享區是能夠在同一時間內被不同程序和不同進程讀寫的一塊內存區。
該內存塊稱為系統全局區(SGA)。

注意:因為SGA駐留在一個共享內存段中,所以它經常被稱作共享全局區。

你可以認為後台進程就像數據庫的手,直接處理數據庫的組件;你也可以認為SGA就像大腦,在必要時間接地調度手處理它們的信息與存儲檢索。SGA參與發生在數據庫中全部的信息和服務器的處理。

注意:單用戶的Oracle配置(例如PersonalOracleLite),不使用多進程執行數據庫的功能。相反,所有的數據庫功能由一個Oracle進程完成。由於這個原因,單用戶也稱為單進程Oracle。

下面我們來了解下實例的組成:

許多參數和現成的技術能夠幫你配置Oracle實例,以最好地支持你的應用和要求。配置實例對象以獲得最高性能在多數情況下是一個試驗和錯誤過程。你可以使用可能的參數值啟動,但是只有經過一時間的監控才會得出所有設置和變量的最好的可能組合。

配置Oracle實例參數包括改變必要的init.ora參數和在數據庫狀態之間切換(打開、關閉數據庫)。在init.ora文件中有大量的參數,這些參數有些是無文檔說明的。雖然你不應該改變或者增加你不熟悉的參數,但是可以查詢內部表x$ksppi以查看數據庫所有可能的初始化參數。ksppinm和ksppdesc列分別給出參數名和對參數的簡要描述。

注意:改變初始化參數而沒有清楚地理解這種改變可能的後果,是非常危險的。有許多參數純粹是出於單純的診斷原因而存在的,改變它能導致你的數據庫處於非同步狀態或者崩潰狀態。無文檔說明的參數以下劃線開頭命名。除非你有足夠的把握,否則不要輕易增加或改變init.ora文件的關鍵字或值。

對於大多數部分,實例的配置主要關心在SGA中的對象,你會發現你的數據庫配置與調整時間主要花在這些結構上。但是,與後台進程相關的問題和配置選項也需要進行解釋。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved