隱藏ps -ef命令中看到的密碼(Hide the password that from the " ps -ef " command)

在UNIX下我常常要執行Oracle的命令,如sqlplus/sqlldr, 這些命令都需要登錄到數據才行,這時我們就要用到連接的user和password,如果我們直接用sqlplus來連的話,user和passoword都可以用

 

ps -ef | grep sqlplus

 

看到,出於安全的考慮,這個是很不好的,下面的方法可以很好地解決sqlplus 和sqlldr 這兩個命令登錄的問題。

 

1. SQLPLUS

 

sqlplus /nolog > $LOG_FILE << ENDSQL
connect $DB_USER/$DB_PASS@$TNSNAME;
@sql/xxx.sql $parameter_1 $parameter_2;
ENDSQL
if [ `grep "ERROR" $LOG_FILE | wc -l` -ne 0 ]
then
  # Error Handling
endif

 

 

2. SQLLDR

sql loader的寫有一點特別:

 

set APP_USER=something
set APP_PASS=somepass
set APP_SID=sid

#put the connection parameter at the end.
sqlldr control=contril.ctl data=data.dat << END_OF_SQLLDR
$APP_USER/$APP_PASS@APP_SID
END_OF_SQLLDR

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章