大家好:
请问,在oracle 中edit命令之后,出不来vi 的界面是怎么回事啊!
(1)有的帐户的提示信息是 
SP2-0110:Cannot create save file "afiedt.buf"
(2)有的帐户的提示信息是
Wrote file afiedt.buf 
21 
然后再按第几行,例如1
他就把第一行显示出来了,可是没有办法编辑阿,用vi的一些命令都用不了,是怎么回事啊,
 
请各位高手帮忙,谢谢!

解决方案 »

  1.   

    set _editor=viSP2-0110:Cannot create save file "afiedt.buf" 
    ================================================
    估计是权限的问题
      

  2.   

    应该不是权限的问题,我用的是ROOT账户啊
      

  3.   

    用 set editfile /xxxx/xxxxxx.buf
    把临时文件修改到别处试试。
      

  4.   

    原因是因為afiedt.buf的檔案屬性被修改為唯讀(Read-Only)只要將他取消就能正常使用了.
      

  5.   

    使用pl/sql、toad等好的开发工具来方便地管理和编写程序代码。
      

  6.   


    猜测楼主说的是二楼吧,
    修改 ?/sqlplus/admin/glogin.sql 文件,增加一个sqlplus 的登陆参数_editor,这样在sqlplus中可以使用自定义的编辑器define _editor=vi /* 或者楼主想要的编辑器 */
      

  7.   

    我也遇到了同样的问题,下面我简单描述一下:我是以 oracle 身份登录linux,然后 运行sqlplus
    然后键入 edit 命令,结果出现如楼主所述情。无奈之下又以 root 身份登录linux然后切换到oracle用户(su - oracle)
    再后来运行 sqlplus ,然后执行 edit,一切正常!
      

  8.   

    我终于知道为什么了……
    Cannot create save file "afiedt.buf"
    因为在执行 edit的时候 "afiedt.buf" 文件默认保存在你键入sqlplus命令时所在目录中
    比如:你在 / 目录下进入sqlplus, 当你用edit时,"afiedt.buf"文件就会保存到 / 目录中
    但oracle用户是没有权限在 / 目录下写入数据的,所以就会报错!
    因此在进入 sqlplus 前应先转到oracle权限许可的目下。