程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 利用腳本文件管理Oracle數據庫

利用腳本文件管理Oracle數據庫

編輯:Oracle數據庫基礎

利用腳本文件來管理Oracle數據庫,具有很大的優越性。

如可以降低命令的輸入量;如可以將調試測試通過的命令保存起來以便於下次需要的時候再次使用;如可以避免輸入上的錯誤等等。雖然說,Oracle數據庫提供的SQL*Plus程序編輯工具提供了一定程度的現實、編輯、修改SQL緩沖區命令的功能,但是,其對命令的編輯能力是非常弱小的,操作起來也不如腳本文件那麼方便。故很多數據庫管理專家喜歡把一些常用的命令制作成腳本文件。在以後需要用的時候,直接調用腳本文件即可。如筆者現在保存的有用腳本文件已有近百個。在需要用的時候,只要把腳本文件拿過來,有的可以直接拿來執行;有的只要稍微根據實際情況修改一下,也可以使用。

第一步:創建腳本文件

在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工具腳本命令編輯功能非常的薄弱。若采用這個工具對現成的腳本語句進行編輯的話,則可能工作量還是重新編寫一個來的輕。所以,數據庫管理員要根據實際的情況,選擇合適的腳本編輯工具。

另外,在編輯的過程中,要注意語法的正確性。特別是要注意,不能夠改變其固有的格式。如不要不小心刪除了最後的“/”符號結束,等等。筆者現在喜歡用的時微軟自帶的記事本作為腳本的編輯工具。他比較方便,而且也不用再去網上找專業的腳本編輯工具。即省事,又能夠我們數據庫管理員的常規需求,何樂而不為呢!

第三步:運行腳本文件

腳本建立好之後,如何運行腳本呢?在Oracle系統中也提供了許多方式。數據庫管理員可以根據自己的使用習慣來進行選擇。

一是通過Start語句來調用腳本文件。其語法是Start Filemame[相關參數]。在運行這個命令的時候,需要注意幾個問題。

1.腳本文件的擴展名問題。上面在建立腳本文件的時候,筆者就跳掉過,為了在SQL*Plus等工具中可以直接調用這個腳本文件,最好能夠把擴展名改為Oracle數據庫能夠接受的擴展名。默認情況下,擴展名設置為SQL即可。

2.腳本文件的路徑問題。若用戶在利用Start調用腳本文件的時候,若沒有清楚的指名保存路徑的話,則SQL*Plus工具會現在當前的目錄中進行查找;若沒有的話,則會根據環境變量中確定的目錄中進行查找。而一般情況下,我們把腳本文件都會獨立存放。所以,在使用Start命令執行腳本文件的時候,最好能夠注明腳本文件的絕對路徑名。防止語句執行錯誤。

另外@命令也可以起到跟Start命令一樣的作用。只不過,前者的使用范圍更廣一點。@命令可以脫離SQL*PLUS工具而使用。如可以直接在微軟操作系統中的命令行方式下使用。當然,這操作系統要事先部署了Oracle數據庫環境。

二是可以直接利用SQL*Plus工具打開文本文件,執行腳本語句。然後點擊“文件”、“執行”命令執行這個腳本語句。這種方式的好處就是,系統會主動提示用戶需要輸入的參數。

不過筆者不怎麼喜歡采用以上兩種方式。筆者一般是先利用腳本編輯器打開對應的腳本文件。然後看看是否需要進行必要的更改。若不需要的話,就直接把這個語句復制粘貼到SQL*Plus工具中,執行。如此的話,也就不用像Start那樣,指定腳本文件的具體位置了。

在執行腳本語句的時候,特別需要注意一個參數的位置問題。從外界傳入的參數,要跟腳本語句的替換參數一一對應。如果參數的位置出現問題,則執行的結果也就會有問題。

總之,腳本文件是我們管理Oracle數據庫的一大利器。我們好好利用腳本文件,可以提高Oracle數據庫的管理效率。畢竟,每次在需要的時候,都去編寫命令是一件很麻煩的事情。而腳本文件的最大好處,就是可以提高語句的重復利用,節省我們編寫語句、調試測試的時間。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved