日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle spfile和pfile文件

發(fā)布時(shí)間:2024/9/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle spfile和pfile文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

pfile(Parameter?File)從oracle8i開始使用,在oracle9i中也可以用。它以文本文件的形式存在,可以用vi等編輯器對 其中數(shù)據(jù)庫參數(shù)進(jìn)行修改。文件格式為initSID.ora。Oracle?9i在安裝時(shí)為每個(gè)數(shù)據(jù)庫建立了一個(gè)Pfile,默認(rèn)的名稱為“init+例 程名.ora”。

???Oracle8i使用pfile存儲(chǔ)初始化參數(shù)配置,這些參數(shù)在實(shí)例啟動(dòng)時(shí)被讀取,任何修改需要重起實(shí)例才能生效。

???spfile專用于oracle9i及以后版本,以二進(jìn)制文件形式存在,含有數(shù)據(jù)庫及例程的參數(shù)和數(shù)值,能夠使用RMAN進(jìn)行備份,但不能用文本編輯工具打開,不能用vi編輯器對其中數(shù)據(jù)庫參數(shù)進(jìn)行修改。文件格式為spfileSID.ora。

????????Oracle9i及以后版本,使用spfile存儲(chǔ)初始化參數(shù)配置,支持使用ALTER?SYSTEM或ALTER?SESSION來動(dòng) 態(tài)修改那些可動(dòng)態(tài)修改的參數(shù),任何更改能夠立即生效,您能夠選擇使更改只應(yīng)用于當(dāng)前實(shí)例還是同時(shí)應(yīng)用到spfile。這就使得任何對spfile的修改都 能夠在命令行完成,我們能夠完全告別手工修改初始化參數(shù)文檔,這就大大減少了人為錯(cuò)誤的發(fā)生。

???除了第一次啟動(dòng)數(shù)據(jù)庫需要pfile(然后根據(jù)pfile創(chuàng)建spfile),我們能夠不再需要pfile,ORACLE強(qiáng)烈推薦使用spfile,應(yīng)用其新特性來存儲(chǔ)和維護(hù)初始化參數(shù)配置。

???spfile改正了pfile管理混亂的問題,在多結(jié)點(diǎn)的環(huán)境里,pfile會(huì)有多個(gè)image,啟動(dòng)時(shí)候需要跟蹤最新的image。這是個(gè)煩瑣的 過程。?用spfile以后,所有參數(shù)改變都寫到spfile里面(只要定義scope=spfile或both),參數(shù)配置有個(gè)權(quán)威的來源。

pfile和pfile的區(qū)別
? ?
? ? 就Oracle的spfile和pfile的區(qū)別主要是spfile的修改是可以在線的,而pfile的修改必須關(guān)閉數(shù)據(jù)庫,到參數(shù)文件所在路徑下通過 vi或記事本等文本編輯工具修改。(因?yàn)閰?shù)文件里面的內(nèi)容太多,編輯起來容易導(dǎo)致錯(cuò)誤的編輯到其它的參數(shù),從而導(dǎo)致數(shù)據(jù)庫無法起來,所以在9i以前一般 都是要備份pfile后再來做參數(shù)的修改,而且修改任何參數(shù)都需要停庫,非常的不方便;在9i以后的spfile就可以同通過命令修改指定的參數(shù)了,而且 有很多參數(shù)都不用重啟數(shù)據(jù)庫,能夠在線生效,這個(gè)在線生效的參數(shù)會(huì)隨著數(shù)據(jù)庫的版本增高而增加。如果參數(shù)修改有問題數(shù)據(jù)庫起不來了可以在nomount狀 態(tài)下創(chuàng)建成pfile再修改回來即可。)
修改spfile參數(shù)的三種模式:
scope=both? ?? ? 立即并永久改變,(默認(rèn)模式)
scope=spfile? ???下次啟動(dòng)執(zhí)行新的改變。
scope=memory? ???立即臨時(shí)改變下次啟動(dòng)新參數(shù)失效

spfile 修改的方法:
SQL> alter system set processes = 100 scope=both;? ?? ?? ?? ?? ?? ?----該參數(shù)不支持動(dòng)態(tài)修改,必須修改完后重啟數(shù)據(jù)庫
alter system set processes = 100 scope=both
? ?? ?? ?? ?? ???*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

-------------------------------------------------------------------------------------------------------------------------------
SQL> show parameter pga;
NAME? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?TYPE? ???VALUE
------------------------------------ -------- ------
pga_aggregate_target? ?? ?? ?? ?? ???big inte 798M
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ger
SQL> alter system set pga_aggregate_target = 500m scope=both;? ?? ?-----該參數(shù)支持動(dòng)態(tài)修改,所以就立即生效了

System altered.
SQL> show parameter pga;
NAME? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?TYPE? ???VALUE
------------------------------------ -------- ------
pga_aggregate_target? ?? ?? ?? ?? ???big inte 500M
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ger
SQL>


SQL> alter system set processes = 100 scope=spfile;? ?? ?? ?? ?? ? ----修改完后重啟數(shù)據(jù)庫能生效,不信你試試。
System altered.
SQL> alter system set pga_aggregate_target = 700m scope=spfile;? ? ----當(dāng)然也可以選擇數(shù)據(jù)庫下次啟動(dòng)的時(shí)候生效。
System altered.

SQL> alter system set processes = 100 scope=memory;? ?? ?? ?? ?? ? ----因?yàn)樵搮?shù)不支持動(dòng)態(tài)修改,同樣也就無法實(shí)現(xiàn)立即生效,下次啟動(dòng)失效。
alter system set processes = 100 scope=memory

? ?? ?? ?? ?? ???*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified


SQL>
SQL> alter system set pga_aggregate_target = 600m scope=memory;? ? ---因?yàn)樵搮?shù)支持動(dòng)態(tài)修改,當(dāng)然也就可以實(shí)現(xiàn)立即生效,下次啟動(dòng)失效咯。
System altered.
SQL>

如果使用的是pfile則無法通過命令進(jìn)行修改,會(huì)報(bào)ORA-02095或32001錯(cuò)誤。
SQL> alter system set processes = 100;
alter system set processes = 100
? ?? ?? ?? ?? ???*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified


SQL> alter system set processes = 100 scope=spfile;
alter system set processes = 100 scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE specified at startup


SQL> alter system set processes = 100 scope=both;
alter system set processes = 100 scope=both
? ?? ?? ?? ?? ???*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified


SQL> alter system set processes = 100 scope=memory;
alter system set processes = 100 scope=memory
? ?? ?? ?? ?? ???*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

pfile文件路徑/admin/pfile下面

通過create pfile='e:\initeyglen.ora' from spfile;保存

startup pfile='e:\initeyglen.ora'

create spfile from pfile='e:\initeyglen.ora';?? //新的spfile生效,spfile是二進(jìn)制文件,看不到,在系統(tǒng)運(yùn)行時(shí)有

轉(zhuǎn)載于:https://www.cnblogs.com/zmlctt/p/3881115.html

總結(jié)

以上是生活随笔為你收集整理的oracle spfile和pfile文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。