Python executemany()在Oracle加载时卡住

Python executemany()在Oracle加载时卡住,python,python-3.x,cx-oracle,Python,Python 3.x,Cx Oracle,我使用这个脚本将数据批量加载到Oracle表中。直到昨天,它还运转良好,但突然间,它开始没有按预期执行。现在,executemany()将无限期地停止,并且不会将任何数据加载到oracle表中。我必须杀死终端会话来停止执行,否则它不会停止并继续运行 sql='insert into TABLE_1 values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12)' df_list = dataset.values.tolist() # dataset co

我使用这个脚本将数据批量加载到Oracle表中。直到昨天,它还运转良好,但突然间,它开始没有按预期执行。现在,executemany()将无限期地停止,并且不会将任何数据加载到oracle表中。我必须杀死终端会话来停止执行,否则它不会停止并继续运行

   sql='insert into TABLE_1 values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12)'
   df_list = dataset.values.tolist() # dataset contains ~7000 records

   batch_size = 100 # batch was set to 5,000 originally, for testing purpose reduced to 100
   data_len = len(df_list)
   iterations = data_len // batch_size if data_len % batch_size == 0 else (data_len // batch_size) + 1

   for i in np.arange(0, iterations):
      start = i * batch_size
      end = min((start + batch_size) , data_len)
      print(f'Exporting records from {start} to {end}.')
      subset = df_list[start:end]

      cursor.executemany(sql, subset) # progress halts here and doesn't move forward

   con.commit()
在此insert查询之前,我正在使用相同的游标和连接对象执行Select语句,它工作正常


感谢您的帮助,谢谢

检查打开的事务(另一个用户已在您试图操作的表中插入/更新/删除了行,但尚未提交或回滚其事务)。感谢@Anthony Tuininga的建议。有趣的是,我们发现我们的oracle空间几乎被消耗掉了,在将数据加载到oracle表时,它会导致问题。很高兴听到您已经解决了这个问题!