如可以降低命令的輸入量;如可以將調(diào)試測試通過的命令保存起來以便于下次需要的時(shí)候再次使用;如可以避免輸入上的錯(cuò)誤等等。雖然說,oracle數(shù)據(jù)庫提供的sql*plus程序編輯工具提供了一定程度的現(xiàn)實(shí)、編輯、修改sql緩沖區(qū)命令的功能,但是,其對(duì)命令的編輯能力是非常弱小的,操作起來也不如腳本文件那么方便。故很多數(shù)據(jù)庫管理專家喜歡把一些常用的命令制作成腳本文件。在以后需要用的時(shí)候,直接調(diào)用腳本文件即可。如筆者現(xiàn)在保存的有用腳本文件已有近百個(gè)。在需要用的時(shí)候,只要把腳本文件拿過來,有的可以直接拿來執(zhí)行;有的只要稍微根據(jù)實(shí)際情況修改一下,也可以使用。
所以,筆者覺得腳本文件是oracle數(shù)據(jù)庫管理中的一個(gè)不可缺的工具,其實(shí),利用腳本文件管理oracle數(shù)據(jù)庫也不是大家想像的那么困難。通過這篇文章,或許大家就可以消除這方面的恐懼感。
第一步:創(chuàng)建腳本文件。
在oracle數(shù)據(jù)庫重,創(chuàng)建腳本文件的方式很多。如可以直接在記事本中創(chuàng)建腳本文件,也可以通過sql*plus工具直接創(chuàng)建。不過,筆者的意見是,在sql*plus中直接創(chuàng)建腳本文件的話,比較麻煩。這主要是因?yàn)樵趕ql*plus工具中,命令編輯能力非常有效。如不能夠使用鍵盤上的箭頭鍵定位輸入的位置,不能夠使用del鍵刪除輸入的內(nèi)容等等。而且閱讀起來也比較困難。
筆者喜歡的作法是,現(xiàn)在一些編輯器中,如文本文件中先把腳本語句寫好,然后直接復(fù)制到sql*plus工具中進(jìn)行測試。若測試通過的話,即就可以把它保存起來,以待下次有需要的時(shí)候使用。所以,利用第三方的腳本語句編輯工具,有一個(gè)缺陷就是不能夠直接對(duì)語句進(jìn)行測試。而需要人工的把它復(fù)制粘貼到oracle環(huán)境中進(jìn)行測試。不過這對(duì)于命令編輯來說,這點(diǎn)功夫還是值得的。畢竟在第三方工具中編輯腳本語句,要比在sql*plus中,編輯腳本要簡單的不知道多少倍。筆者也搞不清楚,像oracle這么大的數(shù)據(jù)庫管理軟件,為什么不開發(fā)一個(gè)像樣的腳本語句編輯器呢。
另外需要說明的一點(diǎn)就是,在sql*plus語句中,雖然可以對(duì)未測試或者有錯(cuò)誤的腳本語句進(jìn)行保存。不過,這么做的話,只會(huì)浪費(fèi)時(shí)間。為了提高腳本語句的可用性,筆者是強(qiáng)烈建議,數(shù)據(jù)庫管理員不要太過于自信,腳本語句編寫完成后,一定要進(jìn)行測試。只有經(jīng)過測試表明這個(gè)腳本語句有用后,才能對(duì)其進(jìn)行歸檔。
其次,若采用記事本等工具編寫腳本語句的時(shí)候,為了在oracle環(huán)境中可以直接調(diào)用這個(gè)腳本文件,最好把腳本文件的擴(kuò)展名改為sql。這是oracle數(shù)據(jù)庫承認(rèn)的腳本文件擴(kuò)展名。
還有對(duì)于初次接觸腳本文件的數(shù)據(jù)庫管理員來說,對(duì)于腳本文件的格式要稍微注意一點(diǎn)。大體上,跟普通的sql語句類似。只是在兩個(gè)方面要引起注意。一是在腳本文件的最后一行,一定要添加“/”符號(hào)。這個(gè)符號(hào)的作用是,告示數(shù)據(jù)庫現(xiàn)在可以執(zhí)行這條語句了。二是在sql語句的最后一條語句中,不要添加“;”號(hào)。否則的話,下次運(yùn)行這個(gè)腳本語句的時(shí)候,會(huì)出現(xiàn)錯(cuò)誤。
最后,在編寫腳本文件的時(shí)候,要注意腳本文件的變量問題。若腳本文件需要外界傳入?yún)?shù),則在執(zhí)行的時(shí)候,sql*plus工具,會(huì)使用這些外部傳入的值替換腳本文件中的替換參數(shù),所以,腳本文件中替換參數(shù)的生命方式跟oracle數(shù)據(jù)庫中函數(shù)與過程的變量聲明方式有一點(diǎn)區(qū)別。在腳本文件中,在使用替換參數(shù)的時(shí)候,不需要事先聲明。而是在要用到的時(shí)候,直接利用&1 &2等來表示。
第二步:編輯腳本文件。
在我們使用腳本文件的時(shí)候,往往需要根據(jù)實(shí)際情況,對(duì)其進(jìn)行稍微的調(diào)整。對(duì)腳本文件進(jìn)行編輯,也有兩種方式。一是通過sql*plus工具,二是第三方獨(dú)立的腳本編輯軟件。
對(duì)于一些調(diào)整不大的腳本文件,我們可以直接利用sql*plus工具打開,然后進(jìn)行編輯。但是,對(duì)于需要進(jìn)行大量修改的腳本文件,則筆者建議數(shù)據(jù)庫管理員采用第三方獨(dú)立的腳本編輯軟件。原因很簡單,就如同上面所說的那樣,sql*plus工具腳本命令編輯功能非常的薄弱。若采用這個(gè)工具對(duì)現(xiàn)成的腳本語句進(jìn)行編輯的話,則可能工作量還是重新編寫一個(gè)來的輕。所以,數(shù)據(jù)庫管理員要根據(jù)實(shí)際的情況,選擇合適的腳本編輯工具。
另外,在編輯的過程中,要注意語法的正確性。特別是要注意,不能夠改變其固有的格式。如不要不小心刪除了最后的“/”符號(hào)結(jié)束,等等。筆者現(xiàn)在喜歡用的時(shí)微軟自帶的記事本作為腳本的編輯工具。他比較方便,而且也不用再去網(wǎng)上找專業(yè)的腳本編輯工具。即省事,又能夠我們數(shù)據(jù)庫管理員的常規(guī)需求,何樂而不為呢!
更多信息請(qǐng)查看IT技術(shù)專欄