因为系统的数据量比较大,在不同系统之间传递数据选用了ftp+sqlloder的方式。每次所有的数据导入到临时表后,无法转换到正式表。
日志异常如下:
原因如下:
因为在使用sqlloader方式的时候,direct=true.导致临时表索引为不可用状态。再在临时表读取数据的时候,会出错。
修改方式有三种,
第一种:在sqloader导入的时候,去掉direct模式。
这种方式缺点很明显,大批量导入数据会很慢。
第二种:查询的时候,关闭检查索引的可用状态。同第一种一样,查询很慢。
第三种:推荐方法。在所有的数据导入到临时表后,在临时表数据转换到正式表之前。重建索引。