我在Oracle 11g r2中的Sql developer4.1中恢复大小为8.14GB的数据库时遇到了问题。它给出了java.io.IOException的错误。 像这样 -
java.io.IOException: exception loading F:\PROJECTS\NJ_State_iCare\ICARE_BACKUP.sql
at oracle.ide.model.TextNode.openImpl(TextNode.java:549)
at oracle.ide.model.Node.open(Node.java:1045)
at oracle.ide.model.Node.open(Node.java:992)
at oracle.ide.model.Node.ensureOpen(Node.java:2417)
at oracle.ide.model.TextNode.acquireTextBuffer(TextNode.java:767)
at oracle.dbtools.worksheet.editor.WorksheetGUI.<init>(WorksheetGUI.java:818)
at oracle.dbtools.worksheet.editor.Worksheet.createGUI(Worksheet.java:1027)
at oracle.dbtools.worksheet.editor.Worksheet.getWorksheetGUI(Worksheet.java:1376)
at oracle.dbtools.worksheet.editor.Worksheet.getGUI(Worksheet.java:1190)
at oracle.ide.editor.Editor.getDefaultFocusComponent(Editor.java:233)
at oracle.dbtools.worksheet.editor.Worksheet.getDefaultFocusComponent(Worksheet.java:1151)
at oracle.dbtools.worksheet.editor.Worksheet.open(Worksheet.java:1473)
at com.oracle.jdeveloper.nbwindowsystem.editor.EditorState.openEditor(EditorState.java:318)
at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPane.doLayout(SplitPane.java:580)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.whenCurrentEditorChanges(NbEditorManager.java:1591)
at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.whenCurrentEditorChanges(TabGroup.java:1026)
at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.setCurrentTabGroupState(TabGroup.java:847)
at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.addTabGroupState(TabGroup.java:129)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:546)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:523)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.openEditor(NbEditorManager.java:391)
at oracle.ide.cmd.OpenCommand.openWithNoProject(OpenCommand.java:337)
at oracle.ide.cmd.OpenCommand.access$100(OpenCommand.java:62)
at oracle.ide.cmd.OpenCommand$1.run(OpenCommand.java:266)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)
at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.OutOfMemoryError: Java heap space
at oracle.javatools.buffer.VectorBuffers.addBuffer(VectorBuffers.java:96)
at oracle.javatools.buffer.EOLNormalizer.process(EOLNormalizer.java:157)
at oracle.javatools.buffer.EOLNormalizer$ReaderNormalizer.normalizeData(EOLNormalizer.java:307)
at oracle.javatools.buffer.AbstractTextBuffer.read(AbstractTextBuffer.java:1406)
at oracle.javatools.buffer.AbstractTextBuffer.read(AbstractTextBuffer.java:1350)
at oracle.javatools.buffer.TextBufferDecorator.read(TextBufferDecorator.java:468)
at oracle.ide.model.TextNode.loadTextBuffer(TextNode.java:307)
at oracle.ide.model.TextNode.openImpl(TextNode.java:537)
at oracle.ide.model.Node.open(Node.java:1045)
at oracle.ide.model.Node.open(Node.java:992)
at oracle.ide.model.Node.ensureOpen(Node.java:2417)
at oracle.ide.model.TextNode.acquireTextBuffer(TextNode.java:767)
at oracle.dbtools.worksheet.editor.WorksheetGUI.<init>(WorksheetGUI.java:818)
at oracle.dbtools.worksheet.editor.Worksheet.createGUI(Worksheet.java:1027)
at oracle.dbtools.worksheet.editor.Worksheet.getWorksheetGUI(Worksheet.java:1376)
at oracle.dbtools.worksheet.editor.Worksheet.getGUI(Worksheet.java:1190)
at oracle.ide.editor.Editor.getDefaultFocusComponent(Editor.java:233)
at oracle.dbtools.worksheet.editor.Worksheet.getDefaultFocusComponent(Worksheet.java:1151)
at oracle.dbtools.worksheet.editor.Worksheet.open(Worksheet.java:1473)
at com.oracle.jdeveloper.nbwindowsystem.editor.EditorState.openEditor(EditorState.java:318)
at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPane.doLayout(SplitPane.java:580)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.whenCurrentEditorChanges(NbEditorManager.java:1591)
at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.whenCurrentEditorChanges(TabGroup.java:1026)
at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.setCurrentTabGroupState(TabGroup.java:847)
at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.addTabGroupState(TabGroup.java:129)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:546)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:523)
at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.openEditor(NbEditorManager.java:391)
at oracle.ide.cmd.OpenCommand.openWithNoProject(OpenCommand.java:337)
at oracle.ide.cmd.OpenCommand.access$100(OpenCommand.java:62)
at oracle.ide.cmd.OpenCommand$1.run(OpenCommand.java:266)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
没有找到问题的根源。如果有人能猜到请建议。
答案 0 :(得分:1)
默认情况下,SQL Developer的堆大小似乎是810942464字节(Help-&gt; About-&gt; Properties),尽管它的指定为800M。
您可以通过关闭SQL Developer并编辑配置文件来更改它;在Windows上:
%USERPROFILE%\AppData\Roaming\sqldeveloper\1.0.0.0.0\product.conf
在底部,您会看到如下设置:
AddVMOption -Xmx800m
将其更改为更高的值,例如:
AddVMOption -Xmx1024m
...重新启动SQL Developer,检查About中的值(我现在说的是1037959168字节)。您可能需要更多,但这只是一个例子。您可以使用的最大值受到您所在平台和this may be of interest if your JVM won't start with larger values的限制。在某些时候,你可能只是试图做一些机器无法处理的事情。