----------------資料庫啟動所需要的引數檔案-----------------------------------------
引數檔案分為初始化引數檔案(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 在此階段...