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

Oracle學習筆記一 初識Oracle,oracle學習筆記初識

編輯:Oracle教程

Oracle學習筆記一 初識Oracle,oracle學習筆記初識


數據庫簡介

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

定義

  數據庫,簡單來說是本身可視為電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。

  數據庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗余度的特點、是與應用程序彼此獨立的數據集合。   在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的“倉庫”,並根據管理的需要進行相應的處理。   例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數據庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"數據庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。[來自百度百科]

Oracle數據庫簡介

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

 Oracle 數據庫結構

  

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

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

  

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

  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 的邏輯組件包括:數據庫->表空間->段->區->數據庫->模式。

  [該兩段來自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 數據庫的開發流程

 

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