楼上,你说的好象是windows系统吧

解决方案 »

  1.   

    用sqlplus启动后,create pfile from spfile
    然后就可以了,也可以编辑dbstart脚本来改.
      

  2.   

    报的错误是找不到相应的init文件,你只要在你的脚本中重新指定init文件就可以了
      

  3.   

    楼上诸位:
    我看了一下dbstart脚本,有如下脚本:
    ......
    PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
    ......
    if [ -f $PFILE ] ; then
                        case $VERSION in
                            "6")  sqldba command=startup ;;
                            "internal")  $SQLDBA <<EOF
    connect internal
    startup
    EOF
                                ;;
                            *)  $SQLDBA <<EOF
    connect / as sysdba
    startup
    EOF
                                ;;
                        esac                    if test $? -eq 0 ; then
                            echo ""
                            echo "Database \"${ORACLE_SID}\" warm started."
                        else
                            echo ""
                            echo "Database \"${ORACLE_SID}\" NOT started."
                        fi
                    else
                        echo ""
                        echo "Can't find init file for Database \"${ORACLE_SID}\"."
                        echo "Database \"${ORACLE_SID}\" NOT started."
                    fi
    ......
    ==============================================
    但在$ORACLE_HOME/dbs下的所有文件只有下面几个:
    initdw.ora
    init.ora
    lkDB_GLOB
    orapworcl
    spfileorcl.ora请教:
    1.我能否将dbstart脚本中的PFILE变量用SPFILE代替,修改下面的语句:
    PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
    成:SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
    这样修改可以吗?2.pfile、spfile、init.ora到底有什么区别?
    不是说oracle9i的默认启动文件是spfile,但在这个dbstart中却好象显示的是pfile,这是为什么?
      

  4.   

    1.应该可以的.
    2.dbs下的init.ora是一个例子,spfileSID.ora是spfile,如果你用create pfile from spfile会在目录下生成一个initSID.ora.