Oracle數(shù)據(jù)庫啟動時,第一步開啟到nomount狀態(tài),需要使用到參數(shù)文件。
pfile 就是參數(shù)文件的一種,全稱:初始化參數(shù)文件(Initialization Parameters Files)!
我們常說的 pfile 參數(shù)文件也就是 initSID.ora 文件,initSID.ora 是文本文件。
在 Oracle 9i 以前,Oracle 使用 pfile
存儲初始化參數(shù)設(shè)置,參數(shù)文件的修改需要手工進行,這些參數(shù)在實例啟動時被讀取,通過pfile的修改需要重啟實例才能生效。
以下為 Linux 下單機數(shù)據(jù)庫的示例:
可以通過 strings
命令查看文件內(nèi)容:
[oracle@orcl:/u01/app/oracle/product/12.2.0/db/dbs]$ strings initorcl.ora orcl.__data_transfer_cache_size=0orcl.__db_cache_size=457179136orcl.__inmemory_ext_roarea=0orcl.__inmemory_ext_rwarea=0orcl.__java_pool_size=4194304orcl.__large_pool_size=8388608orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=180355072orcl.__sga_target=713031680orcl.__shared_io_pool_size=25165824orcl.__shared_pool_size=201326592orcl.__streams_pool_size=0*._optimizer_cartesian_enabled=FALSE *.audit_file_dest='/u01/app/oracle/admin/orcl/adump'*.audit_trail='NONE'*.compatible='12.2.0'*.control_files='/oradata/orcl/control01.ctl','/oradata/orcl/control02.ctl'*.db_block_size=8192*.db_create_file_dest='/oradata'*.db_name='orcl'*.deferred_segment_creation=FALSE *.diagnostic_dest='/u01/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.event='10949 trace name context forever:28401 trace name context forever,level 1:10849 trace name context forever, level 1:19823 trace name context forever, level 90'*.local_listener='LISTENER_ORCL'*.log_archive_dest_1='LOCATION=/archivelog'*.log_archive_format='%t_%s_%r.dbf'*.nls_language='AMERICAN'*.nls_territory='AMERICA'*.open_cursors=300*.pga_aggregate_target=170m *.processes=200*.remote_login_passwordfile='EXCLUSIVE'*.result_cache_max_size=0*.sga_target=679m *.undo_tablespace='UNDOTBS1'
其內(nèi)容主要為數(shù)據(jù)庫的 db_name、數(shù)據(jù)庫的版本、控制文件的位置、內(nèi)存的分配、一些系統(tǒng)文件的路徑、字符集、session的數(shù)量等等,一些數(shù)據(jù)庫最基本的信息。
如果需要修改 pfile 文件,因為是文本文件,所以直接打開文件修改即可。
initSID.ora 文件通常用于數(shù)據(jù)庫 rman 備份恢復(fù)。
?? 注意: 使用 pfile 啟動的數(shù)據(jù)庫,使用 alter system 和 alter session 在線修改參數(shù)后,只會保存到內(nèi)存中,重啟后即失效。如果需要重啟依然生效,應(yīng)該手動修改 pfile 參數(shù)文件。
pfile 參數(shù)文件通常存在于以下目錄下:
Windows: $ORACLE_HOME/database
Linux: $ORACLE_HOME/dbs
pfile 文件格式為:
initSID.ora
如果使用 pfile 文件啟動數(shù)據(jù)庫后,通過 alter system 修改參數(shù)后,數(shù)據(jù)庫重啟之后參數(shù)還會生效嗎?
下面依然做個實驗吧:
1、確認(rèn)當(dāng)時數(shù)據(jù)庫環(huán)境是 pfile 文件啟動:
sqlplus / as sysdba show parameter spfile
2、在線修改參數(shù):
sqlplus / as sysdba alter system set undo_retention=1000;show parameter undo_retention
3、重啟數(shù)據(jù)庫,查看參數(shù)是否生效:
sqlplus / as sysdbashutdown immediate startup show parameter undo_rentention
4、可以通過手動修改 initSID.ora 文件:
cd $ORACLE_HOME/dbsvi initorcl.ora
如上圖所示,在最后一行添加需要修改的參數(shù)即可。
5、重啟數(shù)據(jù)庫生效:
sqlplus / as sysdbashutdown immediate startup
本次分享到此結(jié)束啦~
如果覺得文章對你有幫助,點贊、收藏、關(guān)注、評論,一鍵四連支持,你的支持就是我創(chuàng)作最大的動力。