我有一个Linux的批处理,是这样的。
export ORACLE SID=prod
export ORACL_HOME=/usr/app/oracle/product/12.2.0/db_12201
export PATH=$ORACLE_HOME/bin:$PATH
batch_id = `sqlplus / <<QB
SELECT BATCH_ID_SEQ.NEXVAL FROM DUAL;
exit;
QB`
echo "$batch_id"
我收到一个错误信息,说找不到表 我检查了Linux id在序列上确实有选择权限。
这个查询确实有效'
batch_id = `sqlplus / <<QB
SELECT MAX(Batch_ID) FROM BATCHES;
exit;
QB`
echo "$batch_id"
问题出在权限上。 我的unix ID是scrpt,我将序列的访问权限授予OPS$scrpt。 我需要分配权限来使用scrpt。