?
本文檔使用 PHP中文網(wǎng)手冊(cè) 發(fā)布
????
漫談數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉
|
來(lái)源:華南網(wǎng)木棉站
|
? 漫談數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉 對(duì)于DBA們來(lái)說(shuō),關(guān)閉和重新啟動(dòng)數(shù)據(jù)庫(kù)以便優(yōu)化、調(diào)整應(yīng)用的運(yùn)行是經(jīng)常碰到的事情。如果用戶(hù)已經(jīng)log進(jìn)如了數(shù)據(jù)庫(kù),你用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT命令來(lái)執(zhí)行關(guān)閉數(shù)據(jù)庫(kù),那用戶(hù)將不能連接,直到數(shù)據(jù)庫(kù)重新啟動(dòng),用戶(hù)時(shí)常會(huì)抱怨:怎么又要重起。其實(shí),每次這樣的啟動(dòng)關(guān)閉都是為了數(shù)據(jù)庫(kù)能更好的運(yùn)做。這篇文章將具體介紹shutdown/startup操作時(shí)應(yīng)想到的步驟和許多注意事項(xiàng),或許這些能對(duì)你有所幫助。 NOTE:在執(zhí)行第一步前,SHUT DOWN 數(shù)據(jù)庫(kù),不要提前關(guān)閉SQL*NET,直到你確認(rèn)關(guān)閉了SERVER上的數(shù)據(jù)庫(kù)后再關(guān)閉SQL*NET。因?yàn)橐坏┠汴P(guān)閉了SQL*NET,用戶(hù)將將失去和數(shù)據(jù)庫(kù)的會(huì)話。 第一步---存檔或刪除老的trace files 和 logs TRACE文件的個(gè)數(shù)和名稱(chēng)形式由你的操作系統(tǒng)決定。例如在UNIX下,文件名是一個(gè)數(shù)字加下畫(huà)線加后臺(tái)進(jìn)程號(hào),類(lèi)似3_12345.trc,當(dāng)你下一次啟動(dòng)實(shí)例時(shí),一個(gè)新的文件將被產(chǎn)生,因?yàn)檫M(jìn)程號(hào)的不同,文件名可能是3_13245.trc 。 由于每次啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)時(shí),ORACLE并不自動(dòng)刪除TRACE文件,所以如果忽略這個(gè)步驟,那這些沒(méi)有用的文件將占據(jù)大量的自由空間。所以DBA應(yīng)該主動(dòng)的管理這些文件,或刪除或存檔在別的指定目錄下,如何管理主要是根據(jù)你自己的開(kāi)發(fā)環(huán)境需要而訂了。
SQL*NET也產(chǎn)生LOG文件,一般叫LISTENER.LOG,為了能知道他的位置,可以鍵入命令 LISTENER.LOG文件大小也隨著啟動(dòng)的次數(shù)不斷的變大,所以通過(guò)妥善管理它也能有效的利用空間。 第二步---改名ALERT LOG文件 為了既能留下這些有用的信息,同時(shí)不至于浪費(fèi)很大的空間,可以用改名的方法。你可以在任何時(shí)候更改ALTER LOG文件名,甚至在DATABASE OPEN時(shí)。當(dāng)ORACLE不能找到被BACKGROUND_DUMP_DESC指定的文件時(shí),他將增加一個(gè)新的ALTER LOG文件。雖然改名不要求SHUTDOW,但選擇在SHUTDOWN/STARTUP數(shù)據(jù)庫(kù)時(shí)更改名字是一個(gè)好的主意。 NOTE:下面的幾步是在restart數(shù)據(jù)庫(kù)時(shí)做的。 第三步---產(chǎn)生一個(gè)增加控制文件(CREATE CONGROLFILE )命令的文件 你可以手輸入命令,但最好在STARTUP前發(fā)送一命令,以便你擁有最新版本的CREATE CONTROLFILE命令。從進(jìn)入SQLDBA,SERVER
MANAGER或者SQL*PLUS,輸入: 該命令在USER_DUMP_DESC參數(shù)指定的路徑產(chǎn)生一個(gè)TRACE文件,名字可能是SIDNAME_PROCESSID.TRC,該文件將包含針對(duì)你的數(shù)據(jù)庫(kù)的完整的CREATE CONTROLFILE 語(yǔ)法。 第四步--把PACKAGES 和 PROCEDURES駐留SGA區(qū) 一般每個(gè)數(shù)據(jù)庫(kù)包括兩類(lèi)駐留程序: ? |