O erro indica que o problema está aqui:
REGEXP_LIKE(tran_particular,'[^[:alnum:] \'\'\'\~\!\@\#\$\%\^\&\*\-\_\{\}\;\"\:\/\.\,\<\>\?\(\)\]\'\)\;
^
O shell interpreta este backquote como fechando o em COUNT= , e tenta executar o restante da linha como um comando, ~!@#$%^&*-_{};":/.,<>?()]'); .
Tente isto:
COUNT=$(sqlplus -s $USER/$PASS@proddb <<EOF
<snip>
EOF
)
A construção $() é geralmente mais segura (e mais fácil de ler).