これは良い習慣ではありません。数値データはNUMBER列に保持する必要があります。理由は単純です。強力なデータ型を適用しないと、varchar2列に数値以外のデータが含まれている可能性があります。それが起こった場合は、このようなフィルター
where to_number(field1) = 23
ORA-01722: invalid number
で失敗します 。
IDのフィルターの明らかに重要でない変更がクエリの成功を変更した理由がわからないため、これがシナリオで起こっていることであるとは断言できません。さまざまなバージョンのクエリの実行プランを確認することは有益です。ただし、SGAのバグよりも、データの問題である可能性が高いと思います。