Oraclei引入了具有延續性的初始化參數文件SPFILE(Server Parameter FILE)所謂延續性是指對初始化參數的在線修改可以直接作用到參數文件中這樣所有被修改的參數將永久生效
SPFILE有以下幾個顯著優點
ALTER SYSTEM所設定的參數可以直接保存在SPFILE中不像以前那樣需要手工更改參數文件才可以使改動永久生效
RMAN支持對SPFILE的備份在這之前是無法做到使用RMAN來備份初始化參數文件的
可以實現在本地沒有遠程數據庫的INITORA拷貝的時候遠程啟動數據庫
在RAC的多個實例之間可以共享一個SPFILE
下面我們將詳細討論這幾個新特性
SPFILE概述
SPFILE是一個很小的二進制文件有ORACLE服務器自動維護位於ORACLE服務器端($ORACLE_HOME/dbs/spfileora)因為ORACLE默認就是此SPFILE所以我們可以通過SQL*PLUS或OEM無需指定初始化參數在客戶端遠程啟動數據庫
SPFILE的創建導出與更新
SYSDBA/SYSOPER(我不知道別人是不是使用SYSOPER反正我是從來不用這個)可以在數據庫處於任何狀態下(IDLE/NOMOUNT/MOUNT/OPEN)通過下面的語句來創建一個SPFILE
CREATE SPFILE[=SPFILE_NAME] FROM PFILE[=PFILE_NAME];
而將這個語句反過來就可以通過SPFILE來建立PFILEORACLE稱之為SPFILE的導出
CREATE PFILE[=PFILE_NAME] FROM SPFILE[=SPFILE_NAME];
導出的文件格式如下
*background_dump_dest=/oracle/app/oracle/admin/ora/bdump
patible=
ntrol_files=/dev/rcon/dev/rcon/dev/rcon
re_dump_dest=/oracle/app/oracle/admin/ora/cdump
*db_block_size=
*db_cache_size=#changed at
*db_domain=
*db_file_multiblock_read_count=
*db_name=ora
導出SPFILE由兩個主要的用途批量修改參數作為SPFILE的一種備份方式(如果數據庫采用RMAN備份方式我們可以直接用RMAN來備份SPFILE)當批量修改(編輯PFILE)完成後我們可以通過重新創建SPFILE來實現對SPFILE的更新
參數的修改
對於單個參數的修改我們可以通過下面的語句來完成
ALTER SYSTEM SET PARAMETER=value
[COMMENT=COMMENT TEXT][SCOPE=MEMORY|SPFILE|BOTH]
通過SCOPE選項實現了對初始化參數更改的永久性
對於動態參數可以加上DEFERRED關鍵字來標明更改僅對以後的SESSIONS起作用
SQL> alter system set sort_area_size=
comment=temporary seting scope=spfile;
System altered
啟動時參數文件的讀取順序
數據庫啟動時STARTUP默認使用初始化參數文件的順序是
[指定的PFILE >] SPFILE > $ORACLE_HOME/dbs/PFILE
當然在PFILE中也可以指向SPFILE
讀取SPFILE參數設置
我們可以從v$spparameter v$parameter v$parameter中獲得相關參數的信息也依舊可以使用SHOW SGA
SQL> select namevalueupdate_comment from v$spparameter
where name=sort_area_size;
NAME VALUE UPDATE_COMMENT
sort_area_size temporary seting
共享初始化參數文件
在i RAC中多個實例可以共享同一個初始化參數文件而各實例所特有的參數值可以通過在參數前加上實例名稱來標示
hawk:sort_area_size=
hawk:sort_area_size=
關於SPFILE差不多就這些內容了
From:http://tw.wingwit.com/Article/program/Oracle/201311/18785.html