crontab呼叫oracle的shell指令碼注意事項
直接在linux上執行shell指令碼時,oracle使用者是有這個環境變數的。但是crontab執行時,是沒有使用者的環境變數,所以需要在指令碼中設定。
所以必須指定如下ORACLE_SID和ORACLE_HOME和PATH變數,否則會報錯, 而有沒有#!/bin/sh倒是沒什麼關係
沒有#!/bin/sh則按預設的預設shell中執行,檢視預設的shell命令是 echo $SHELL
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=TESTDB
缺少ORACLE_HOME,在crontab中去掉>>/dev/null 2>&1並讓crontab執行,會發現在/var/spool/mail/oracle下會有如下報錯
Message file RMAN<lang>.msb not found
Verify that ORACLE_HOME is set properly
而缺少ORACLE_SID則在crontab對應的指令碼的寫入日誌中會有如下資訊
RMAN-04005: error from target database:
ORA-12162: TNS:net service name is incorrectly specified
注:
並不是所有的oracle下的指令碼都需要ORACLE_HOME和ORACLE_SID,只有涉及ORACLE資料庫資訊的才需要這兩個變數如sqlplus和rman
lsnrctl命令不需要ORACLE_HOME和ORACLE_SID兩個變數
所以必須指定如下ORACLE_SID和ORACLE_HOME和PATH變數,否則會報錯, 而有沒有#!/bin/sh倒是沒什麼關係
沒有#!/bin/sh則按預設的預設shell中執行,檢視預設的shell命令是 echo $SHELL
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=TESTDB
缺少ORACLE_HOME,在crontab中去掉>>/dev/null 2>&1並讓crontab執行,會發現在/var/spool/mail/oracle下會有如下報錯
Message file RMAN<lang>.msb not found
Verify that ORACLE_HOME is set properly
而缺少ORACLE_SID則在crontab對應的指令碼的寫入日誌中會有如下資訊
RMAN-04005: error from target database:
ORA-12162: TNS:net service name is incorrectly specified
注:
並不是所有的oracle下的指令碼都需要ORACLE_HOME和ORACLE_SID,只有涉及ORACLE資料庫資訊的才需要這兩個變數如sqlplus和rman
lsnrctl命令不需要ORACLE_HOME和ORACLE_SID兩個變數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2140157/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell 指令碼注意事項指令碼
- 使用CRONTAB呼叫shell指令碼執行EXP指令碼
- CRONTAB呼叫的備份指令碼指令碼
- crontab執行shell指令碼指令碼
- shell常用指令碼&crontab設定指令碼
- LoadRunner錄製指令碼時注意事項指令碼
- java呼叫kotlin注意事項JavaKotlin
- Oracle使用*的注意事項Oracle
- [JGL]Rman指令碼書寫格式和注意事項指令碼
- 利用SCHEDULER呼叫shell指令碼指令碼
- oracle 轉pg 的注意事項Oracle
- shell指令碼例項指令碼
- job呼叫儲存過程的注意事項儲存過程
- 複製oracle home的注意事項Oracle
- 9、在Shell指令碼中呼叫其他指令碼指令碼
- 如何呼叫python中的shell指令碼?Python指令碼
- 水煮oracle41----shell指令碼中對oracle的sql*plus和rman工具的指令碼呼叫和嵌入Oracle指令碼SQL
- shell指令碼例項(2)指令碼
- iOS 程式碼注意事項iOS
- javascript程式碼注意事項JavaScript
- 注意shell指令碼中ps -ef|grep的坑指令碼
- [20210330]bash使用source or ..呼叫shell指令碼注意txt指令碼
- oracle移植到mysql注意事項OracleMySql
- Linux/Unix shell 指令碼中呼叫SQL,RMAN指令碼Linux指令碼SQL
- Centos下使用php呼叫shell指令碼CentOSPHP指令碼
- Oracle PL/SQL編寫PL/SQL程式碼的注意事項OracleSQL
- Oracle 資料匯出注意事項Oracle
- Oracle臨時表使用注意事項Oracle
- oracle hash join原理及注意事項Oracle
- oracle rac安裝配置注意事項Oracle
- 分析表的crontab指令碼指令碼
- Xlistview的注意事項View
- Oracle複合索引的建立和注意事項Oracle索引
- Oracle Outline的使用及注意事項Oracle
- Windows Server Oracle 19c 19.3 RMAN使用RUN指令碼時TAG關鍵字的注意事項WindowsServerOracle指令碼
- 低程式碼和無程式碼的注意事項
- shell指令碼放到crontab裡就執行不成功的問題指令碼
- 【SHELL】Linux系統 Oracle例項監控、重啟 簡易Shell指令碼LinuxOracle指令碼