http://www.anysql.net/dba/several
第一个是在用高版本的sqlldr向低版本的数据库中装载数据时遇到的, 解决的方法是将DIRECT=TRUE去掉, 不用DIRECT方式装载. 错误信息为:
SQL*Loader-951: Error calling once/load initialization
ORA-00942: table or view does not exist
第二个问题是, sqlldr装载很慢, 一开始几乎以为是sqlldr死了, 装载几十条记录恢然等了足足十几分钟, 不管是DIRECT方式还是常规方式. 最后仔细地检查了一下, 原来是数据库中表的字段定义小了, 在log中报字段值过长, 改了就好了.
第三个问题的情况和上面一个一样, 只不过最后的原因是因为出问题的数据库的字符集是UTF8, 而好的那个数据库的字符集是ZHS16GBK, 一些中文转换成UTF8时变长了, 导致了和字段不够长一样的效果.
其中第二个问题是别人遇到的, 当时他用805版本的sqlldr试的, 而我用10g的版本试的, 还以为是sqlldr版本的问题. 其实没有那么多版本的问题, 这种最基本的功能应当是最稳定的. 值得写下来纪念一下.
_sqlldr_questions.html