我的机子用的用的突然掉电了,重启后再访问oracle时就有情况了,用普通用户登陆时显示:ora-01033:oracle initialization or shutdown in progress,然后我试的用sys登陆还好可以通过plussql登陆进去,我想关闭一下数据库,然后重启吗?但是用shutdown immediate去关闭数据库时,他老讲sql语句无效,不知道为什么,然后就是看服务的时候他显示一启动.等陆sqlplus时也显示:ora-01033:oracle initialization or shutdown in progress错误,请问各位高手这是什么原因啊??
还有小妹想问的是:这种情况下数据库是不是就荡掉了啊??
我想恢复数据,请问各位高手怎么做啊??有没有好的方法??请各位帮帮忙!小妹谢谢了!!

解决方案 »

  1.   

    重起一下服务,然后as sysdba连接看看,最好看看log中提示什么。
      

  2.   

    数据库正在启动或者关闭过程中,wait a moment
      

  3.   

    如果是windows,先停止所有oracle有关的服务,然后再重起如果是unix,用ps -ef|grep ora看看有什么oracle相关的进程在运行,先kill掉,然后再在sqlplus里startup
      

  4.   

    请问log怎么看啊,谢谢??我用的是advance server2000
      

  5.   

    看看你的数据库有没有启动起来。用startup试试
      

  6.   

    1 建一个包create or replace package pak is
      type cur is ref cursor;
      procedure collist(name varchar2,c2 in out cur);
    end;create or replace package body pak is  procedure collist(name varchar2,colname varchar2,c2 in out cur) is 
        str varchar2(200);
        cursor c1(tbname varchar2) is select column_name col 
          from user_tab_columns where lower(table_name)=lower(tbname);
      begin
        for rec in c1(name) loop
          str:=str||rec.col||',';
        end loop;    
        
        str:=substr(str,1,length(str)-1);    
        open c2 for 'select '||str||' from '||name;
      end;
    end;过程collist的参数说明:
    name  要查询的表名,c2 游标变量,用于传递结果集2 使用方法:sqlplus中var cur refcursor;
    set autoprint on
    set linesize 1000
    exec pak.collist('a_'||to_char(sysdate,'yymmdd'),:cur);
      

  7.   

    log目录:bdump\alert_***.log  看看