程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle體系結構理解(1)

Oracle體系結構理解(1)

編輯:Oracle教程

Oracle體系結構理解(1)


數據庫與實例   數據庫(database):物理操作系統文件或者磁盤的集合。使用Oracle的ASM(自動存儲管理)時,或者在使用RAW分區時,數據庫可能不作為文件系統中單獨的文件,但是定義仍然不變。   注:ASM在我第一次接觸的時候,暫時被解釋為和LVM具有相似功能的管理機制。   實例(instance):一組Oracle後台進程(Linux與Unix下)以及一個共享內存區(內存結構),就算沒有磁盤存儲,實例也可以存在。   注:數據庫可以由多個實例裝載和打開,而實例可以在任何時間點轉載和打開僅僅一個數據庫。也就是說,在同一個時間,通過當前實例僅僅可以訪問一個數據庫並進行交互。   當我們執行一個僅軟件安裝的數據庫的操作,並不包括“啟動”數據庫的行為的時候,除軟件之外什麼都沒有。   此時$ORACLE_HOME/dbs目錄(oracle的工作目錄)下沒有任何文件,我們使用ls -l查看會發現一下信息:   Total 0   其中不存在init.ora文件(parameter file 參數文件),此時通過ps命令也不會發現任何關於oracle的進程(除了grep oracle操作出現的oracle關鍵字之外),如果建庫執行dbca創建數據庫後,執行sqlplus / as sysdba,作為sysdba不使用用戶密碼認證訪問$ORACLE_SID所指定的實例名後,會生成init.ora的參數文件。      在訪問數據庫後,系統上執行ps aux就會發現許多進程,他們是以ora_開頭的,包括smon(系統監控),ckpt(檢查點),pmon(進程監控)等進程。   注:一個實例在其生存期中最多只能裝載和打開一個實例,如果關閉數據庫(alter close database;),那麼則生存周期完畢(回收內存空間,結束相關進程),如果再想打開一個數據庫,那麼需要丟棄該實例,創建一個新的實例(嘗試shutdown關閉實例後再startup再開啟相當於重新建立實例,可以打開數據庫)。   這裡就是Oracle的instance與database概念的劃分。

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