用AnySQL在沒有oracle客戶端的伺服器上傳送郵件
最近要監控一個沒有安裝oracle客戶端的伺服器,如果發現異常,將傳送郵件通知。目前已經有現成的oracle傳送郵件的儲存過程,需要做的是從一個沒有oracle客戶端的伺服器上呼叫該儲存過程。在網上搜尋一番後,發現AnySQL是一個不錯的免客戶端工具。
AnySQL是一個d.c.b.a()開發的、類似於SQL*PLUS的工具,它是基於java寫的,所以執行這個工具必須要有JDK 1.4或者以上版本。
這個工具的好處是不用安裝oracle客戶端。
AnySQL只有Windows的版本直接下載, 要在Unix/Linux下使用,需要按照如下步驟做就可以了:
1、下載一個windows版本的AnySQL(http:///software/anysql.zip)
2、 確定安裝目錄, 如/usr/AnySQL.
mkdir -p /usr/AnySQL/jlib
3、 將下載得到的檔案解壓,並將oasql.jar和oracle.jar拷到jlib目錄
4、 編輯一個名稱為asql的Shell檔案, 以方便地執行AnySQL
檔名可隨意取,路徑也隨意。這裡就放在AnySQL目錄下。
指令碼內容如下:
[root@lb AnySQL]# more asql
#!/bin/sh
ASQL_CMD=`which $0`
ASQL_HOME=`dirname $ASQL_CMD`
$JAVA_HOME/bin/java -server -Xms8m -Xmx16m
-cp $ASQL_HOME/jlib/oasql.jar com.asql.tools.ASQL $*
注意:必須要安裝了JDK,並設定了JAVA_HOME。
5、 將安裝目錄放到PATH路徑中, 這樣在任何目錄執行asql就啟動了AnySQL.
編輯.bash_profile檔案,把asql的路徑新增到PATH變數中。
vi ~/.bash_profile
export PATH=$PATH:/usr/AnySQL
儲存後,執行source使環境變數生效。
source ~/.bash_profile
6、編寫呼叫傳送郵件儲存過程指令碼
檔名可隨意取,路徑也隨意。這裡就放在AnySQL目錄下。
[root@lb AnySQL]# more Send_Mail
#set env
ORACLE_USER=system
ORACLE_PASSWORD=xxx
ORACLE_SID=xxx
ORACLE_IP=xxx.xxx.xxx.xxx
ORACLE_PORT=1521
# function
help_msg()
{
cat << help
+----------------------------------------------------+
+ you enter $# parameters
+ the total paramenter number must be $paranum
+ 1st : the email context
+ 2nd : the email title
+ 3nd : the Address the mail come from
+ 4th : the Address the mail sent to
+ 5th : 'the Email Server Address
+----------------------------------------------------+
help
}
# validate the parameters
paranum=5
if [ $# -lt $paranum ]
then
help_msg
exit
fi
#if no errors ,send email by oracle
asql <
set queryonly false
exec SendEmail($1,$2,$3,$4,$5);
exit
EOF
這裡由於Send_Mail已經包含在$PATH中了,所以,可以像一般命令一樣呼叫它了。
到這裡,就差不多了。什麼地方需要傳送郵件的話,只需要寫一個簡單指令碼呼叫Send_Mail就可以了。
參考文件:
http:///anysql/anysql_in_unix.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63779/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle郵件傳送Oracle
- 用oracle傳送電子郵件Oracle
- 用Oracle傳送郵件procedure (zt)Oracle
- 郵件客戶端的配置使用客戶端
- ASP.NET:郵件伺服器與客戶端ASP.NET伺服器客戶端
- 傳真百科:電子傳真郵件客戶端客戶端
- 郵件的傳送
- 郵件傳送
- 傳送郵件
- JavaMail 郵件傳送,有意思的附件名亂碼 → 客戶端正常,web端亂碼JavaAI客戶端Web
- 如何實現PO的輸出向客戶傳送郵件的增強
- oracle 傳送郵件 實現方法Oracle
- 成功透過ORACLE傳送郵件Oracle
- Python 傳送帶有附件的郵件Python
- Ubuntu的郵件傳送Ubuntu
- 用Perl實現郵件傳送
- Linux 上使用 Gmail SMTP 伺服器傳送郵件通知LinuxAI伺服器
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- Oracle 傳送郵件的儲存過程Oracle儲存過程
- 系統中沒有郵件客戶端設定autoLink=email會掛掉的問題客戶端AI
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP
- centos 傳送郵件CentOS
- phpcms傳送郵件PHP
- 利用Oracle資料庫傳送郵件Oracle資料庫
- 【主機】sendEmail傳送帶有附件的郵件AI
- 用sendmail傳送HTML格式的郵件(轉)AIHTML
- electron-vue郵件客戶端總結Vue客戶端
- 配置郵件客戶端(無SSL/TLS加密)客戶端TLS加密
- Mozilla 希望剝離 Thunderbird 郵件客戶端客戶端