一、資料庫
資料庫(database)是一個資料集合。無論資料庫是採用關係結構還是物件導向結構,oracle資料庫都將其資料存放在資料檔案中。在其內部,資料庫結構資料對檔案的邏輯映射,使不同的資料分開儲存,這些邏輯劃分稱為資料表空間。
資料表空間和檔案介紹:
1、資料表空間
資料表空間(tablespace)是資料庫的邏輯劃分,每個資料庫至少有一個資料表空間,叫做系統資料表空間(system資料表空間)。一個資料表空間只能屬於一個資料庫。每個資料表空間由同一個磁碟上的一個或多個檔案組成,這些檔案稱為資料檔案。
資料表空間的特性:
1)控制資料庫資料磁碟分配;
2)限制使用者在資料表空間中可以使用的磁碟空間大小;
3)資料表空間具有online,offline,readonly,readwrite屬性;
修改資料表空間的屬性:
SQL>altertablespace資料表空間名稱屬性;
查詢資料表空間狀態:
SQL>selecttablespace_name,statusfromdba_tablespaces; |
注意:system,undo,temp資料表空間不能設為offline屬性。
4)完成部分資料庫的備份與恢複;
5)資料表空間通過資料檔案來擴大,資料表空間的大小等於構成該資料表空間的所以資料檔案的大小之和。
查詢資料表空間與資料檔案對應關係:
SQL>selecttablespace_name,bytes,file_namefromdba_data_files; |
基於資料表空間的幾個操作:
1)查詢使用者預設資料表空間:
SQL>selectusername,default_tablespacefromdba_users; |
2)查詢表與儲存該表的資料表空間:
SQL>selecttable_name,tablespace_namefromuser_tables; |
3)修改使用者預設資料表空間:
SQL>alteruserusernamedefaulttablespacetablespace_name; |
4)將資料從一個資料表空間移動到另一個資料表空間:
SQL>altertabletable_namemovetablespacetablespace_name; |
2、資料檔案
每個資料表空間由同一個磁碟上的一個或多個檔案組成,這些檔案叫做資料檔案(datafile),資料檔案只能屬於一個資料表空間。資料檔案建立後可以改變大小。建立新的資料表空間需要建立新的資料檔案。資料檔案一旦加入到資料表空間中,就不能從資料表空間中移走,也不能與其他資料表空間發生聯絡。
資料庫必須的三類檔案是datafile,controlfile,redologfile。其他檔案prameterfile,passwordfile,archivedlogfiles並不是資料庫必須的,他們只是次要資料庫的。
查看資料庫的物理檔案組成:
1)查看資料檔案:SQL>select*fromv$datafile;
2)查看控制檔案:SQL>select*fromv$controlfile;
3)查看記錄檔:SQL>select*fromv$logfile。
二、執行個體
通俗的講執行個體就是操作oracle資料庫的一種手段。資料庫執行個體也稱作伺服器,是用來訪問資料庫檔案集的儲存結構及後台進程的集合。一個資料庫可以被多個執行個體訪問(稱為真正的應用群集選項)。決定執行個體的大小及組成的各種參數或者儲存在名稱init.ora的初始設定檔案中,或者隱藏在資料庫內部的伺服器參數檔案中。通過spfile引用該檔案,spfile儲存在spfile.ora檔案中。執行個體啟動時讀取初始設定檔案,資料庫系統管理員可以修改該檔案,對初始設定檔案的修改只有在下次啟動時才有效。
Instance分為兩部分:
1、memorystructure(記憶體結構)
memorystructure分為兩部分:SGA(SystemGlobalArea)區是用於儲存資料庫資訊的記憶體區,該資訊為資料庫進程所共用。它包含Oracle伺服器的資料和控制資訊,它是在Oracle伺服器所駐留的電腦的實際記憶體中得以分配,如果實際記憶體不夠再往虛擬記憶體中寫。
包括:
◆sharepool
◆datafasebuffercache
◆redologbuffer
◆otherstructures
PGA(ProgramGlobalArea)區包含單個伺服器處理序或單個後台進程的資料和控制資訊,與幾個進程共用的SGA正相反PGA是只被一個進程使用的地區,PGA在建立進程時分配在終止進程時回收。
2、backgroundprocess(後台進程)
包括:PMON負責在一個Oracle進程失敗時清理資源。
◆SMON檢查資料庫的一致性如有必要還會在資料庫開啟時啟動資料庫的恢複。
◆DBWR負責將更改的資料從資料庫緩衝區快取寫入資料檔案。
◆LGWR將重做日誌緩衝區中的更改寫入線上重做記錄檔。
◆CKPT負責在每當緩衝區快取中的更改永久地記錄在資料庫中時,更新控制檔案和資料檔案中的資料庫狀態資訊。
相關文章】
- 分析Oracle/Oracle Forms中多用途代碼