ora-12560:tns:协议适配器错误
看注册表当前ORACLE_SID是什么
ORA-01033: ORACLE initialization or shutdown in progress
用备份恢复

解决方案 »

  1.   

    to wanghai 
    注册表确实有问题
    改正后不再提 ora-12560:tns:协议适配器错误不过当我用exp把某些数据到出时
    提示:
    "
    . . 正在导出表         mytable
    EXP-00056: ORACLE 错误1115出现
    ORA-01115: 从文件 8 读取块时出现 IO 错误 (块 # 10345)
    ORA-01110: 数据文件 8: 'D:\ORACLE\ORADATA\TESTORAC\OEM_REPOSITORY.ORA'
    ORA-27091: skgfqio: 无法进行 I/O 操作
    OSD-04006: ReadFile() 失败,无法自文件读取
    O/S-Error: (OS 1450) 滚动条范围不可大于 MAXLONG。
    导出成功终止,但出现警告。"是硬盘出了坏块还是我的某些参数不正确?
      

  2.   

    除了硬盘损坏以外,还有可能是你的表空间文件的某些块(block)逻辑上损坏。
      

  3.   

    建议你对整个数据库进行一个完整地分析。
    execute dbms_utility.analyze_database()
    好像是这个工具包,具体的过程名可能不完全准确,你先用desc看一下。
      

  4.   

    to liu7537 execute dbms_utility.analyze_database('ESTIMATE');
    第一个参数
    取COMPUTE,ESTIMATE,delete 由何区别前两个提示都为

    ERROR 位于第 1 行:
    ORA-01115: 从文件 10 读取块时出现 IO 错误 (块 # 44)
    ORA-01110: 数据文件 10: 'D:\ORACLE\ORADATA\TESTORAC\SYSTEM02.ORA'
    ORA-27091: skgfqio: 无法进行 I/O 操作
    OSD-04006: ReadFile() 失败,无法自文件读取
    O/S-Error: (OS 1450) 滚动条范围不可大于 MAXLONG。
    ORA-06512: 在"SYS.DBMS_DDL", line 156
    ORA-06512: 在"SYS.DBMS_UTILITY", line 279
    ORA-06512: 在line 1

    用delete参数
    提示 SQL 过程已成功完成。
    再用COMPUTE,或ESTIMATE
    还提示“
    ERROR 位于第 1 行:
    ORA-01115: 从文件 10 读取块时出现 IO 错误 (块 # 44)
    ORA-01110: 数据文件 10: 'D:\ORACLE\ORADATA\TESTORAC\SYSTEM02.ORA'
    ORA-27091: skgfqio: 无法进行 I/O 操作
    OSD-04006: ReadFile() 失败,无法自文件读取
    O/S-Error: (OS 1450) 滚动条范围不可大于 MAXLONG。
    ORA-06512: 在"SYS.DBMS_DDL", line 156
    ORA-06512: 在"SYS.DBMS_UTILITY", line 279
    ORA-06512: 在line 1
    ”怎么办?
      

  5.   

    可能是你的数据文件坏了你可以检查一下*ALRT.txt,(*是数据库实例名称),如果发现某个数据文件坏了,可以这么做
    1、进入svrmgrl
    2、startup mount
    3、alter database datafile 'D:\ORACLE\ORADATA\OTA\PERSPACE36.DBF' offline drop;
    4、alter database open;试试吧
      

  6.   

    补充:'D:\ORACLE\ORADATA\OTA\PERSPACE36.DBF'改为损坏的数据文件