Em suas restrições de verificação, você especifica TO_CHAR() com uma máscara de formato de data de
'YYYY/MM/DD HH:MI:SS AM'
. Mas os valores que você especifica para o intervalo estão em dois formatos diferentes, por exemplo. '2005/01/01 00:00:01 AM' AND '12/31/2015 11:59:59 PM'
Acho que seria uma boa ideia trabalhar com datas, pois as strings não se comparam da maneira que você acha que elas fazem.
constraint rental_rental_date check(rental_date)
between to_date('2005/01/01 00:00:01 AM', 'YYYY/MM/DD HH:MI:SS AM') and
to_date('2015/12/31 11:59:59 PM', 'YYYY/MM/DD HH:MI:SS AM')
No entanto, isso pode não ser a raiz do seu problema. Pode ser uma conversão em seu processo de carregamento, e é por isso que precisamos saber como você está carregando os dados.