首页 / 数据库 / MySQL / ORA-30009: CONNECT BY 操作内存不足
今天在Oracle 11g的环境上制造数据碰到ORA-30009: CONNECT BY 操作内存不足,10g开始支持XML后,改为xmltable就可以了。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;Oracle 单实例 从32位 迁移到 64位 方法 http://www.linuxidc.com/Linux/2012-03/55759.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htmOracle导入导出expdp IMPDP详解 http://www.linuxidc.com/Linux/2014-04/99932.htmOracle 10g expdp导出报错ORA-4031的解决方法 http://www.linuxidc.com/Linux/2014-04/99842.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址