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_ENVソースファイルには、他のユーザーの手動入力とまったく同じエクスポートがあります。
# 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