Sqlplus: コマンドが見つかりません

Sqlplus: コマンドが見つかりません

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場所に拡張できますsqlplusoraenv 正しい設定を確認し、sqlplus実行を試してください。$ORACLE_HOME/bin/sqlplus

答え2

ほとんどの場合、あるサーバーから別のサーバーにデータベース設定をコピーします。その結果、他のサーバーのoracle HOMEの詳細が新しいサーバーに誤ってコピーされる可能性があります。

新しいサーバーでsqlplusを見つける方法。

[severdetais scripts]$ locate sqlplus
/oracli/app/oracle/product/11.2.0.3/client_1/sqlplus
/oracli/app/oracle/product/11.2.0.3/client_1/bin/sqlplus
/oracli/app/oracle/product/11.2.0.3/client_1/instantclient/libsqlplusic.so

そして、以下のようにエクスポートプロパティファイルで上記の場所を使用します。

export ORACLE_CLIENT=/oracli/app/oracle/product/11.2.0.3/client_1/bin/
export ORACLE_HOME=/oracli/app/oracle/product/11.2.0.3/client_1
export PATH=$PATH:$JAVA_HOME:$JRE_HOME:$ORACLE_CLIENT:$ORACLE_HOME
export LD_LIBRARY_PATH=${ORACLE_CLIENT}:${LD_LIBRARY_PATH}:${ORACLE_HOME}:$ORACLE_HOME/lib
export SQLPATH=${ORACLE_CLIENT}:${SQLPATH}:${ORACLE_HOME}

これが問題を解決することを願っています!

関連情報