refactor reader && add oracle reader