Oracle資料庫課堂之Oracle體系結構

2021-10-04 18:40:14 字數 4881 閱讀 6185

伺服器例項資料庫通過例項連線

記憶體結構包括sgapga

管理oracle資料庫的啟動、關閉

oracle的體系包括:oracle伺服器、例項資料庫關鍵檔案使用者程序和伺服器程序

oracle第一步啟動例項(初始化引數檔案)密碼檔案

使用者程序服務程序oracle伺服器關鍵檔案(使用者程序和服務程序進行互動然後再由服務程序與伺服器進行互動然後伺服器通過關鍵檔案建立例項)

oracle資料庫是資料的集合, oracie把這些資料作為乙個完整的單位來處理。

oracle伺服器是乙個資料庫管理系統,它提供一種開放的,全面的,和整合的資訊管理方法。

oracle伺服器實際上是乙個邏輯上的概念。乙個oracle伺服器與乙個計算機不是一對一的關係,有時候乙個計算機可以裝多個oracle伺服器,只是一般情況下,乙個計算機裝乙個oracle伺服器。

一般情況有三種安裝方式:

1、基於主機方式

使用者可直接在安裝了資料庫的計算機上登入。

2、客戶端一伺服器(client一server)(兩層模型)

使用者通過個人計算機登入應用伺服器,再通過伺服器訪問真正的資料庫

oracle資料庫是由例項資料庫兩部分組成。

為了使客戶程式能夠訪問oracle資料庫系統,必須在伺服器端 啟動例項並開啟資料庫,即啟動oracle資料庫系統。

oracle伺服器=例項+資料庫

oracle例項:一組oracle後台程序/執行緒以及在伺服器分配的共享記憶體區

oracle資料庫:一些物理檔案的集合。

例項=共享記憶體結構+後台程序

共享記憶體結構(系統全域性區一sga)

注意:

oracle例項是一種訪問資料庫的機制

例項一旦啟動,即分配系統全域性區(sga)和啟動所需的後台程序。

乙個例項在其生命週期最多只能裝載和開啟乙個資料庫乙個資料庫可有多個例項裝載和開啟。

共享記憶體結構(sga)

共享池( shared pool )

資料庫高速緩衝區( database buffer cache )

重做日誌緩衝區( redo log buffer )

其他的一些結構(如鎖和統計資料等)

後台程序

以下5個後台程序是必須的:

smon (系統監督程序)

pmon (程序監督程序)

dbwr (資料庫寫程序)

lgwr (重做日誌寫程序)

ckpt (校驗點程序)》

注:這5個後台程序中必須都啟動,任何-個未能啟動,該例項都將自動關閉。

在啟動oracle伺服器時,實際是在伺服器的記憶體中建立乙個oracle例項,然後由這個例項來訪問和控制磁碟的資料檔案。

在使用者連線到資料庫時,實際上是連線到例項中,由例項負責與資料庫的通訊,然後再將處理結果返回給使用者。

oracle資料庫的儲存結構分為邏輯儲存結構物理儲存結構

邏輯儲存結構

邏輯儲存結構是oracle資料庫儲存結構的核心

在邏輯上, oracle將儲存的資料劃分為乙個個小單元來進行儲存和維護,高一級的儲存單元由乙個或多個低一級的儲存單元組成

oracle的資料庫邏輯儲存結構的組成

oracle的資料庫是由乙個或多個表空間組成

乙個表空間由一組段(segment)組成

乙個段(seg ment)由一組盤區(extent)組成

乙個盤區(extent)由一批資料塊(block)組成

乙個資料塊對應乙個或多個物理塊(os block)

物理儲存結構

資料庫物理儲存結構主要包括以下三類作業系統檔案:資料檔案(datafiles)控制檔案(control file)重做日誌檔案(redo log file)

資料檔案(.dbf)

資料檔案(datafiles)是物理儲存oracle資料庫資料的檔案,包含了資料庫中真正的資料

特點:

1、儲存空間在物理上表現為資料檔案,而在邏輯上表現為表空間

