Oracle is behaving as expected. If you have a bad design, you get bad results.
You could force "numeric" comparison by left padding the column with zeroes:
Code:
SELECT *
  FROM table_a1
 WHERE LPAD ( customer_id, 32, '0') >= LPAD ( '1013986', 32, '0')
 ORDER BY customer_id ASC
/