Oracle兩種參數文件 SPFILE 和 PFILE
(1)spfile參數文件(二進制文件) 通過用SQL語句修改參數,動態參數和靜態參數即可修改
alter system set 參數名稱=value scope= A,B,C
A: scope=memory 當前實例生效,重啟實例后失效
B: scope=spfile 當前實例不生效,重啟實例后生效
C: scope=both 當前實例生效,且重啟實例后生效
修改完以后 強烈建議加上一句
反解spfile文件:根據spfile的參數配置更新新的pfile(舊的配置會被覆蓋)
SQL> create pfile from spfile;
(2)pfile參數文件(文本文件)
可以用編輯器打開的文本文件,在里面的參數都是靜態參數,沒有動態參數,調試參數的時候而又不想真正改系統參數的時候可以用這個手段
Oracle默認是以spfile參數文件里面的參數配置去啟動數據庫的,pfile文件在啟動數據庫的時候是不用的,除非手動指定用pfile去啟動數據庫,比如下面這個方式
強制使用pfile文件啟動數據庫
SQL> startup pfile='/u01/oracle/product/10.2.0/db_1/dbs/initORCL.ora';
Oracle參數文件存儲的路徑:$ORACLE_HOME/dbs
spfileORCL.ora:ORCL實例的spfile文件
initORCL.ora:ORCL實例的pfile文件
查看數據庫是通過哪個參數文件啟動的
驗證是使用pfile文件啟動數據庫
SQL> select value from v$parameter where name='spfile';
VALUE
--------------------------------------------------------------------------------
value值是空的,那么說明是使用pfile文件啟動數據庫
如果是使用spfile文件啟動數據庫,那么value值就是spfile文件的絕對路徑
oracle的參數:
ORCL.__db_cache_size=373293056
ORCL.__java_pool_size=33554432
ORCL.__large_pool_size=4194304
ORCL.__shared_pool_size=192937984
ORCL.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/ORCL/adump'
*.background_dump_dest='/u01/oracle/admin/ORCL/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/oracle/oradata/ORCL/control01.ctl','/u01/oracle/oradata/ORCL/control02.ctl','/u01/oracle/oradata/ORCL/control03.ctl'
*.core_dump_dest='/u01/oracle/admin/ORCL/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ORCL'
*.db_recovery_file_dest='/u01/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
*.job_queue_processes=10
*.local_listener='ORCL'
*.open_cursors=300
*.pga_aggregate_target=201326592
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=605028352
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/oracle/admin/ORCL/udump'