Tag Archives: lob

ORA-600(12333)错误和ORA-600(ttclxx1)错误

数据库频繁出现ORA-12333错误,而且随后还出现了ORA-600错误。 错误信息如下: Mon Aug 10 12:07:41 2009 Errors IN file /opt/oracle/admin/eomsdb/udump/eomsdb_ora_9069.trc: ORA-00600: internal error code, arguments: [12333], [0], [0], [1], [], [], [], [] Mon Aug 10 12:07:43 2009 Errors IN file /opt/oracle/admin/eomsdb/udump/eomsdb_ora_9069.trc: ORA-07445: exception encountered: core dump [000000010100E8C8] [SIGSEGV] … Continue reading

Posted in BUG | Tagged , , , | Leave a comment

JDBC使用INSERT RETURN语句报错ORA-439

在给客户开发人员讲解LOB列的访问方式后,开发人员尝试在JDBC中使用包含RETURN的INSERT语句,但是出现了ORA-439错误。 检查后发现客户的程序使用的还是PreparedStatement语句,而RETURNING语句,则是Oracle扩展的SQL语法,因此在声明语句的时候必须使用OraclePreparedStatement方式进行声明。 除了修改SQL语句外,使用OraclePreparedStatement声明语句变量外,还需要注册输出参数,类似的代码如下: OraclePreparedStatement sqlstmt = (OraclePreparedStatement)conn.prepareStatement ("insert into t_lob values (?, ?, empty_clob()) returning contents into ?"); sqlstmt.setInt(1, 1); sqlstmt.setString(2, "a"); sqlstmt.registerReturnParameter(3, OracleTypes.CLOB); sqlstat.executeUpdate(); ResultSet resset = sqlstmt.getReturnResultSet(); IF (resset.NEXT()) { CLOB contents = (CLOB)resset.getClob(2); … } 不过即使开发人员声明了OraclePreparedStatement语句,仍然找不到registerReturnParameter过程。 当前的数据库的版本是11.2.0.2,没有道理不支持RETURN语句,何况JDBC的RETURNING语句是从10.2的JDBC就引入新特性。 … Continue reading

Posted in ORACLE | Tagged , , , , , , | Leave a comment

插入LOB对象的方法

其实以前写过类似的文章,但是都是在其他例子中,没有专门针对这个问题进行过描述,最近发现,还有很多人不清楚,插入一个包含LOB对象的记录需要几个步骤。 在客户的环境中,发现插入一条包含LOB的记录,居然用了四个步骤: SQL> CREATE TABLE T_LOB (ID NUMBER, NAME VARCHAR2(30), CONTENTS CLOB); 表已创建。 SQL> DECLARE 2 V_CLOB CLOB; 3 V_STR VARCHAR2(32767) := LPAD(’A’, 4000, ‘A’); 4 BEGIN 5 INSERT INTO T_LOB 6 VALUES (1, ‘A’, EMPTY_CLOB()); 7 SELECT CONTENTS 8 … Continue reading

Posted in ORACLE | Tagged , , , , | Leave a comment

ORA-600(kokegPinLob1)错误

客户10.2.0.5 Oracle for AIX系统中,出现了这个ORA-600错误。 其中错误信息为: Fri Nov 18 19:50:18 GMT+08:00 2011Errors IN file /oracle/admin/ccicwmix/udump/ccicwmix_ora_4915530.trc: ORA-00600: internal error code, arguments: [kokegPinLob1], [], [], [], [], [], [], [] 对应的详细TRACE文件: *** ACTION NAME:() 2011-11-18 19:50:18.033 *** MODULE NAME:(JDBC Thin Client) 2011-11-18 19:50:18.033 … Continue reading

Posted in BUG | Tagged , , , | Leave a comment

TRUNCATE模式SQLLDR导致SECUREFILE的LOB空间不断增长

测试LOB的SECUREFILE存储方式时发现,如果利用SQLLDR的TRUNCATE方式导入数据,随着测试次数的增加,LOB对象占用的空间也会逐步增加。 创建表的脚本很简单: CREATE TABLE t_load_4m_sf (id NUMBER, full_name varchar2(100), create_date DATE, contents BLOB, CONSTRAINT pk_t_load_4m_sf PRIMARY KEY(id)) lob (contents) store AS securefile; 用于加载LOB数据的控制文件如下: [oracle@dbserver1 sqlldr]$ more sqlldr_4M_sf.ctl LOAD DATA INFILE ‘filename.dat’ INTO TABLE T_LOAD_4M_SF TRUNCATE FIELDS TERMINATED BY ‘,’ (ID … Continue reading

Posted in ORACLE | Tagged , , , | 1 Comment