• ORACLE ORA-01157: 无法标识/锁定数据文件


    create undo tablespace MOZI datafile 'E:oracleproduct10.2.0oradataorclMOZI.DBF' size 2048M extent management local;
    alter system set undo_tablespace=MOZI;
    WINDOW下面的ORCL数据库提示:数据库未打开: 仅允许在固定表/视图中查询
    加载数据库时出错:
    RA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'D:TCM52.DBF'
    SQL> startup
    ORACLE 例程已经启动。
     
    Total System Global Area  293601280 bytes
    Fixed Size                  1290208 bytes
    Variable Size             209715232 bytes
    Database Buffers           75497472 bytes
    Redo Buffers                7098368 bytes
    数据库装载完毕。
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'D:TCM52.DB<span class="hilite">F</span>'
    原因:我在數據庫服務停止的時候,將數據文件D:TCM52.DBF刪除了。
    解決方法:
    SQL> startup
    ORACLE 例程已经启动。
     
    Total System Global Area  293601280 bytes
    Fixed Size                  1290208 bytes
    Variable Size             213909536 bytes
    Database Buffers           71303168 bytes
    Redo Buffers                7098368 bytes
    数据库装载完毕。
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'D:TCM52.DBF'
     
    SQL> alter database datafile 'd:TCM52.dbf' offline drop;
    数据库已更改。
     
    SQL> alter database open;
    数据库已更改。
     
    SQL> drop tablespace TCM52 including contents;
    表空间已删除。
     
    SQL> create undo tablespace TCM52 datafile 'E:oracleproduct10.2.0oradataTCM52.db<span class="hilite">f</span>' size 2048M extent management local;
    表空间已创建。
     
    SQL> alter system set undo_tablespace=TCM52;
    系统已更改。
    LINUX环境下出现类似的问题,转自itpub某大侠的博客
    SQL> conn /as sysdba;
    SQL> shutdown immediate
    SQL> startup mount;
    SQL>alter database datafile ‘/oracle/product/10.2/db_1/dbs/ AAAAAAAA’ offline drop;
    Database altered
    SQL> alter database tempfile ‘/oracle/product/10.2/db_1/dbs/ BBBBBBBB’ drop;
    Database altered
    SQL> alter database open;
    Database opened
    查询数据文件联、脱机状态,可以看到已offline的表空间
    SQL> select file#,name,status from v$datafile;
    接下来按照正常方式删除表空间
    SQL> drop tablespace PCS_DWCOMMON including contents and datafiles;
    Tablespace droped
    SQL> drop tablespace PCS_TEMP including contents and datafiles;
    Tablespace droped
    重新创建表空间
    SQL> CREATE TABLESPACE PCS_DWCOMMON DATAFILE 'AAAAAAAA' SIZE 5G AUTOEXTEND OFF;
    Tablespace created
    SQL> CREATE TEMPORARY TABLESPACE PCS_TEMP TEMPFILE 'BBBBBBBB' SIZE 20G AUTOEXTEND OFF;
    Tablespace created
    搞定。这里要注意一下,因为我的是RAC环境,所以在置表空间为offline的时候需要两个数据库都shutdown,然后启动一台或者两台到mount状态下操作。

  • 相关阅读:
    mysql(自动添加系统时间)timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
    五分钟带你了解啥是JWT
    Eureka和ZooKeeper的区别
    SpringCloud系列之: Eureka注册中心原理及其搭建
    总结下微服务中降级、熔断,以及springcloud中Hystrix的原理以及实现
    POJ1113:Wall (凸包算法学习)
    Java-Graphics类的绘图方法实现
    java.awt.event.MouseEvent鼠标事件的定义和使用 以及 Java Swing-JTextArea的使用
    java swing JDialog 和 java.util.concurrent的使用
    Java-Swing的JFrame的一些插件使用详解
  • 原文地址:https://www.cnblogs.com/zhangkaimin/p/4452812.html
Copyright © 2020-2023  润新知