ITPub博客

首页 > 数据库 > Oracle > 在向表中插入大量行时,提示ora-30009错误的解决过程

在向表中插入大量行时,提示ora-30009错误的解决过程

原创 Oracle 作者:ogam 时间:2016-12-21 09:02:25 0 删除 编辑
问题:
SQL> insert into log_ select level lv,rownum rn from dual connect by level<=10000000;
insert into log_ select level lv,rownum rn from dual connect by level<=10000000
            *
第 1 行出现错误:
ORA-30009: CONNECT BY 操作内存不足


解决第一步:
SQL> insert /*+append*/ into log_ select level lv,rownum rn from xmltable('1 to 10000000');
insert /*+append*/ into log_ select level lv,rownum rn from xmltable('1 to 10000000')
                        *
第 1 行出现错误:
ORA-01788: 此查询块中要求 CONNECT BY 子句


解决第二步:
SQL> conn /as sysdba
已连接。
SQL> alter system set "_allow_level_without_connect_by"=true;
系统已更改。


解决第三步:
SQL> conn hr/hr
已连接。
SQL> insert into log_ select level lv,rownum rn from xmltable('1 to 10000000');
已创建10000000行。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16712909/viewspace-2131091/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-08-31

  • 博文量
    11
  • 访问量
    37264