shell指令碼呼叫oracle命令:
1、直接執行oracle命令
su - oracle -c "export oracle_sid=$;
echo \"select sysdate from dual;\"
| sqlplus $/$
| grep ora- > /tmp/checkdbstatus" > /tmp/outnull.tmp 2>&1
可簡單的用上面的語句檢查資料庫是否可連線,使用者名稱、密碼是否正確
2、寫sql檔案,然後執行。
定義指令碼檔案sqlfile和執行日誌檔案logfile(用於判斷執行是否成功)
建立資料庫使用者
echo "prompt" > $
echo "prompt creating user" >> $
echo "prompt ******************************" >> $
echo "prompt" >> $
echo "connect sys/$ as sysdba" >> $
echo "spool $" >> $
echo "set echo on" >> $
echo "create user $" >> $
echo "identified by $" >> $
echo "default tablespace $" >> $
echo "temporary tablespace $" >> $
echo "profile default;" >> $
echo "commit;" >> $
echo "/" >> $
echo "grant connect to $ with admin option;" >> $
echo "grant resource to $ with admin option;" >> $
echo "grant create any table to $ with admin option;" >> $
echo "grant create any view to $ with admin option;" >> $
echo "grant select any dictionary to $ with admin option;" >> $
echo "grant select any table to $ with admin option;" >> $
echo "grant unlimited tablespace to $ with admin option;" >> $
echo "commit;" >> $
echo "/" >> $
echo "spool off" >> $
echo "exit;" >> $
執行
oracle使用者:$($oraclehome/bin/sqlplus /nolog @ $)
非oracle使用者:su - oracle -c "\$/bin/sqlplus /nolog @ /tmp/tbs.sql"
判斷執行結果
oraerror=$(grep -c -i "user created" $)
oraerror2=$(grep -c -i "grant succeeded" $)
建立表空間
echo "connect sys/$ as sysdba" > $
echo "set echo on" >> $
echo "spool $" >> $
echo "create tablespace $" >> $
echo "datafile" >> $
echo "'$'" >> $
echo "size" >> $
echo "$m" >> $
#echo "autoextend on next $m" >> $
echo "extent management local" >> $
echo "/" >> $
echo "spool off" >> $
echo "exit;" >> $
學習shell 與shell指令碼 學習筆記
一般模式 編輯模式 命令列命令模式 一般模式下輸入 都會進入命令列模式 我們寫vi命令中最常用的方法 一般模式 0 移動到這一行的最前面字元處 移動到這一行的最後面字元處g 移動到這個檔案的最後一行 gg移動到這個檔案的第一行 n n為數字 游標向下移動n行 word 從游標位置開始向下搜尋乙個名為...
Shell指令碼函式與遞迴
function 函式名 定義函式 function 函式名 呼叫函式 執行一次函式 函式名 實參 傳遞與接收實參 傳遞 函式名 實參1 實參2 接收 1 2 3 傳遞實參的個數 引用所有實參 返回值 return 字串 若函式有返回值,通過 來獲取 注 只有1byte的寬度 255,因為shell...
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...