Oracle學習筆記一 初識Oracle

數據庫簡介

  數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。SQL 是 Structured Query Language(結構化查詢語言)的首字母縮寫詞。html

定義

  數據庫,簡單來講是自己可視爲電子化的文件櫃——存儲電子文件的處所,用戶能夠對文件中的數據進行新增、截取、更新、刪除等操做。數據庫

  數據庫指的是以必定方式儲存在一塊兒、能爲多個用戶共享、具備儘量小的冗餘度的特色、是與應用程序彼此獨立的數據集合。緩存

  在經濟管理的平常工做中,經常須要把某些相關的數據放進這樣的「倉庫」,並根據管理的須要進行相應的處理。服務器

  例如,企業或事業單位的人事部門經常要把本單位職工的基本狀況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就能夠當作是一個數據庫。有了這個"數據倉庫"咱們就能夠根據須要隨時查詢某職工的基本狀況,也能夠查詢工資在某個範圍內的職工人數等等。這些工做若是都能在計算機上自動進行,那咱們的人事管理就能夠達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也須要創建衆多的這種"數據庫",使其能夠利用計算機實現財務、倉庫、生產的自動化管理。[來自百度百科]網絡

Oracle數據庫簡介

 

  

  上圖是數據庫的使用原理,用戶經過網絡向數據庫服務器發送請求,數據庫處理請求,再向用戶返回數據數據結構

 

 Oracle 數據庫結構

  

  oracle數據庫結構分爲物理結構和邏輯結構。oracle

  物理結構:物理組件就是Oracle數據庫所使用的操做系統物理文件。咱們能夠在安裝目錄下的 product\10.2.0\oradata\orcl 目錄下進行查看,在生產環境中不一樣的文件放在不一樣的目錄,根據用戶訪問的頻繁狀況來作決定。

  

  1)、主要物理文件可分爲三類:
  i、數據文件:數據文件用於存儲數據庫數據,如表、索引數據等。
  ii、控制文件:控制文件是記錄數據庫物理結構的二進制文件。
  iii、在線日誌文件:記錄對數據庫的全部修改信息,用於故障恢復。
  注意:丟失這些文件,數據庫不能夠繼續運行,須要進行介質恢復。less

  2)、非主要物理文件包括:
  參數文件、密碼文件、告警和跟蹤文件、歸檔日誌文件、備份文件。
  參數文件分爲pfile文件和spfile文件,位於ORACLE_HOME\DATABASE目錄下,9i開始默認不使用sfile文件,如spfileorcl.ora文件。
  密碼文件:sys用戶密碼,位於ORACLE_HOME\DATABASE目錄下,如pwdorcl.ora文件。
  查看是否有歸檔日誌:archive log list。
  ORACLE_HOME: D:\dev\oracle\product\10.2.0\db_1
  注意:丟失這些文件,數據庫仍然能夠繼續運行,不須要進行介質恢復。性能

  邏輯結構:數據庫的邏輯結構是從邏輯的角度分析數據庫的組成。

  Oracle 的邏輯組件包括:數據庫->表空間->段->區->數據庫->模式。url

  [該兩段來自Ruthless文章]

Oracle 實例

  Oracle 實例是後臺進程和內存結構的集合

  

 

Oracle 實例內存  

  當服務器進程啓動時分配程序全局區,Oracle 的內存結構包含如下兩個內存區

  

 

  

系統全局區

  數據庫信息存儲於SGA,由多個數據庫進程共享

  

  共享池

  • 共享池是對SQL、PL/SQL程序進行語法分析、編譯、執行的內存區域
  • 共享池由庫緩存和數據字典緩存組成。
  • 共享池的大小直接影響數據庫的性能。

  數據緩衝區

  • 用於存儲從磁盤數據文件中讀入的數據,全部用戶共享。
  • 服務器進程將讀入的數據保存在數據緩衝區中,當後續的請求須要這些數據時能夠在內存中找到,不須要再從磁盤讀取,提升了讀取速度。
  • 數據緩衝區的大小對數據庫的讀取速度有直接的影響。

  日誌緩衝區

  • 日誌記錄數據庫的全部修改信息,日誌信息首先產生於日誌緩衝區。
  • 當日志緩衝區的日誌數據達到必定數量時,由後臺進程將日誌數據寫入日誌文件中。
  • 相對來講,日誌緩衝區對數據庫的性能影響較小。

程序全局區

  • 程序全局區(PGA)包含單個服務器進程所需的數據和控制信息
  • PGA是在用戶進程鏈接到數據庫並建立一個會話時自動分配的,保存每一個與Oracle 數據庫鏈接的用戶進程所需的信息
  • PGA爲非共享區,只能單個進程使用,當一個用戶會話結束,PGA釋放

 

Oracle 實例進程

  

  後臺進程是Oracle數據庫爲了保持最佳系統性能和協調多個用戶請求而設置的。 Oracle 實例啓動時即建立一系列後臺進程

  

  PMON 進程監控進程

  • 清理出現故障的進程。
  • 釋放全部當前掛起的鎖定。
  • 釋放故障進程使用的資源。

  SMON 系統監控進程

  • 在實例失敗以後,從新打開數據庫時自動恢復實例。
  • 整理數據文件的自由空間,將相鄰區域結合起來。
  • 釋放再也不使用的臨時段。

  DBWR 數據寫入進程

  • 管理數據緩衝區,將最近使用過的塊保留在內存中。
  • 將修改後的緩衝區數據寫入數據文件中。

  LGWR 日誌寫入進程

  • 負責將日誌緩衝區中的日誌數據寫入日誌文件。
  • 系統有多個日誌文件,該進程以循環的方式將數據寫入文件。

Oracle 主要組件

  

會話

  • 會話是用戶與 Oracle 服務器的單個鏈接
  • 當用戶與服務器創建鏈接時建立會話
  • 當用戶與服務器斷開鏈接時關閉會話

  

Oracle 邏輯組件

  數據庫的邏輯結構是從邏輯的角度分析數據庫的組成。Oracle 的邏輯組件包括:

  

  

表空間  

  • 表空間是數據庫中最大的邏輯單位,一個 Oracle 數據庫至少包含一個表空間,就是名爲SYSTEM的系統表空間。
  • 每一個表空間是由一個或多個數據文件組成的,一個數據文件只能與一個表空間相關聯。
  • 表空間的大小等於構成該表空間的全部數據文件大小之和。

  建立表空間的語法是:

  CREATE TABLESPACE tablespacename

  DATAFILE ‘filename’ [SIZE integer [K|M]]

  [AUTOEXTEND [OFF|ON]];

  • 段是構成表空間的邏輯存儲結構,段由一組區組成。
  • 按照段所存儲數據的特徵,將段分爲四種類型,即數據段、索引段、回退段和臨時段。

  • 區爲段分配空間,它由連續的數據塊組成。
  • 當段中的全部空間已徹底使用時,系統自動爲該段分配一個新區。
  • 區不能跨數據文件存在,只能存在於一個數據文件中。

數據塊

  • 數據塊是Oracle服務器所能分配、讀取或寫入的最小存儲單元。
  • Oracle服務器以數據塊爲單位管理數據文件的存儲空間。

模式

  • 模式是對用戶所建立的數據庫對象的總稱。
  • 模式對象包括表、視圖、索引、同義詞、序列、過程和程序包等。

使用 Oracle 數據庫的開發流程

相關文章
相關標籤/搜索