Oracle9i新特點 SPFILE的使用

2021-06-18 12:12:28 字數 2471 閱讀 9312

簡介:

本文是關於oracle9i spfile的一篇文字,這是oracle9i的乙個新特性,雖然是很小的乙個改進,但是卻體現了oracle在安全性和可靠性上的乙個提高,

通過rman備份或者控制檔案的自動備份,oracle把spfile納入到整個備份恢復體系當中。

本文對spfile的使用和修改等作了詳細描述,對於其備份恢復也給出了相應的例子,希望大家能夠從這篇文章中受益,從oracle的這個新特性中獲得收益。

在oracle9i中,乙個新的檔案被引入-spfile,spfile用於伺服器端,管理初始化引數。

在9i以前,oracle使用pfile儲存初始化引數設定,這些引數在例項啟動時被讀取,任何修改需要重起例項才能生效,使用spfile你可以使用alter system

或者alter session來動態修改那些可動態修改的引數,所有更改可以立即生效,你可以選擇使更改只應用於當前例項還是同時應用到spfile。這就使

得所有對spfile的修改都可以在命令列完成,我們可以徹底告別手工修改初始化引數檔案,這就大大減少了人為錯誤的發生。

spfile是乙個二進位制檔案,可以使用rman進行備份,這樣實際上oracle把引數檔案也納入了備份恢復管理。

除了第一次啟動資料庫需要pfile(然後可以根據pfile建立spfile),我們可以不再需要pfile,oracle強烈推薦使用spfile,應用其新特性來儲存和

維護初始化引數設定。

一. 建立spfile

預設的,oracle使用pfile啟動資料庫,spfile必須由pfile建立,新建立的spfile在下一次啟動資料庫時生效,create spfile需要sysdba或者

sysoper的許可權:

語法如下:

create spfile[='spfile-name'] from pfile[='pfile-name']

例:sql> create spfile from pfile;

預設的,spfile建立到系統預設目錄

(unix: $oracle_home/dbs; nt: $oracle_home\database)

如果spfile已經存在,那麼建立會返回以下錯誤:

sql> create spfile from pfile;

create spfile from pfile

*error 位於第 1 行:

ora-32002: 無法建立已由例程使用的 spfile

這也可以用來判斷當前是否使用了spfile檔案。

然而意外的時,oracle並沒有向其他檔案一樣,在執行期間保持鎖定,讓我們作以下試驗:

sql> host rename spfileeyglen.ora spfileeyglen.ora.bak

sql> alter system set db_cache_size=24m scope=both;

系統已更改。

sql> host dir *.ora

驅動器 e 中的卷是 doc

卷的序列號是 980c-8eff

e:\oracle\ora9ir2\database 的目錄

2003-02-10 14:35 2,048 pwdeyglen.ora

1 個檔案 2,048 位元組

0 個目錄 150,347,776 可用位元組

sql> alter system set db_cache_size=24m scope=spfile;

alter system set db_cache_size=24m scope=spfile

*error 位於第 1 行:

ora-27041: 無法開啟檔案

osd-04002: 無法開啟檔案

o/s-error: (os 2) 系統找不到指定的檔案。

sql> host rename spfileeyglen.ora.bak spfileeyglen.ora

sql> alter system set db_cache_size=24m scope=spfile;

系統已更改。

sql>

估計oracle以後會想辦法來鎖定這個檔案。

二. 使用spfile

重新啟動資料庫,使用startup命令,oralce將會按照以下順序在預設目錄中搜尋引數檔案:

a. spfile$.ora

預設目錄

unix: $/dbs/

nt: $\database

b. spfile.ora

預設目錄

unix: $/dbs/

nt: $\database

c. init$.ora

預設目錄

unix: $/dbs/

nt: $\database or

$\admin\db_name\pfile\

建立了spfile,重新啟動資料庫,oracle會按順序搜尋以上目錄,spfile就會自動生效。

解除安裝Oracle 9i

1 停止所有oracle服務 2 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracle目錄 2 在hkey local machine system controlset001 services下,刪除所有oracle項 3 在hke...

oracle9i解除安裝

今天裝了oracle 9i,後來重灌遇到問題因為解除安裝未乾淨。幾經周折終於成功,現將解除安裝步驟供以後參考 1 停止服務 開啟 服務 然後停止所有oracle服務 2 刪除程式 3 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracl...

oracle9i解除安裝

今天裝了oracle 9i,後來重灌遇到問題因為解除安裝未乾淨。幾經周折終於成功,現將解除安裝步驟供以後參考 1 停止服務 開啟 服務 然後停止所有oracle服務 2 刪除程式 3 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracl...