小弟的公司有两台RedHat Linux5.5,加一台SAN,做了Oracle 10G的RAC,ASM
没有设置FlashBack,没有设置备份
生产库某技术人员不懂RAC,在RAC1上建立了一个Undo表空间数据文件
/oracle/product/10.2.0/db_1/dbs/undotbs1.3小弟把它off line了,本以为没事了,可是很多insert、update的时候都会报错:INSERT失败.错误为:
ORA-00376: file 38 cannot be read at this time
ORA-01110: data file 38: '/oracle/product/10.2.0/db_1/dbs/undotbs1.3'小弟不懂Oracle的管理,只懂些开发,所以请各位大侠能帮小弟一把,给小弟的答案最好是有具体步骤和命令。先行谢过了~~~~

解决方案 »

  1.   

    startup mount;
    alter database datafile 38 online;
    alter database open;这样不行?
      

  2.   

    既然已经 offline 了,索性把这个数据文件迁移到 asm 中。1. 在 asmcmd 下,copy 数据文件到 ASM 卷中asmcmd> cp /oracle/product/10.2.0/db_1/dbs/undotbs1.3 +DATA/xxxx/xxxx2. sqlplus 下修改数据文件路径sql> alter database xxx rename file 'xxxx' to 'xxxx...';3. sqlplus 下
     sql> alter database xxx online;
      

  3.   

    1. 10g的asm 没有cp命令
    2. 你的问题可以先offline掉undo文件,然后通过rman的copy命令拷贝到asm中,然后修改控制文件中该文件的路径,然后recover dataifle 38,最后online
      

  4.   

    各位老大,我现在想把这个文件重新OnLine都不行,提示数据已经损坏,怎么办???
      

  5.   


    11g  有 cp