用户使用“sqlplus username/passwd@instance”可以登录
但是,使用sqlplus--username--passwd,分别输入,却不能登录,原因是没有指定需要进入的instance。
现在的情况是程序不能使用“sqlplus username/passwd@instance”命令,而要用后一种方式。

解决方案 »

  1.   

    在注册表里面修改键值
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\ORACLE_SID
    改为你的实例名称
      

  2.   

    可是程序是运行在oracle数据库服务器上面,HP-UNIX
    实际上我修改了一些参数,使oracle安装的初始用户oracle可以以那种方式登录
    但是,程序有些要求,必须使用另外的用户CBS,我将oracle的环境全部复制到用户CBS,却不能以那种方式登录
      

  3.   

    unix下好像也有个类似环境变量等待下面高人……
      

  4.   

    你设置一下ORA_SID这个变量试试不过既然你已经我将oracle的环境全部复制到用户CBS,那就不是这个ORA_SID问题了
      

  5.   

    可能问题出现在怎样定义unix系统的operating-system variable pointing instance。
    请关注!
      

  6.   

    从oracle用户下拷贝.profile文件导cbs用户,然后执行改文件生效啊。使用env命令可以看到ORACLE_SID=cbs啊。文件如下:
    # @(#)B.11.11_LR       # Default user .profile file (/usr/bin/sh initialization).# Set up the terminal:
    if [ "$TERM" = "" ]
    then
    eval ` tset -s -Q -m ':?hp' `
    else
    eval ` tset -s -Q `
    fi
    stty erase "^H" kill "^U" intr "^C" eof "^D"
    stty hupcl ixon ixoff
    tabs# Set up the search paths:
    PATH=$PATH:.# Set up the shell environment:
    set -u
    trap "echo 'logout'" 0# Set up the shell variables:
    EDITOR=vi
    export EDITOR
    umask 022
    export DISPLAY=192.168.2.58:0.0
    export ORACLE_HOME=/o9/product/9.2.0.1.0
    export ORACLE_BASE=/o9
    export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    export PATH=$PATH:$ORACLE_HOME/bin:/usr/bin:/etc:/usr/bin/X11:/usr/local/bin
    export SHLIB_PATH=.
    #export ORACLE_SID=gxgh
    export ORACLE_SID=cbs
    #export ORACLE_SID=icbcgx
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    export LIBPATH=.
      

  7.   

    在hp上还有多个数据库,其中一个的实例名是cbs?
    是这样吗?
    还是只有一个实例?
      

  8.   

    多个实例啊
    这个问题我删除了其他的实例解决了
    oracle公司说除了环境变量之外,没有unix系统的operating-system variable pointing instance概念了,奇怪。
    结帖。