時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
在Oracle數(shù)據(jù)庫中,這個初始化參數(shù)文件分為兩類,分別為文本參數(shù)文件與服務(wù)器參數(shù)文件。他們的內(nèi)容是相同的,只是所表示的方式不同。在服務(wù)器參數(shù)文件中,是以二進(jìn)制的形式保存的??梢岳脭?shù)據(jù)庫的命令對他們進(jìn)行轉(zhuǎn)換。接下去筆者就談?wù)劸S護(hù)服務(wù)器參數(shù)文件的一些技巧。
一、在數(shù)據(jù)庫啟動的時候指定參數(shù)文件。
在啟動數(shù)據(jù)庫的過程中,必須要提供一個準(zhǔn)確的初始化參數(shù)文件,無論是文本參數(shù)文件還是服務(wù)器參數(shù)文件。在利用Startup命令啟動數(shù)據(jù)庫的時候,可以指定其采用的服務(wù)器參數(shù)文件。不過在這里需要注意一個細(xì)節(jié),即采用的初始化參數(shù)文件不同,其采用的關(guān)鍵字也是不同的。如果采用的是服務(wù)器參數(shù)文件,則需要使用SPfile指定;如果采用的是文本參數(shù)文件,則需要使用Pfile關(guān)鍵字指定。數(shù)據(jù)庫系統(tǒng)并不會自動根據(jù)參數(shù)文件的類別來進(jìn)行判斷,而是根據(jù)這個關(guān)鍵字來判斷。如果發(fā)生張冠李戴現(xiàn)象的話,即使這個初始化參數(shù)文件本身沒有問題,但是因?yàn)殛P(guān)鍵字使用錯誤,會誤導(dǎo)數(shù)據(jù)庫啟動進(jìn)程,從而導(dǎo)致數(shù)據(jù)庫啟動錯誤。
Oracle數(shù)據(jù)庫初始化參數(shù)更改的注意事項(xiàng)
如果在利用命令startup啟動數(shù)據(jù)庫(如數(shù)據(jù)庫自動隨操作系統(tǒng)啟動而自動啟動)的過程中沒有指定采用的初始化參數(shù)文件,則數(shù)據(jù)庫系統(tǒng)會自動在默認(rèn)的位置進(jìn)行查找。一般情況下,其先查找是否有服務(wù)器參數(shù)文件(二進(jìn)制文件),如果有的話則會啟用。如果沒有的話,則會繼續(xù)查找是否有文本參數(shù)文件。如果有責(zé)啟用,如果沒有的話則會向用戶提示啟動失敗。所以在默認(rèn)情況下是服務(wù)器參數(shù)文件優(yōu)先的。如果數(shù)據(jù)庫管理員要讓數(shù)據(jù)庫自動啟動的時候采用文本參數(shù)文件,則就需要在關(guān)閉數(shù)據(jù)庫后刪除那個服務(wù)器參數(shù)文件,或者將其移動到其他的位置。然后下次重新啟動時在沒有指定初始化參數(shù)文件時而自動采用文本參數(shù)文件。對于數(shù)據(jù)庫系統(tǒng)來說,采用服務(wù)器參數(shù)文件還是采用文本參數(shù)文件,沒有多大的區(qū)別。只要保證他們的內(nèi)容準(zhǔn)確即可。所以到底是采用哪種參數(shù)文件為好,就全憑數(shù)據(jù)庫管理員的工作喜好了。
二、服務(wù)器參數(shù)文件的維護(hù)。
雖然說也可以利用文本編輯器來打開二進(jìn)制形式的服務(wù)器參數(shù)文件,并查看相關(guān)的內(nèi)容。但是需要注意的是,切不可在這里對此進(jìn)行更改。也就是說不能夠手工更改這個服務(wù)器參數(shù)文件。由于二進(jìn)制文件與文本文件保存方式的不同。在這里直接進(jìn)行更改的話,則會導(dǎo)致這個初始化參數(shù)文件損壞,而導(dǎo)致數(shù)據(jù)庫無法正常啟動。為此如果要更改服務(wù)器參數(shù)文件,最好是將其轉(zhuǎn)換為文本參數(shù)文件后進(jìn)行更改。更改完成后直接使用文本參數(shù)文件啟動或者轉(zhuǎn)換為服務(wù)器參數(shù)文件再啟動數(shù)據(jù)庫系統(tǒng)。
在Oracle中實(shí)現(xiàn)控制文件多路復(fù)用
另外就是直接通過命令來進(jìn)行更改。這里需要注意的是,存儲在服務(wù)器參數(shù)文件中的初始化參數(shù)是永久保留的。也就是說,在數(shù)據(jù)庫運(yùn)行的過程中,通過命令對參數(shù)所做的任何更改,在數(shù)據(jù)庫關(guān)閉后是會被保存在服務(wù)器的初始化文件中。為此數(shù)據(jù)庫管理員不用擔(dān)心數(shù)據(jù)庫重新啟動后參數(shù)丟失的問題。
三、導(dǎo)出服務(wù)器參數(shù)文件。
在數(shù)據(jù)庫部署完成之后或者對初始化參數(shù)文件進(jìn)行修改之前,管理員都需要對參數(shù)文件進(jìn)行備份。無論是服務(wù)器參數(shù)文件還是文本參數(shù)文件,這個備份都是免不了的。因?yàn)槿魏螖?shù)據(jù)庫管理員都不能夠保證在以后這個參數(shù)文件是否會出現(xiàn)損壞的情況。未雨綢繆,對服務(wù)器參數(shù)文件或者文本參數(shù)文件進(jìn)行備份是提高數(shù)據(jù)庫安全的一個重要舉措。其次,有時候在排除數(shù)據(jù)庫故障時候,也需要導(dǎo)出這個數(shù)據(jù)庫服務(wù)器參數(shù)文件。因?yàn)閷⑦@個文件導(dǎo)出后,可以利用文本編輯器來方便的查詢所有的初始化參數(shù),以分析故障的原因。雖然在數(shù)據(jù)庫的SQL*PLUS等工具中也可以查看這些初始化參數(shù),但是操作起來不是很方便。所以不少管理員喜歡將他們導(dǎo)成文本文件來進(jìn)行分析。最后,對服務(wù)器參數(shù)文件進(jìn)行更改。由于不能夠通過文本編輯器直接對二進(jìn)制的服務(wù)器參數(shù)文件進(jìn)行更改,為此數(shù)據(jù)庫管理員往往會將將服務(wù)器參數(shù)文件導(dǎo)出來,然后再利用數(shù)據(jù)庫提供的命令將其轉(zhuǎn)換為文本文件。最后再將其轉(zhuǎn)換為服務(wù)器參數(shù)文件,并利用其啟動。有時候,在重新部署數(shù)據(jù)庫之前管理員也會先導(dǎo)出這個服務(wù)器參數(shù)文件,以方便后續(xù)重新使用這個服務(wù)器參數(shù)文件來啟動數(shù)據(jù)庫。
在導(dǎo)出數(shù)據(jù)庫服務(wù)器參數(shù)文件的時候,主要需要注意以下幾點(diǎn)。
首先,需要具有相關(guān)的權(quán)限。根據(jù)Oracle數(shù)據(jù)庫的要求,如果要導(dǎo)出數(shù)據(jù)庫服務(wù)器參數(shù)文件的話,必須需要數(shù)據(jù)庫的SYSDBA或者SYSOPER權(quán)限。如果用戶沒有類似權(quán)限的話,那么在利用命令導(dǎo)出服務(wù)器參數(shù)文件過程中,會出現(xiàn)"權(quán)限不足"的錯誤提示。 其次,可以直接直接利用命令create pfile from spfile命令,將服務(wù)器參數(shù)文件導(dǎo)出為文本文件。在導(dǎo)出的時候,不需要關(guān)閉原有的例程。如果沒有指定目錄與名稱的話,則數(shù)據(jù)庫會存放在不同的目錄中。這里主要需要注意這個名稱。因?yàn)樵诓煌牟僮飨到y(tǒng)平臺上,其采用的名稱是不同的。即在沒有指定導(dǎo)出文件名稱的話,數(shù)據(jù)庫會采用平臺特定的名稱,并于據(jù)平臺特定的默認(rèn)服務(wù)器參數(shù)文件進(jìn)行創(chuàng)建。有時候?yàn)榱朔奖闫鹨?,可以在命令中指定存儲的路徑。如要指定路徑的話,需要采?號和單引號。如采用pfile=’路徑名’的形式。
第三,在導(dǎo)出的過程中,服務(wù)器還會將原先二進(jìn)制文件中的一些行注釋也導(dǎo)出到文本文件中,以方便管理員進(jìn)行略讀。同理,在將文本文件轉(zhuǎn)換為二進(jìn)制的服務(wù)器參數(shù)文件時,也會將行注釋存儲在二進(jìn)制文件中。不過其只保存行注釋,而不會保存其他的注釋。此時再將二進(jìn)制服務(wù)器參數(shù)文件轉(zhuǎn)換為文本參數(shù)文件時,原先的其他注釋也會丟失,只會保存行注釋。所以在初始化參數(shù)文件中編寫注釋的時候,最好采用行注釋。只有這個行注釋才會在轉(zhuǎn)換的過程中被永久的保留。
四、創(chuàng)建服務(wù)器參數(shù)文件。
當(dāng)服務(wù)器參數(shù)文件出現(xiàn)損壞而無法啟動數(shù)據(jù)時,就有可能需要重新創(chuàng)建服務(wù)器參數(shù)文件。上面筆者已經(jīng)強(qiáng)調(diào)過好幾次,服務(wù)器參數(shù)文件是無法手工編輯與創(chuàng)建的。為此必須通過文本參數(shù)文件來創(chuàng)建服務(wù)器參數(shù)文件。為了在服務(wù)器參數(shù)文件出現(xiàn)損壞時有一個補(bǔ)救,最好在平時將服務(wù)器參數(shù)文件進(jìn)行備份,或者將其導(dǎo)出為文本參數(shù)文件。然后再必要的時候,根據(jù)這個文本參數(shù)文件來創(chuàng)建服務(wù)器參數(shù)文件。雖然可以手工創(chuàng)建文本參數(shù)文件,但是這個工作太復(fù)雜,不是輕易可以完成的。如果對其進(jìn)行小修小改還行,但是若要將其從零開始創(chuàng)建,可是一個很浩大的工程,基本上是一項(xiàng)不可能完成的任務(wù)。
若要根據(jù)文本參數(shù)文件來轉(zhuǎn)換成服務(wù)器參數(shù)文件,可以使用數(shù)據(jù)庫提供的命令:Create Spfile=’’ from pfile=’’來完成。如果沒有指定服務(wù)器參數(shù)文件的名字與路徑的話,數(shù)據(jù)庫xiotng 采用的是平臺特定的名稱,并保存在數(shù)據(jù)庫的默認(rèn)位置中。然后數(shù)據(jù)庫管理員就可以利用Startup命令來啟動了。當(dāng)保存在默認(rèn)位置時,可以不加參數(shù)即啟用這個服務(wù)器參數(shù)文件。因?yàn)槟J(rèn)情況下,這個服務(wù)器參數(shù)文件要比文本參數(shù)文件優(yōu)先級高。
最后需要說明的一點(diǎn)是即使是文本參數(shù)文件,數(shù)據(jù)庫管理員要讀懂這個文件中的內(nèi)容,仍然需要一定的功底。為此筆者建議管理員,以后若更改系統(tǒng)的默認(rèn)參數(shù)的話,最好加上注釋,以利于提高這個文本參數(shù)文件的可讀性。如此的話,在利用這個文件排除故障與改善數(shù)據(jù)庫性能使會變得相對簡單一點(diǎn),有利于提高這個文本參數(shù)文件的可讀性。
關(guān)鍵詞標(biāo)簽:Oracle,數(shù)據(jù)庫,服務(wù)器
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法