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