SQLPlus Oracleコマンドをrootとして実行すると、誤った答えが返されます。

SQLPlus Oracleコマンドをrootとして実行すると、誤った答えが返されます。

ASMDISKグループの各ディスク使用量を確認するスクリプトを生成しようとしています。各RACクラスタの1つのノードにスクリプトを設定しました。いくつかのサーバーでは問題なく実行されていましたが、そのうちの2つは誤った値を返しました。

この場合、0の値を返し、1の値を期待します。

# export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
# export ORACLE_SID=db1
# export PATH=$PATH:$ORACLE_HOME/bin
# sqlplus ****/****

SQL*Plus: Release 12.1.0.2.0 Production on Tue Dec 6 18:57:13 2016

SQL> select count(*) from  V$asm_disk_stat;

  COUNT(*)
----------
         0

oracleユーザー・アカウントで同じSQLを実行しますが、まだ同じoracle dbユーザーを使用すると、正しい結果が得られます。 DB_EN​​Vソースファイルには、他のユーザーの手動入力とまったく同じエクスポートがあります。

# su - oracle
$ source db_env 
$ sqlplus ****/****

SQL*Plus: Release 12.1.0.2.0 Production on Tue Dec 6 19:07:18 2016

SQL> select count(*) from  V$asm_disk_stat;

  COUNT(*)
----------
         1

なぜこれが起こるのかわかりません。同じ方法で接続し、Oracleデータベースから正しいデータをインポートできる他のスクリプトがあります。

roaimaによると、私は明示的に出力について言及しました。

ルートとして実行する場合:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/dell/srvadmin/bin:/opt/dell/srvadmin/sbin:/etc/opt/emcpower/bin:/root/bin:/u01/app/oracle/product/12.1.0.2/db_1/bin:/u01/app/oracle/product/12.1.0.2/db_1/bin

# echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0.2/db_1

echo $ORACLE_SID
db1

Oracleで実行している場合:

echo $PATH
/u01/app/oracle/product/12.1.0.2/db_1/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/dell/srvadmin/bin:/etc/opt/emcpower/bin:/home/oracle/bin

echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0.2/db_1

echo $ORACLE_SID
db1

ベストアンサー1

おすすめ記事