Oracle ORA-01157: 无法标识/锁定数据文件。这里要注意一下,因为我的是RAC环境,所以在置表空间为offline的时候需要两个数据库都
create undo tablespace MOZI datafile 'E:\Oracle\product\10.2.0\oradata\orcl\MOZI.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.DBF'
原因:我在數據庫服務停止的時候,將數據文件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:\oracle\product\10.2.0\oradata\TCM52.dbf' 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状态下操作。
更多Oracle相关信息见Oracle 专题页面 ?tid=12

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号