2014-02-14 115 views
1

我有一個Linux VM(與CentOS 64位)在哪裏我安裝了Oracle數據庫11g速成版。數據庫正在運行,我可以使用sqlplus,我可以創建表和東西。然而,當我跑這將插入一個巨大的隨機數據量(約2萬行)我得到這個錯誤一定的SQL腳本:ORA-30009:沒有足夠的內存CONNECT BY操作

ORA-30009: Not enough memory for CONNECT BY operation 

我已經嘗試過增加PGA_AGGREGATE_TARGET與下面的命令。據我所知這應該解決問題(但它不),因爲它增加了內存。

ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 40M scope = both; 

然而,問題是,我不能設置比〜40M(這似乎是不夠的)高PGA_AGGREGATE_TARGET。如果我嘗試將其設置爲100M或者更多,我得到另一個錯誤:

ERROR at line 1: 
ORA-02097: parameter cannot be modified because specified value is invalid 
ORA-47500: XE edition memory parameter invalid or not specified 

任何想法如何,我可以解決這個問題?對我來說重新安裝整個數據庫或其他東西是完全正確的。

PS:我在dba.stackexchange.com上問過同樣的問題,因爲我不確定它是編程還是數據庫管理。

+0

init.ora中的「memory_target」值是什麼? – Alexander

+0

這是'memory_target = 1G' –

+0

我不確定,但[this](https://community.oracle.com/thread/2283896?start=0&tstart=0)可能可以幫助 – Alexander

回答

0

您使用的是Oracle 11g Express版本,它有一定的限制,如數據庫大小不會增長超過11g,內存SGA + PGA不會增長超過1 GB。這意味着,你遇到了這個限制。如果您無法擴展PGA,則需要先減小SGA大小,然後再次嘗試。我會獲得成功。

相關問題