資料庫啟動相關的引數檔案

2021-06-21 03:48:14 字數 2646 閱讀 1212

----------------資料庫啟動所需要的引數檔案-----------------------------------------

引數檔案分為初始化引數檔案(pfile)和伺服器引數檔案(spfile)

---pfile

pfile是乙個文字檔案。伺服器引數修改後,不會寫回到引數檔案,而要手動再次修改pfile.預設檔名initsid.ora

---spfile

spfile是乙個二進位制檔案,不能用vi vim去編輯修改,否則會損壞。伺服器引數修改後,會自動寫回到引數檔案。預設檔名spfilesid.ora.

---pfile和spfile的關係:

spfile和pfile可以相互轉換,利於spfile建立pfile,也可以利用pfile建立spfile.

sql>create spfile from pfile;

sql>create pfile from spfile;       ---建立spfile需要sysdba或者sysoper的許可權

---引數檔案的位置:

$oracle_home/dbs

---判斷服務是以spfile還是pfile啟動的:

show paranmeter spfile;

如果value列有值就是以spfile啟動,反之pfile

---資料庫在啟動的時候使用引數檔案的情況:

當使用不帶pfile的子句的startup時,oracle 將從平台指定的預設位置上的伺服器引數檔案(spfile 中讀取初始化引數) 

startup啟動資料庫可能無法啟動,報錯can't find init file……的錯誤,需要複製乙個初始化檔案:

cp /home/oracle/10.1/admin/orcl/pfile/init.ora.*  /home/oracle/10.1/dbs/initorcl.ora之後再重新執行startup

oracle啟動的時候需要讀取初始化引數檔案,文字檔案形式pfile

$oracle_home/dbs目錄下,手工建立 cp init.ora $oracle_home/dbs/initsid.ora,之後再修改initsid.ora

spfile是binary file二進位制檔案,不能用vi來修改,只能通過sql/plus通過sql命令來修改。一直存在伺服器端,備份初始化引數檔案。建立spfile,需要有sysdba許可權才能執行,create spfile = '$oralce_hoe/dbs/spfilesid.ora' from pfile='$oralce_home/dbs/initsid.ora';可以在啟動之前或者是啟動之後建立。

sqlplus /nolog

conn /as sysdba

create spfile from pfile;//建立預設的spfile

檢視spfile檔案的內容:strings spfilesid.ora | more,檢視spfile引數可以使用v$spparameter

----如果在.profile設定的oeracle_sid不正確的話,在資料庫啟動的時候,會報錯,找不到相應的啟動引數檔案initsid.ora

create pfile='/u01/oracle/dbs/init.ora'

from spfile='u01/oracle/dbs/spfile.ora';

create spfile='spfile_name'

from pfile='pfile_name';

--- 資料庫特殊啟動

sqlplus "/as sysdba"

startup pfile='/home/oracle/orahome_1/dbs/initcellc47.ora'

create spfile from pfile;

shutdown abort;

startup

----資料庫啟動的3個階段:

nomount 

只啟動例項,讀取引數檔案分配記憶體、生成程序,主要用於維護操作,

如建立控制檔案、建庫等。

mount

啟動到nomount,讀取控制檔案,獲得資料庫的物理資訊,但這些不進行檢查存在性

也用於維護操作,如:資料恢復,修改資料模式(歸檔、閃回、審記和等)

open

開啟資料庫,生成資料庫的邏輯結構

---資料庫啟動報錯:

誤刪除某個資料檔案導致資料庫起不來

sql> startup

oracle instance started.

total system global area 96393244 bytes

fixed size 75804 bytes variable size 56918016 bytes

database buffers 39321600 bytes redo buffers 77824 bytes

database mounted.

ora-01157: cannot identify/lock data file 10 - see dbwr trace file ora- 01110: data file 10: 'd:\test.dbf'

sql> alter database datafile 'd: \test.dbf' offline drop;

database altered.

sql > alter database open;

oracle啟動資料庫和引數檔案的關係

在啟動資料庫時,必須指定它的啟動狀態。通常開啟資料的步驟如下 1 啟動資料庫例項 啟動乙個資料庫例項包含以下工作 首先讀取spfilesid.ora檔案,如果沒有則讀取spfile.ora,再沒有就initsid.ora 即 spfilesid.ora spfile.ora initsid.ora ...

MYSQL資料庫的引數檔案

引數檔案 告訴mysql例項啟動時在 可以找到資料庫檔案,並且指定某些初始化引數,這些引數定義了某種記憶體結構的大小等設定,還會介紹各種引數的型別。當mysql例項啟動時,mysql會先去讀乙個配置引數檔案,用來尋找資料庫的各種檔案所在位置以及指定某些初始化引數,這些引數通常定義了某種記憶體結構有多...

資料庫啟動

資料庫啟動分為三個階段 1,nomount 在此階段,資料庫會首先讀取spfilesid檔案,作為啟動引數檔案 如果無此檔案,再尋找spfile檔案。最後尋找initsid.ora 檔案。如果三個檔案都無,則將不能啟動。oracle home dbs initsid.ora 2,mount 在此階段...