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