【问题标题】:Out of Memory Error : when executing Very Large Scripts in toad内存不足错误:在 toad 中执行非常大的脚本时
【发布时间】:2014-09-08 12:40:13
【问题描述】:

我正在使用

  • Oracle 数据库 10g 企业版版本 10.2.0.3.0 - 产品 &
  • Toad for oracle 10.6.1.3

当我尝试运行大约有 84,000 + 记录的插入语句时,它显示 Out of Memory 错误。这是错误图像。

任何人请给我建议,我应该如何在 toad 中执行这个插入脚本。

P.S : 因为 toad 正在连接到远程机器,所以我无法使用 SQLPLUS 运行它。如果有人知道这样做的选择,请告诉我。

如果您需要更多信息,请在我将为您提供的评论框中举手。

【问题讨论】:

  • 这不是编程问题,可能会被关闭。通常你会通过 FTP/SFTP 将这么大的脚本上传到服务器,然后通过 SSH 登录,然后使用 SQLPLUS 运行脚本。
  • 如果这个脚本是一个包含多个插入语句的插入脚本,并且如果不能将脚本上传到服务器并通过 ssh 登录并使用 SQLPLUS 运行脚本,那么我建议划分和征服。在文本编辑器中将脚本拆分为更小的部分,直到获得足够小的部分以使 TOAD 不会导致内存不足。
  • 好的,我们是否可以查询在 toad 中运行这个脚本文件??
  • 提交也可能有帮助
  • 当然您可以使用 SQL*Plus 连接到远程服务器。毕竟,这正是该工具的用途。您可能需要将其添加到您的tnsnames.ora

标签: oracle oracle10g sqlplus toad


【解决方案1】:

当我想执行 sql 脚本 70k 行时,我遇到了同样的错误。

但我就这样解决了。

  • 首先 您应该使用 sqlplus 命令运行它。登录 sqlplus 并运行 这个命令

    @scriptName.sql

  • 其次(这是备选方案) 您可以在 oracle 中使用 DBLINK

【讨论】:

    【解决方案2】:

    bpgergo 建议使用 FTP 将 sql 文件复制到远程计算机,然后打开您的 SQLPLUS

    在 SQLPLUS 中执行此步骤。

    第 1 步:使用以下查询更改当前会话。

    alter session set current_schema = Schema_Name; 
    

    这里,SCHEMA_NAME 是插入查询表的架构名称。

    第 2 步:使用以下查询执行 sql 脚本文件。

    @{PATH}/FILE_NAME.SQL
    

    例如: @D:/oracle/script/FILE_NAME.SQL

    这里,D:/oracle/script/ 是文件可用位置,FILE_NAME 是您的 sql 脚本文件名。

    现在,它会按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      相关资源
      最近更新 更多