java test30009_ORA-30009:CONNECTBY操作内存不足

在尝试使用Oracle SQL的CONNECT BY语句插入大量数据时,遇到了ORA-30009错误,提示内存不足。通过调整数据插入方式,如使用XMLTABLE分批插入,成功避免了该错误并完成了2000000行数据的插入。

SQL> drop table t_range purge;

SQL> create table t_range (id number not null PRIMARY KEY, test_date date) partition by range (test_date)

(

partition p_2014_7 values less than (to_date(‘2014-08-01‘, ‘yyyy-mm-dd‘)),

partition p_2014_8 values less than (to_date(‘2014-09-01‘, ‘yyyy-mm-dd‘)),

partition p_2014_9 values less than (to_date(‘2014-10-01‘, ‘yyyy-mm-dd‘)),

partition p_2014_10 values less than (to_date(‘2014-11-01‘, ‘yyyy-mm-dd‘)),

partition p_2014_11 values less than (to_date(‘2014-12-01‘, ‘yyyy-mm-dd‘)),

partition p_2014_12 values less than (to_date(‘2015-01-01‘, ‘yyyy-mm-dd‘)),

partition p_max values less than (MAXVALUE)

) nologging;

SQL> insert /+append/ into t_range select rownum,

to_date(to_char(sysdate - 120, ‘J‘) +

trunc(dbms_random.value(0, 120)),

‘J‘)

from dual

connect by level <= 2000000;

insert /+append/ into t_range select rownum,

*

第 1 行出现错误:

ORA-30009: CONNECT BY 操作内存不足

已用时间: 00: 00: 10.28

SQL> rollback;

回退已完成。

SQL> insert /+append/ into t_range select rownum,

to_date(to_char(sysdate - 120, ‘J‘) +

trunc(dbms_random.value(0, 120)),

‘J‘)

from xmltable(‘1 to 2000000‘);

已创建2000000行。

已用时间: 00: 00: 28.76

SQL> commit;

[root@localhost ~]# --password 123456 \ > --table append_test \ > --hive-database stu \ > --hive-table append_test \ > --fields-terminated-by ',' -m 1sqoop import \ > --hive-import \ > --connect jdbc:oracle:thin:192.168.222.1:1521/ORCL \ > --username BI2514 \ > --password 123456 \ > --table append_test \ > --hive-database stu \ > --hive-table append_test \ > --fields-terminated-by ',' -m 1 -bash: --password: command not found [root@localhost ~]# sqoop import \ [2]+ Exit 255 nohup hive --service hiveserver2 > --hive-import \ > --connect jdbc:oracle:thin:192.168.222.1:1521/ORCL \ > --username BI2514 \ > --password 123456 \ > --table append_test \ > --hive-database stu \ > --hive-table append_test \ > --fields-terminated-by ',' -m 1 Warning: /home/sqoop-1.4.5-cdh5.3.6/../hbase does not exist! HBase imports will fail. Please set $HBASE_HOME to the root of your HBase installation. Warning: /home/sqoop-1.4.5-cdh5.3.6/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCatalog installation. Warning: /home/sqoop-1.4.5-cdh5.3.6/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. Warning: /home/sqoop-1.4.5-cdh5.3.6/../zookeeper does not exist! Accumulo imports will fail. Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation. 25/09/04 22:46:50 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5-cdh5.3.6 25/09/04 22:46:50 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 25/09/04 22:46:50 INFO oracle.OraOopManagerFactory: Data Connector for Oracle and Hadoop is disabled. 25/09/04 22:46:50 INFO manager.SqlManager: Using default fetchSize of 1000 25/09/04 22:46:50 INFO tool.CodeGenTool: Beginning code generation 25/09/04 22:46:50 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection java.sql.SQLException: Io exception: The Network Adapter could not establish the connection at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:494) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:465) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at org.apache.sqoop.manager.OracleManager.makeConnection(OracleManager.java:327) at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:736) at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:759) at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:269) at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:240) at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:226) at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:295) at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833) at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645) at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) 25/09/04 22:46:50 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1651) at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
最新发布
09-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值