IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁數(shù)據(jù)庫Oracle → Oracle服務(wù)器參數(shù)文件維護(hù)的四個(gè)技巧

Oracle服務(wù)器參數(shù)文件維護(hù)的四個(gè)技巧

時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

   在oracle數(shù)據(jù)庫中,這個(gè)初始化參數(shù)文件分為兩類,分別為文本參數(shù)文件與服務(wù)器參數(shù)文件。他們的內(nèi)容是相同的,只是所表示的方式不同。在服務(wù)器參數(shù)文件中,是以二進(jìn)制的形式保存的。可以利用數(shù)據(jù)庫的命令對他們進(jìn)行轉(zhuǎn)換。接下去筆者就談?wù)劸S護(hù)服務(wù)器參數(shù)文件的一些技巧。

   一、在數(shù)據(jù)庫啟動(dòng)的時(shí)候指定參數(shù)文件。

   在啟動(dòng)數(shù)據(jù)庫的過程中,必須要提供一個(gè)準(zhǔn)確的初始化參數(shù)文件,無論是文本參數(shù)文件還是服務(wù)器參數(shù)文件。在利用Startup命令啟動(dòng)數(shù)據(jù)庫的時(shí)候,可以指定其采用的服務(wù)器參數(shù)文件。不過在這里需要注意一個(gè)細(xì)節(jié),即采用的初始化參數(shù)文件不同,其采用的關(guān)鍵字也是不同的。如果采用的是服務(wù)器參數(shù)文件,則需要使用SPfile指定;如果采用的是文本參數(shù)文件,則需要使用Pfile關(guān)鍵字指定。數(shù)據(jù)庫系統(tǒng)并不會(huì)自動(dòng)根據(jù)參數(shù)文件的類別來進(jìn)行判斷,而是根據(jù)這個(gè)關(guān)鍵字來判斷。如果發(fā)生張冠李戴現(xiàn)象的話,即使這個(gè)初始化參數(shù)文件本身沒有問題,但是因?yàn)殛P(guān)鍵字使用錯(cuò)誤,會(huì)誤導(dǎo)數(shù)據(jù)庫啟動(dòng)進(jìn)程,從而導(dǎo)致數(shù)據(jù)庫啟動(dòng)錯(cuò)誤。

   如果在利用命令startup啟動(dòng)數(shù)據(jù)庫(如數(shù)據(jù)庫自動(dòng)隨操作系統(tǒng)啟動(dòng)而自動(dòng)啟動(dòng))的過程中沒有指定采用的初始化參數(shù)文件,則數(shù)據(jù)庫系統(tǒng)會(huì)自動(dòng)在默認(rèn)的位置進(jìn)行查找。一般情況下,其先查找是否有服務(wù)器參數(shù)文件(二進(jìn)制文件),如果有的話則會(huì)啟用。如果沒有的話,則會(huì)繼續(xù)查找是否有文本參數(shù)文件。如果有責(zé)啟用,如果沒有的話則會(huì)向用戶提示啟動(dòng)失敗。所以在默認(rèn)情況下是服務(wù)器參數(shù)文件優(yōu)先的。如果數(shù)據(jù)庫管理員要讓數(shù)據(jù)庫自動(dòng)啟動(dòng)的時(shí)候采用文本參數(shù)文件,則就需要在關(guān)閉數(shù)據(jù)庫后刪除那個(gè)服務(wù)器參數(shù)文件,或者將其移動(dòng)到其他的位置。然后下次重新啟動(dòng)時(shí)在沒有指定初始化參數(shù)文件時(shí)而自動(dòng)采用文本參數(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)行更改。也就是說不能夠手工更改這個(gè)服務(wù)器參數(shù)文件。由于二進(jìn)制文件與文本文件保存方式的不同。在這里直接進(jìn)行更改的話,則會(huì)導(dǎo)致這個(gè)初始化參數(shù)文件損壞,而導(dǎo)致數(shù)據(jù)庫無法正常啟動(dòng)。為此如果要更改服務(wù)器參數(shù)文件,最好是將其轉(zhuǎn)換為文本參數(shù)文件后進(jìn)行更改。更改完成后直接使用文本參數(shù)文件啟動(dòng)或者轉(zhuǎn)換為服務(wù)器參數(shù)文件再啟動(dòng)數(shù)據(jù)庫系統(tǒng)。

   另外就是直接通過命令來進(jìn)行更改。這里需要注意的是,存儲(chǔ)在服務(wù)器參數(shù)文件中的初始化參數(shù)是永久保留的。也就是說,在數(shù)據(jù)庫運(yùn)行的過程中,通過命令對參數(shù)所做的任何更改,在數(shù)據(jù)庫關(guān)閉后是會(huì)被保存在服務(wù)器的初始化文件中。為此數(shù)據(jù)庫管理員不用擔(dān)心數(shù)據(jù)庫重新啟動(dòng)后參數(shù)丟失的問題。

   三、導(dǎo)出服務(wù)器參數(shù)文件。

   在數(shù)據(jù)庫部署完成之后或者對初始化參數(shù)文件進(jìn)行修改之前,管理員都需要對參數(shù)文件進(jìn)行備份。無論是服務(wù)器參數(shù)文件還是文本參數(shù)文件,這個(gè)備份都是免不了的。因?yàn)槿魏螖?shù)據(jù)庫管理員都不能夠保證在以后這個(gè)參數(shù)文件是否會(huì)出現(xiàn)損壞的情況。未雨綢繆,對服務(wù)器參數(shù)文件或者文本參數(shù)文件進(jìn)行備份是提高數(shù)據(jù)庫安全的一個(gè)重要舉措。其次,有時(shí)候在排除數(shù)據(jù)庫故障時(shí)候,也需要導(dǎo)出這個(gè)數(shù)據(jù)庫服務(wù)器參數(shù)文件。因?yàn)閷⑦@個(gè)文件導(dǎo)出后,可以利用文本編輯器來方便的查詢所有的初始化參數(shù),以分析故障的原因。雖然在數(shù)據(jù)庫的SQL*PLUS等工具中也可以查看這些初始化參數(shù),但是操作起來不是很方便。所以不少管理員喜歡將他們導(dǎo)成文本文件來進(jìn)行分析。最后,對服務(wù)器參數(shù)文件進(jìn)行更改。由于不能夠通過文本編輯器直接對二進(jìn)制的服務(wù)器參數(shù)文件進(jìn)行更改,為此數(shù)據(jù)庫管理員往往會(huì)將將服務(wù)器參數(shù)文件導(dǎo)出來,然后再利用數(shù)據(jù)庫提供的命令將其轉(zhuǎn)換為文本文件。最后再將其轉(zhuǎn)換為服務(wù)器參數(shù)文件,并利用其啟動(dòng)。有時(shí)候,在重新部署數(shù)據(jù)庫之前管理員也會(huì)先導(dǎo)出這個(gè)服務(wù)器參數(shù)文件,以方便后續(xù)重新使用這個(gè)服務(wù)器參數(shù)文件來啟動(dòng)數(shù)據(jù)庫。

   在導(dǎo)出數(shù)據(jù)庫服務(wù)器參數(shù)文件的時(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ù)文件過程中,會(huì)出現(xiàn)"權(quán)限不足"的錯(cuò)誤提示。

   其次,可以直接直接利用命令create pfile from spfile命令,將服務(wù)器參數(shù)文件導(dǎo)出為文本文件。在導(dǎo)出的時(shí)候,不需要關(guān)閉原有的例程。如果沒有指定目錄與名稱的話,則數(shù)據(jù)庫會(huì)存放在不同的目錄中。這里主要需要注意這個(gè)名稱。因?yàn)樵诓煌牟僮飨到y(tǒng)平臺(tái)上,其采用的名稱是不同的。即在沒有指定導(dǎo)出文件名稱的話,數(shù)據(jù)庫會(huì)采用平臺(tái)特定的名稱,并于據(jù)平臺(tái)特定的默認(rèn)服務(wù)器參數(shù)文件進(jìn)行創(chuàng)建。有時(shí)候?yàn)榱朔奖闫鹨,可以在命令中指定存?chǔ)的路徑。如要指定路徑的話,需要采用=號(hào)和單引號(hào)。如采用pfile=’路徑名’的形式。

   第三,在導(dǎo)出的過程中,服務(wù)器還會(huì)將原先二進(jìn)制文件中的一些行注釋也導(dǎo)出到文本文件中,以方便管理員進(jìn)行略讀。同理,在將文本文件轉(zhuǎn)換為二進(jìn)制的服務(wù)器參數(shù)文件時(shí),也會(huì)將行注釋存儲(chǔ)在二進(jìn)制文件中。不過其只保存行注釋,而不會(huì)保存其他的注釋。此時(shí)再將二進(jìn)制服務(wù)器參數(shù)文件轉(zhuǎn)換為文本參數(shù)文件時(shí),原先的其他注釋也會(huì)丟失,只會(huì)保存行注釋。所以在初始化參數(shù)文件中編寫注釋的時(shí)候,最好采用行注釋。只有這個(gè)行注釋才會(huì)在轉(zhuǎn)換的過程中被永久的保留。

   四、創(chuàng)建服務(wù)器參數(shù)文件。

   當(dāng)服務(wù)器參數(shù)文件出現(xiàn)損壞而無法啟動(dòng)數(shù)據(jù)時(shí),就有可能需要重新創(chuàng)建服務(wù)器參數(shù)文件。上面筆者已經(jīng)強(qiáng)調(diào)過好幾次,服務(wù)器參數(shù)文件是無法手工編輯與創(chuàng)建的。為此必須通過文本參數(shù)文件來創(chuàng)建服務(wù)器參數(shù)文件。為了在服務(wù)器參數(shù)文件出現(xiàn)損壞時(shí)有一個(gè)補(bǔ)救,最好在平時(shí)將服務(wù)器參數(shù)文件進(jìn)行備份,或者將其導(dǎo)出為文本參數(shù)文件。然后再必要的時(shí)候,根據(jù)這個(gè)文本參數(shù)文件來創(chuàng)建服務(wù)器參數(shù)文件。雖然可以手工創(chuàng)建文本參數(shù)文件,但是這個(gè)工作太復(fù)雜,不是輕易可以完成的。如果對其進(jìn)行小修小改還行,但是若要將其從零開始創(chuàng)建,可是一個(gè)很浩大的工程,基本上是一項(xiàng)不可能完成的任務(wù)。

   若要根據(jù)文本參數(shù)文件來轉(zhuǎn)換成服務(wù)器參數(shù)文件,可以使用數(shù)據(jù)庫提供的命令:Create Spfile=’’ from pfile=’’來完成。如果沒有指定服務(wù)器參數(shù)文件的名字與路徑的話,數(shù)據(jù)庫xiotng 采用的是平臺(tái)特定的名稱,并保存在數(shù)據(jù)庫的默認(rèn)位置中。然后數(shù)據(jù)庫管理員就可以利用Startup命令來啟動(dòng)了。當(dāng)保存在默認(rèn)位置時(shí),可以不加參數(shù)即啟用這個(gè)服務(wù)器參數(shù)文件。因?yàn)槟J(rèn)情況下,這個(gè)服務(wù)器參數(shù)文件要比文本參數(shù)文件優(yōu)先級高。

   最后需要說明的一點(diǎn)是即使是文本參數(shù)文件,數(shù)據(jù)庫管理員要讀懂這個(gè)文件中的內(nèi)容,仍然需要一定的功底。為此筆者建議管理員,以后若更改系統(tǒng)的默認(rèn)參數(shù)的話,最好加上注釋,以利于提高這個(gè)文本參數(shù)文件的可讀性。如此的話,在利用這個(gè)文件排除故障與改善數(shù)據(jù)庫性能使會(huì)變得相對簡單一點(diǎn),有利于提高這個(gè)文本參數(shù)文件的可讀性。

關(guān)鍵詞標(biāo)簽:Oracle服務(wù)器

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制Oracle對user的訪問控制

相關(guān)下載

人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限