【问题标题】:Restore Previous Command in Oracle在 Oracle 中恢复上一个命令
【发布时间】:2013-03-25 16:44:29
【问题描述】:

是否有一种简单的方法可以访问以前在 Oracle 中输入的命令?例如,在使用 Linux 终端时,可以按“向上箭头”键并遍历命令历史记录。 Oracle 是否提供类似的便捷功能?

提前致谢。

【问题讨论】:

    标签: oracle command


    【解决方案1】:

    不是内置的,不。

    在 DOS SQL*PLUS 中,您会遇到这种情况(即向上箭头转到前面的命令)。

    在 linux sql*plus 中没有。话虽如此,Linux 上有一个名为rlwrap 的不错的实用程序可以为我们做这件事。首先安装该实用程序,然后设置一个别名(将其粘贴到您的 .profile 中,这样您就不必每次打开 shell 时都运行它):

    oracle@dazza-linux64:~$ alias sqlplus='rlwrap sqlplus'
    

    现在无论何时启动 sql*plus:

    oracle@dazza-linux64:~$ sqlplus / as sysdba
    

    您将获得所需的向上/向下箭头功能。

    【讨论】:

    • 感谢您的解决方案。不幸的是,我的 Oracle 帐户在大学的企业系统上,所以我不相信我可以安装“rlwrap”。在我的问题中,我应该更清楚这一点。无论如何,谢谢您的解决方案。
    【解决方案2】:

    在 Windows 客户端中有两个 SQL*Plus 命令行实用程序:一个是 DOS 外观的 (sqlplus.exe) 和一个是 Windows 外观的 (sqlplusw.exe)。 DOS 类型的版本具有“向上箭头”功能,此外,您可以按 F7 键查看以前的命令列表,但请注意,它不能很好地处理多行命令。

    Windows 类型的版本不支持 uparrow 或 F7,但您可以突出显示先前的查询,然后复制/粘贴。您还可以在按住左键的同时执行 *nix 右键单击​​技巧以立即进行复制/粘贴。它在多行命令中表现良好,但我不得不承认我真的很想在这里也有向上箭头 :)

    【讨论】:

    • sqlplusw 早就被弃用了。据我记得它甚至没有出现在 11g 中
    • 感谢您的提醒!我没有意识到。在我的主要 Oracle 客户中,我们使用 Oracle 11g 服务器但使用 9i 客户端(甚至可能是 8i)至少几年了。它工作正常,除非它让我在 SO 上发表一个令人尴尬的帖子:)
    【解决方案3】:

    这不是“Oracle”本身的功能,而是客户端和/或操作系统的功能。例如,如果我在 Windows 上运行 SQL*Plus,向上/向下箭头的功能与您描述的一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      相关资源
      最近更新 更多