这样试试:
oracle$sqlplus /nolog
SQL>conn sys/change_on_install@ora9i as sysdba

解决方案 »

  1.   

    # oracle$sqlplus "/ as sysdba
    sql>alter user sys IDENTIFIED BY change_on_install;
    sql>connect sys/change_on_install
      

  2.   

    楼上两位肯定没有看过oracle关于sysdba登录认证方法的原始联机文档,想必高手不屑于看oracle的联机文档,是高手的悲哀,也是oracle的悲哀!高手不屑于看联机文档(抑或没有时间看),自然是高手的悲哀。但是oracle把一个登录认证过程搞得很复杂,也是oracle的悲哀。不能怪oracle,为了保证验证的灵活性,不复杂是不行的,但是个人认为oracle的失败在于它提供了一个复杂的方法的同时,不提供一个简单的方法,恰恰sqlserver在这点上做的很好。哪怕是一个接触oracle比较长时间的人,想要准确回答楼主的问题,需要了解的东西很多:1.首先,要知道9i用sys连接数据库时,必须以sysdba身份登录,8i及以下版本没有此限制
    2.其次,要能分清楚local connection和remote connection
    3.第三,要了解什么叫secure connection
    4.第四,要了解OS认证方法与密码文件认证方法的配置方式(windows和unix下配置还不同)
    5.第五,要了解如何创建一个OS认证用户
    6.第六,要了解如何创建密码文件和设置密码文件中的密码
    7.第七,要了解remote_login_passwordfile的值对认证方法的影响同样,楼主想要彻底弄清楚,也需要了解上面七条,如果出现tns错误,需要了解的还不止这些。这些东西在联机文档中oracle一共用了18页说的非常清楚,如果你有时间去看,远比在这得到一些错误的答案要强很多
      

  3.   

    to  回复人: drabit(square) ( )  
    请把楼主的问题看清楚了再做定论和做一些与主题无关的评论.
    楼主用的正是9i,而操作系统也不是windows系列,建议就楼主的问题提出你的建议与看法.在9i中的默认的具有sysdba权限的也只有sys账户(当然授权sysdba的用户除外).
    所以在连接时出现输入不规范也在所难免,但尝试寻找多种能解决问题的方法也
    未尝不可.另外请楼主贴出出错信息,以便大家帮你分析.
      

  4.   

    提示信息如下:
    [oracle:/oracle]sqlplus "sys/change_on_install@ora9i as sysdba"
    ERROR:
    ORA-01031: insufficient privileges
    还请各位高手指点.
      

  5.   

    app/oracle/product/9.2.0.2/network/admin/sqlnet.ora
    # Generated by Oracle configuration tools.
    #SQLNET.AUTHENTICATION_SERVICES=(NONE)
    NAMES.DIRECTORY_PATH= (TNSNAMES)
      

  6.   

    remote_login_passwordfile的值好象是Sharedrabit(square),哪可以找到联机文档?你有的话给我发邮箱一份好吗?邮箱[email protected],谢谢.
      

  7.   

    to zgh2003(世纪飞扬):
      
      可能我用语不当,实在抱歉。  我并不觉得自己所说的与问题无关。  我提出的第一条,是基于前面beckhambobo的回答,基于第一条,显然beckhambobo的回答是错误的。
      第二、三条,用tns方式连接数据库(@),是remote connection,oracle文档指出:用remote connection as sysdba时,只有两种验证途径:secure  connection和password file,TCP/IP连接并不是secure  connection。因此oracle$sqlplus "sys/change_on_install@ora9i as sysdba"只能采用password file验证方式(换言之,不能采用OS验证)。
      第四、五条,oracle$sqlplus "/ as sysdba"是local connection,采用OS认证,UNIX能登录的条件你的OS用户属于dba组,同时对/etc/password有读的权利;windows下你的OS用户属于ora_dba组同时SQLNET.AUTHENTICATION_SERVICES=(NTS)。
      第六条,oracle$sqlplus "sys/change_on_install@ora9i as sysdba"要想登录上,必须创建一个正确的password file。
      第七条,采用password file 认证时,remote_login_passwordfile不能为NONE
     
    to xiaoyaxiaoya:
      联机文档otn上有,google也有大把,下面就是一个链接:
    http://zuse.esnig.cifom.ch/database/doc_oracle/Oracle901_Linux/server.901/a90117/dba.htm#1064
      

  8.   

    drabit(square) ,昨天说错了,remote_login_passwordfile的值是exclusive
      

  9.   

    为了让高手们和oracle不再悲哀,
    向看过oracle关于sysdba登录认证方法的原始联机文档的高手们学习.
    :)
      

  10.   

    没人能解决吗?
    drabit(square),再发表点高论吧.