2、在為資料庫建立表空間的時候,oracle將同時建立該錶空間的資料檔案。

3、乙個資料檔案只能屬於乙個表空間,乙個表空間可包含乙個或者多個資料檔案。

4、每乙個資料檔案只與乙個資料庫相聯絡,但乙個資料庫可存放在同乙個表空間的多個資料檔案中。

控制檔案(.ctl)

控制檔案(control file)是乙個較小的二進位制檔案,用於描述資料庫物理結構,包含了維護和校驗資料庫一致性所需要的資訊。

描述資訊:資料庫建立日期、資料庫名、資料庫中所有資料檔案和日誌的檔名及路徑。恢復資料庫時所需的同步資訊。

注意:每個資料庫至少有乙個控制檔案,也可以同時擁有多個控制檔案,但乙個控制檔案只能屬於乙個資料庫。

控制檔案在開啟和訪問資料庫時都要訪問該檔案。故控制檔案必須在整個資料庫開啟期間始終保持可用狀態

重做日誌檔案(.log)

重做日誌檔案( redo log file )記錄所有對資料庫資料的修改,以備恢復資料時使用。

特點:

1、重做日誌檔案是以迴圈方式進行寫操作(在重新寫入重做日誌檔案時,原來儲存的資訊將被覆蓋)

2、每乙個資料庫至少包含兩個日誌檔案組(重做日誌檔案和歸檔重做日誌檔案)

oracle其他關鍵檔案

oracle伺服器還需要其他一些檔案 ,這些檔案不屬於資料庫。其中包括:初始化引數檔案密碼檔案歸檔重做日誌檔案

初始化引數檔案

初始化引數檔案分為:靜態初始化引數檔案和動態初始化引數檔案。

引數檔案的型別:

文字檔案(oracle 9i以前),可直接使用作業系統下的文字編輯器對其內容進行修改。該檔案只在建立資料庫或啟動例項時才被訪問,在修改該檔案之前必須關閉例項。檔名格式:init.ora

伺服器引數檔案(二進位制引數檔案), 檔名格式為spfile.ora

密碼檔案

密碼檔案包含了資料庫管理員其他特權使用者在啟動和關閉例項時所需的使用者名稱和密碼。

密碼檔案是用來給遠端超級使用者去驗證密碼的。為了防止別人通過破解遠端使用sysd ba許可權登入我們的資料庫,我們可以去掉我們的密碼檔案。

windows下的存放位置:$ oracle_ h 0 me/data base/pw d%oracle_ sid%.ora

歸檔重做日誌檔案

在重做日誌檔案被覆蓋前 oracle能夠將已經寫滿的重做日誌檔案通過複製作業系統檔案的方式儲存到指定的位置。儲存下來的重做日誌檔案的集合稱歸檔重做日誌

注意:

oracle資料庫只有處於歸檔模式下,系統才會對重做日誌檔案執行歸檔操作

歸檔重做日誌檔案會占用大量的硬碟,它是犧牲硬碟空間來獲取資料安全性的。

Oracle資料庫報ora 28547錯誤解決方案

在家裡面使用本地資料庫用plsql可以正常開啟,來到公司後發現,程式本身可以查出資料,但是卻不能夠用plsql直接開啟,開啟則報ora 28547錯誤 通過搜尋前人回答,證實以下方法可用 1 繫結你的ip位址,別讓其動態獲取 2 修改oracle的網路配置檔案,具體做法是 在oracle安裝目錄下搜...

Oracle資料庫的ORA 00257故障解決過程

問題描述 系統無法進入。在登入介面輸入使用者密碼後閃屏後仍顯示登入介面。測試庫正常。經確認資訊中心伺服器正常執行。問題檢查 在伺服器日誌檔案中發現 oracle 異常資訊 no session record.tid 6208 failure during processing of request ...

Oracle資料庫匯入報ORA 39083處理

故障描述 報錯資訊 ora 39083 物件型別 default role 建立失敗,出現錯誤 ora 01919 角色 role emsp 不存在 失敗的 sql 為 alter user bfpub mall default role connect role emsp 解決方案 既然匯入的時候...