本人在linux下oracle10G数据库中用"exp"导出备份出现一下错误:
[oracle@dbserver1 ~]$ export ORACLE_SID=xjpj
[oracle@dbserver1 ~]$ echo $ORACLE_SID
xjpj
[oracle@dbserver1 ~]$ expExport: Release 10.2.0.1.0 - Production on Tue Nov 4 22:06:02 2008Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Username: xjpj
Password: EXP-00056: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
EXP-00005: all allowable logon attempts failed
EXP-00000: Export terminated unsuccessfully
[oracle@dbserver1 ~]$ 
然后用sqlplus  /nolog连接又出现如下问题:
[oracle@dbserver1 ~]$ sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Tue Nov 4 22:15:29 2008Copyright (c) 1982, 2005, Oracle.  All rights reserved.SQL> conn  /as sysdba
Connected to an idle instance.
SQL> 
出现这个:
Connected to an idle instance.就是备份不了,前几天还可以备份现在不行,网上查了查,有和我一样的问题,就是没有具体解决方法。同一个上面其它的数据都可以备份,不知道原因。
盼望各位指导...................小弟万分感谢!!

解决方案 »

  1.   

    alter database open;看可以不?
    不行的话重启实例
    conn  / as sysdba ;
    shutdown immediate;
    startup;
      

  2.   

    直接startup就可以搞定了。我遇到过这样的问题;
    sqlplus /nolog
    conn  / as sysdba 
    startup
      

  3.   

    楼上正确。楼主错误如下:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist 
    说明是数据库不可用。
      

  4.   

    两种可能:
    1。oracle_sid设置不对,可以通过 ps -eaf|grep ora 确认是不是正确
    2。oracle实例没有启动,所以不能exp,oracle用户通过如下启动:
    sqlplus /nolog
    conn / as sysdba
    startup force
    exit
      

  5.   

    以root用户登录:
    shutdown -hy 0   --立即关机;
    再进入Oracle$Home目录sqlplus /nolog 
    conn  / as sysdba; 
    startup;
      

  6.   

    问题解决了:
    [oracle@dbserver1 ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Tue Nov 4 22:15:29 2008 Copyright (c) 1982, 2005, Oracle.  All rights reserved. SQL> conn  /as sysdba 
    Connected to an idle instance. 
    SQL> 
    出现这个后:
    我继续输入:SQL> startup系统提示已经启动instance,中间部分没有复制出来。
    启动成功后变成:
    SQL>SQL>
    然后我重新exp后就可以顺利导出来了。
    非常感谢各位。