我在shell腳本相當初級水平,以下是詳細..sqlplus的訪問和使用電子郵件訪問shell腳本
正在尋找火SQL查詢和,並基於該數據進行一些邏輯的最佳方式。我用下面的代碼片段..
shellvariable = sqlplus $user/$passwd <<END select count(1) from table1; end EOF
如果[$ shellvariable -ne 0], <> 網絡
有沒有更好的方式來進行同樣的..
我在shell腳本相當初級水平,以下是詳細..sqlplus的訪問和使用電子郵件訪問shell腳本
正在尋找火SQL查詢和,並基於該數據進行一些邏輯的最佳方式。我用下面的代碼片段..
shellvariable = sqlplus $user/$passwd <<END select count(1) from table1; end EOF
如果[$ shellvariable -ne 0], <> 網絡
有沒有更好的方式來進行同樣的..
你在正確的軌道上。 sqlplus的是,當你shell腳本與數據庫進行交互的最佳方式,但兩件事情需要注意:
對於任何DBA的誰正在學習shell腳本,幫助他們管理和奧波吃了Oracle數據庫管理,我強烈推薦Jon Emmons的書Oracle Shell Scripting。它講授了一個很棒的shell腳本介紹課程,但是在DBA真正有用和有趣的任務環境中。最後一點需要注意的是:如果您做的不僅僅是一個簡單的DBA任務,我會建議您不要使用shell腳本,而是使用具有適當數據庫支持的腳本語言。 Perl是Oracle的一個很好的選擇,因爲它隨數據庫一起安裝。
Here's an example Oracle在bash和perl中完成的腳本。從外殼版本,這裏是它的讀取特定值的shell變量:
alertlog=$(sqlplus -S \/ as sysdba 2> /dev/null <<EOF
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 80
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SELECT value
FROM v\$parameter
WHERE name = 'background_dump_dest';
EOF
)