資料庫簡單的一些原理概念
例項
例項(instance)是一組oracle後臺程式或執行緒以及一個共享記憶體區, 這些記憶體由同一個計算機上執行的執行緒或程式所共享。簡單的理解為:例項=後臺程式(執行緒)+ SGA。
資料庫
資料庫(database)物理作業系統檔案或磁碟的集合。資料庫=物理檔案(資料檔案+控制檔案+重做日誌檔案+臨時檔案)。資料庫主要用於儲存和檢索相關資訊,確保資料的一致性,並在例項失敗時恢復資料。
例項與資料庫的關係
資料庫可以由多個例項裝載和開啟,而例項可以在任何時間點裝載和開啟一個資料庫。實際上,準確地講,例項在其整個生存期中最多能裝載和開啟一個資料庫!
資料庫儲存結構
一般使用者不需要知道資料在資料庫中如何存放。然而對資料庫管理員來說,需要在安裝、配置資料庫時,決定資料的存放方式和位置;需要在系統執行過程中,調整資料存放以提高系統效能。如果資料庫管理員能夠在最初安裝、配置資料庫時,根據應用程式的特性,仔細地規劃、合理地安排資料的存放,就能夠極大地減少系統執行過程中對磁碟的 I/O 操作,這必然會帶來系統效能的提高。
資料庫儲存結構可分為物理結構和邏輯結構。
資料庫的物理結構
資料庫的物理結構是面向作業系統的,它描述資料庫中的資料的儲存形式。在物理上oracle資料庫檔案包括資料檔案、日誌檔案和控制檔案。
資料檔案(data files)
oracle資料庫中的資料,邏輯上存放在表空間裡,但物理上卻是存放在資料檔案裡的,資料檔案有如下特點,即每一個資料檔案只與一個資料庫相聯絡,資料庫檔案一旦建立,就不能改變大小,一個表空間可以包含一個或多個資料檔案等。
查詢資料檔案資訊資料字典和動態檢視:dba_data_files、v$datafile、v$dbfile。
日誌檔案(redo log files)
日誌檔案用於記錄資料庫所做的全部變更,以便在系統發生故障時進行恢復。每一個資料庫至少有兩個日誌檔案。相關資訊查詢表:v$logfile。
資料控制檔案(control files)
控制檔案雖然是一個較小的二進位制檔案,但很重要。如果控制檔案一旦被破壞,則無法對資料庫進行操作。為防止控制檔案被破壞,一般一個資料庫應至少有二個控制檔案,且分別放在不同的磁碟上,控制檔案的名字是記錄在引數control_files中的,或在v$controlfile表中查詢。控制檔案包括下列資訊:
1.告知例項資料庫和線上重做日誌檔案的位置。
2.控制檔案還告知了Oracle 其他一些事情,如已發生檢查點的有關資訊、數庫 名 (必須與DB_NAME引數匹配)、建立資料庫的時間戳、歸檔重做日誌的歷(有 時這會讓控制檔案變大)、RMAN 資訊等。
資料庫的邏輯結構
資料庫的邏輯元件包括表空間、段、區、塊和模式。
表空間是資料庫中一個最大的邏輯單位,一個oracle資料庫至少包含一個表空間。一個表空間中包含一個或多個段。一個段由多個區組成。一個區由多個塊組成,塊是進行讀寫操作的最小單元。
表空間(Table Space)
資料庫的邏輯儲存單位。一個資料庫可包含一個或多個表空間;一個表空間可跨越多個磁碟分配。一般地,在資料庫初始化時,系統總是自動建立一個預設表空間(如Oracle中的SYSTEM表空間),DBA事後可定義其他表空間。
段(Segment):
表空間中一種指定型別的邏輯儲存結構。有如下型別:
資料段:每個表/簇集有一個資料段,用於儲存其中的資料。
索引段:每個索引有一個索引段,用於儲存索引資料。
回滾段:由DBA建立,用於臨時儲存要回滾(撤消)的資訊,以便事務回滾。
臨時段:當一個SQL語句需要臨時工作區時,由DBMS建立,用完後再回收。
區(Extent)
一個段由一組區(有些地方稱範圍)組成,區(範圍)是資料庫儲存空間分配的邏輯單位。
資料塊(Block)
資料塊是資料庫中最小的資料組織單位與管理單位,oracle中的資料儲存於資料塊中。資料塊是oracle服務所能分配、讀取或寫入的最小儲存單元,取值範圍在2KB~64KB之間,預設大小與oracle版本無關。
模式(Schema)
模式是對使用者所建立的資料庫物件的總稱,在oracle資料庫中任何資料庫物件屬於一個特定使用者,一個使用者及其所擁有的物件稱為模式。模式物件包括表、檢視、索引、同義詞、序列、過程和程式包等。一個使用者也相同名稱的模式相關聯,因此,模式又稱為使用者模式。
資料字典
oracle資料字典是oracle資料庫的重要組成部分,它提供了諸如資料庫結構、資料庫物件空間分配和資料庫使用者等等有關的資料庫資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015605/viewspace-2883515/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫概念、原理、理論資料庫
- 簡單瞭解一下大資料的一些基本概念大資料
- 關於SQL資料庫一些簡單的筆記SQL資料庫筆記
- 簡單理解skywalking資料上報的span概念
- 資料庫的概念資料庫
- 簡單瞭解下Java中鎖的概念和原理Java
- Oracle資料庫-----資料庫的基本概念Oracle資料庫
- MySQL資料庫的基本使用簡單易懂MySql資料庫
- php簡單操作mysql資料庫的類PHPMySql資料庫
- 資料庫概論 (一)資料庫概念資料庫
- 資料庫——關係型資料庫MySQL--簡單使用資料庫MySql
- 分散式資料庫的一些重要概念和術語及誤區分散式資料庫
- 對GaussDB資料庫和資料管理的簡單介紹資料庫
- 資料結構的一些基本概念資料結構
- 資料庫表連線的簡單解釋資料庫
- 簡單的BBS論壇 資料庫設計資料庫
- Redis多個資料庫的概念Redis資料庫
- NoSQL資料庫概念與NoSQL資料庫家族SQL資料庫
- 基於json資料格式實現的簡單資料庫——jsonDBJSON資料庫
- 資料庫原理資料庫
- 一個通過rms寫成的小型資料庫引擎,簡單的資料庫引擎資料庫
- Oracle23ai 資料庫的簡單驗證OracleAI資料庫
- 新手必看!最簡單的MySQL資料庫詳解MySql資料庫
- 【postgresl】PG資料庫sql特性簡單解析資料庫SQL
- Flyway讓資料庫版本管理更簡單資料庫
- 資料庫索引的工作原理資料庫索引
- 資料庫基礎概念理解資料庫
- 【資料庫】簡單聊聊資料庫可以做什麼,有什麼用?資料庫
- 為什麼DBA需要資料庫廠商的資料庫概念文件資料庫
- SAP CRM訂單資料庫表CRMD_SHIPPING的填充原理資料庫
- 資料庫介紹--認識簡單的SQL語句資料庫SQL
- 簡單好用的資料庫管理:DBeaverEE mac啟用版資料庫Mac
- PHP 實現簡單的資料採集併入庫PHP
- [轉]Oracle資料庫ASH和AWR的簡單介紹Oracle資料庫
- 資料庫索引原理資料庫索引
- 簡單的選課系統(2)——資料庫的連線資料庫
- 簡單分析Flask 資料庫遷移詳情Flask資料庫
- SQLSERVER學習1——資料庫概念SQLServer資料庫