2つの仮想マシンUbuntuがあります。 1つはoracle 11gexpressをインストールするときのサーバー、もう1つは単純なクライアントです。私の目標は、クライアントコンピュータでリモートでSQLクエリを実行することです。だからクエリを準備してサーバーに送信しました。ただし、以下のスクリプトでは、サーバーに接続した後にsqlplusが機能しません。次のエラーが表示されます。
Sqlplus: コマンドが見つかりません
このタスクでは、次のスクリプトを使用します。
#! /bin/bash
read -p "saisir votre requete: " req
printf "%s\n" "$req" > t1.txt
sed -e 's/[;,()'\'']/ /g;s/ */ /g' t1.txt > t.txt
`tr -s '[[:blank:]]' '\n' < t.txt `|
while IFS= read -r word; do
if ! [[ "$word" =~ $(echo ^\($(paste -sd'|' ./req.txt)\)$) ]]; then
var=$(base64 <<< $word)
sed -i -e "s/$word/$var/g" t1.txt
fi
done
enter code here
scp requete.sql [email protected]:/home/cloud1
#Conection to the Server
ssh [email protected] '/home/cloud1/Cloud-Serv'
Cloud-Serv ファイルには次のコードが含まれています。
#! /bin/bash
"echo "Connection is done !"
sudo service oracle-xe start
sqlplus / as sysdba
exit
ベストアンサー1
ほとんどの場合、Oracleインスタンスはoracleなどの特別なアカウントで実行されます。このユーザーとしてログインしている場合は、正しい環境を設定する必要があり、そのうち$ORACLE_BASE
、$ORACLE_HOME
および$ORACLE_SID
が最も重要です。さらに、PATH
変数は一般的な$ORACLE_HOME/bin
場所に拡張できますsqlplus
。oraenv
正しい設定を確認し、sqlplus
実行を試してください。$ORACLE_HOME/bin/sqlplus