Eu vi perguntas semelhantes no SO - isso acontece quando você tenta gravar no Oracle DB usando o objeto de conexão criado por
cx_Oracle
. Tente criar conexão usando SQL Alchemy:
import cx_Oracle
from sqlalchemy import types, create_engine
conn = create_engine('oracle+cx_oracle://scott:[email protected]:1521/?service_name=hr')
df.to_sql('TEST', conn, if_exists='replace')