oracle參數文件
點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了!!!
參數文件主要用來記錄數據庫的配置,是 Oracle 中非常重要的文件。Instance 在啟動階段讀取參數文件 ,并根據參數文件中的參數設置來配置數據庫。參數文件是用來約束oracle實例一種行為的參數。可以設置數據庫內存,以及并發數目。參數文件中常用的參數文件:
SGA_TARGET;
PGA_AGGREGATE_TARGET;
DB_CACHE_SIZE;
DB_FILES;
LOG_ATCHIVE_DEST_n;
USER_DUMP_DEST。
3.1 pfile :(parameter file)靜態參數文件1)文本文件,可以使用vi,vim等編輯器修改參數;3)pfile 參數文件可以不在 database server 上;3.2 spfile :(system parameter file) 動態參數文件1)二進制文件,不可以通過編輯器修改,可以使用 EM 或指令來修改(alter system|session set parameter_name = values <>);3)必須在 database server 端的指定路徑($ORACLE_HOME/dbs)下;
spfilesid.ora --> spfile.ora -->initsid.ora
內存分配(SGA和PGA)SGA:是用于存儲數據庫信息的內存區,該信息為數據庫進程所共享。它包含Oracle服務器的數據和控制信息,它是在Oracle服務器所駐留的計算機的實際內存中得以分配,如果實際內存不夠再往虛擬內存中寫。
Oracle的系統全局區SGA由哪幾個部分組成?它們的作用是什么?存放著Oracle系統最近使用過的數據庫數據塊(oracle數據庫的數據存儲于數據塊中,數據塊是數據庫中最小的數據組織單位oracle是以數據塊為單位管理數據文件的存儲空間,數據塊的取值范圍在2KB~64KB之間,連續的數據塊可組成Oracle中的另一個概念(區),區是電腦磁盤空間中分配的最小單位。oracle數據庫-->表空間-->段-->區-->數據塊(在oracle11g中,數據塊分為頭部信息區和存儲區,頭部信息區不存放數據,但是存放有關存儲區中表數據、索引數據的的相關信息起到引導的作用則存儲區真正存放數據記錄。)相當于程序高速緩沖區,所有的用戶程序都存放在共享SQL池中。用于緩沖區在對數據進行修改的操作過程中生成的重做記錄。SGA是oracle最重要的一個內存區域。里面可以放數據塊,sql語句的解析以及redo日志。PGA代表一個會話分配的內存,一個會話分配的內存叫做一個PGA。總和就是oracle允許所有的會話使用內存的總和,SGA加上PGA基本上就是使用內存的一個總和了。db_cache_size 在sga里面,sga包括好幾部分,一部分是放數據塊的,一個放數據的地方。從磁盤里面將數據讀取到內存里面。db_cache_size是給數據塊分配多大內存。db_files 數據庫實例允許打開多少個數據文件。
6.1 這些參數也可以在數據庫里面看到show parameter要查看的參數名稱。但是這種方式不可以看到所有的初始化參數。要看所有的初始化參數有一張視圖v$parameter。6.2 這個視圖直接看name,value就行,所有的初始化參數和值都可以看到。Oracle啟動的時候使用什么初始化參數,從oracle 10g開始就使用spfile了,再早之前使用pfile。Pfile是一個文本文件,oracle啟動的時候從文本文件里面讀取初始化參數。文本文件的好處就是容易修改。到了10g之后就不要這個文本文件了,默認是spfile。spfile其實就是一個二進制文件二進制文件的優勢可以在線修改,隨時都可以修改里面的內容。可以看到是使用spfile啟動oracle,show parameter spfile值是空的就說明你是用pfile啟動的,反過來也是的了。create spfile from pfile;create pfile from spfile;7.4 Alter system set 配置參數=數值 scope=。1)Scope=memory 修改后立刻生效但是重啟之后不會生效;
2)Scope=spfile 有的參數是不允許修改當前的狀態的,如sga,必須修改完之后數據庫重啟才生效,所以不能在memory,both模式下修改;
只能先將配置的值寫到spfile里面,再重啟才生效。3)不加scope選項默認是Scope=both,即把參數在內存里面改了即當前生效了同時寫入到spfile里面去了。既改內存又改spfile。
修改數據庫的參數有兩種方式:
8.1 將spfile轉為pfile。之后通過修改pfile里面的內容,修改完之后啟動數據庫,之后啟動數據庫讓pfile生效。8.2 通過命令的方式進行修改。通過命令方式改有些參數可以直接改,改完當前生效。有些參數不能當前生效只能先寫到spfile里面再重新啟動讓其生效。參數文件是控制實例行為的,因為實例才會去讀取參數文件。數據庫啟動就是啟動實例的過程,啟動實例就是開辟oracle自己的內存之后啟動后臺進程。進程和內存就構成的實例。后臺進程是用來聯系內存和數據文件的,內存是用來存放數據的。進程內存都有了整個數據庫就開始工作了。
在linux里面spfileoradb.ora為二進制文件,initoradb.ora 為文本文件。二進制格式spfile+sid+.ora。文本格式為init+sid+.ora。
spfile和pfile之間是可以相互之間互相轉換的。spfileoradb.ora(之前刪除了,后面又重新創建了)。如果將pfile和spfile都刪除了,那么數據庫就無法啟動到nomount狀態。所以spfile和pfile必須存在一個才能將數據庫啟動到nomount狀態。默認情況下由spfile和pfile,oracle是以spfile啟動的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129607.html