Из раздела руководства cx_ Oracle Использование переменных связывания :
Переменная связывания - это идентификатор или число с префиксом двоеточия. Например, в этом операторе SQL есть две переменные связывания (dept_id и dept_name):
sql = """insert into departments (department_id, department_name)
values (:dept_id, :dept_name)"""
cursor.execute(sql, [280, "Facility"])
Вы используете '?', Которые не поддерживаются Oracle 's SQL.