9i引入了具有延續性的初始化參數檔案SPFILE(Server Parameter FILE),所謂延續性是指對初始化參數的線上修改可以直接作用到參數檔案中,這樣所有被修改的參數将永久生效。
SPFILE有以下幾個顯著優點:
1、“ALTER SYSTEM”所設定的參數可以直接儲存在SPFILE中,不像以前那樣需要手工更改參數檔案才可以使改動永久生效;
2、RMAN支援對SPFILE的備份,在這之前是無法做到使用RMAN來備份初始化參數檔案的;
3、可以實作在本地沒有遠端資料庫的INIT.ORA拷貝的時候,遠端啟動資料庫;
4、在RAC的多個執行個體之間可以共享一個SPFILE。
下面我們将詳細讨論這幾個新特性。
1、SPFILE概述
SPFILE是一個很小的二進制檔案,有ORACLE自動維護,位于ORACLE端($ORACLE_HOME/dbs/spfile.ora),因為ORACLE預設就是此SPFILE,是以我們可以通過SQL*PLUS或OEM無需指定初始化參數在用戶端遠端啟動資料庫。
2、SPFILE的建立、導出與更新
SYSDBA/SYSOPER(我不知道别人是不是使用SYSOPER,反正我是從來不用這個)可以在資料庫處于任何狀态下(IDLE/NOMOUNT/MOUNT/OPEN),通過下面的語句來建立一個SPFILE:
CREATE SPFILE[='SPFILE_NAME'] FROM PFILE[='PFILE_NAME'];
而将這個語句反過來就可以通過SPFILE來建立PFILE,ORACLE稱之為SPFILE的導出。
CREATE PFILE[='PFILE_NAME'] FROM SPFILE[='SPFILE_NAME'];
導出的檔案格式如下:
......
*.background_dump_dest='/oracle/app/oracle/admin/ora9/bdump'
*.compatible='9.2.0.0.0'
*.control_files='/dev/rcon1','/dev/rcon2','/dev/rcon3'
*.core_dump_dest='/oracle/app/oracle/admin/ora9/cdump'
*.db_block_size=8192
*.db_cache_size=3072000000#changed at 20030425
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ora9'
......
導出SPFILE由兩個主要的用途:批量修改參數、作為SPFILE的一種備份方式(如果資料庫采用RMAN備份方式,我們可以直接用RMAN來備份SPFILE)。當批量修改(編輯PFILE)完成後,我們可以通過重新建立SPFILE來實作對SPFILE的更新。
3、參數的修改
對于單個參數的修改,我們可以通過下面的語句來完成:
ALTER SYSTEM SET PARAMETER=value
[COMMENT='COMMENT TEXT'][SCOPE=MEMORY|SPFILE|BOTH]
通過SCOPE選項實作了對初始化參數更改的永久性。
對于動态參數,可以加上DEFERRED關鍵字來标明更改僅對以後的SESSIONS起作用。
SQL> alter system set sort_area_size=104800
2 comment='temporary seting' scope=spfile;
System altered.
4、啟動時參數檔案的讀取順序
資料庫啟動時STARTUP預設使用初始化參數檔案的順序是:
[指定的PFILE -->] SPFILE --> $ORACLE_HOME/dbs/PFILE
當然在PFILE中也可以指向SPFILE。
5、讀取SPFILE參數設定
我們可以從v$spparameter, v$parameter, v$parameter2中獲得相關參數的資訊,也依舊可以使用SHOW SGA。
SQL> select name,value,update_comment from v$spparameter
2 where name='sort_area_size';
NAME VALUE UPDATE_COMMENT
-------------------- ------------------------------
sort_area_size 104800 temporary seting
6、共享初始化參數檔案
在9i RAC中,多個執行個體可以共享同一個初始化參數檔案,而各執行個體所特有的參數值可以通過在參數前加上執行個體名稱來标示:
hawk19:sort_area_size=104800
hawk29:sort_area_size=102400
關于SPFILE差不多就這些内容了。
【責編:Peng】
--------------------next---------------------