千家信息网

数据库数据文件和控制文件恢复

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,数据库数据文件和控制文件恢复一次数据库数据文件和控制文件丢失或未创建恢复数据库启动方法该文档适用数据恢复:数据库安装的时候丢失控制文件和数据文件或者数据库故障的数据、控制文件丢失或者数据库的本来数据、
千家信息网最后更新 2026年11月01日数据库数据文件和控制文件恢复

数据库数据文件和控制文件恢复
一次数据库数据文件和控制文件丢失或未创建恢复数据库启动方法
该文档适用数据恢复:
数据库安装的时候丢失控制文件和数据文件
或者数据库故障的数据、控制文件丢失
或者数据库的本来数据、控制文件丢失有备份文件,用备份文件恢复
本文的环境变量
ORACLE_BASE=/oo/oracle
ORACLE_HOME=/oo/oracle/11g

1.数据库启动报错
数据库启动时报错:

报错1:SQL> startupORA-01261: Parameter db_recovery_file_dest destination string cannot be translatedORA-01262: Stat failed on a file destination directoryLinux-x86_64 Error: 2: No such file or directory报错2:通过手动制定启动数据库init.ora文件SQL> startup mount pfile='/oo/oracle/11g/dbs/init.ora'ORA-09925: Unable to create audit trail fileLinux-x86_64 Error: 2: No such file or directoryAdditional information: 9925

根据init.ora文件中的信息进行创建目录,并给权限
将init.ora文件中ORACLE_BASE换成环境变量中的绝对路径
路径:/oo/oracle/11g/dbs

解决方案:
把init.ora中的目录都创建并且添加权限
mkdir -p /oo/oracle/flash_recovery_area
mkdir -p /oo/oracle/admin/orcl/adump
chmod 755 /oo/oracle/flash_recovery_area
chmod 755 /oo/oracle/admin/orcl/adump
chown oracle:oinstall /oo/oracle/admin/orcl/adump
chown oracle:oinstall /oo/oracle/flash_recovery_area/
注:这两个报错信息都是目录文件不存在
2.手动启动数据库
创建目录并给权限后通过手动制定启动数据库init.ora文件
SQL> startup mount pfile='/oo/oracle/11g/dbs/init.ora'
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size 2220200 bytes
Variable Size 616566616 bytes
Database Buffers 444596224 bytes
Redo Buffers 5554176 bytes
ORA-00205: error in identifying control file, check alert log for more info
/oo/oracle/11g/dbs

SQL> create pfile='/oo/oracle/11g/dbs/initorcl.ora' from spfile;File created.SQL> create spfile from pfile='/oo/oracle/11g/dbs/initorcl.ora';File created.

使用了如上方法创建spfile文件但是启动还是报错,错误原因就是这个目录下面没有如下这些文件导致的报错,并且这些文件都没有是个空的目录。

如果数据库没有备份,可以去其他正常的oracle数据库中找两个控制文件
具体控制文件放在的位置可以查看系统日志文件alert_orcl.log
路径:/oo/oracle/diag/rdbms/orcl/orcl/trace

找两个控制文件放到该目录下面/oo/oracle/11g/dbs
然后再次创建并重启数据库
create spfile from pfile='/oo/oracle/11g/dbs/init.ora';
startup mount pfile='/oo/oracle/11g/dbs/initorcl.ora'
注:每次再SQL中startup 后,再次启动前要先停shutdown

3.控制文件恢复后
有控制文件后再次启动数据库时报错信息变为系统数据文件system01.db找不到
报错3:
SQL> startup
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size 2220200 bytes
Variable Size 616566616 bytes
Database Buffers 444596224 bytes
Redo Buffers 5554176 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/oracle/oracle/oradata/orcl/system01.dbf'
去到目录下面查看时确实没有system01.dbf该文件并且这些文件都没有是个空的目录

没有日志文件和数据库文件使用recover恢复时一定会报如下错的。
上面的文件是从其他oracle数据库服务器复制的
报错4:
SQL> startup
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size 2220200 bytes
Variable Size 616566616 bytes
Database Buffers 444596224 bytes
Redo Buffers 5554176 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oracle/oradata/orcl/system01.dbf'

alter database datafile '/oracle/oracle/oradata/orcl/system01.dbf' offline drop;
报错5:
ORA-01147: SYSTEM tablespace file 1 is offline
ORA-01110: data file 1: '/oracle/oracle/oradata/orcl/system01.dbf'
住:该报错信息就是上面的命令导致的在重新online就可以了
alter database datafile '/oracle/oracle/oradata/orcl/system01.dbf' online ;
然后使用recover命令进行恢复
recover datafile '/oracle/oracle/oradata/orcl/system01.dbf'; --恢复数据库文件
recover tablespace system; --恢复表空间
recover database; --恢复数据库
操作:
SQL>recover datafile '/oracle/oracle/oradata/orcl/system01.dbf';
SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/oracle/oracle/oradata/orcl/test_data01.dbf'
因为是从其他机器上面复制的dbf数据文件和redo日志没有复制完全,将报错的这个文件复制进去后再次使用该命令后,数据库启动了
报错的原因是复制别的数据库的文件时没有复制完全,表中有数据所以复制的数据库服务器中的数据文件需要都复制过去,建议复制初始化的数据库服务器中的文件。
SQL> ALTER DATABASE OPEN;

Database altered.

SQL> select STATUS from v$instance;

STATUS
------------
OPEN

SQL> select from all_tables;
select
from all_tables
*
ERROR at line 1:
ORA-01775: looping chain of synonyms
但是使用简单查询时报错了
重启一下数据库就可以了shutdown startup 再次启动后就和正常的一样了

oracle导入sql文件SQL>@/oo/PC_CORE01.sql
br/>SQL>@/oo/PC_CORE01.sql

文件 数据 数据库 控制 目录 再次 信息 两个 命令 备份 手动 日志 时报 服务器 权限 路径 服务 原因 变量 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 上海喔噻互联网科技有限公司 南京欣网互联网络科技有限公司 广州紫鲸互联网科技有限公司 互联网科技工作委员会毛军 新华互联网科技学院 唐信互联网科技 上海万想互联网科技 丰台科技园 互联网公司 恒生科技互联网指数分析 湖南诚度互联网科技有限公司 宁夏科技产业互联网案例 湖北码尼互联网科技有限公司电话 阿大互联网科技有限公司 米聚互联网科技南京有限公司排面 科技赋能视角下互联网保险发展 梅州GM互联网络科技有限公司 艺电能源互联网科技有限公司招聘 上海互联网科技园景观 小牛互联网科技有限公司地址 互联网科技工作委员会副主任毛军 互联网中国科技 没上市的科技互联网公司 有木互联网科技 深圳卡尔迅互联网科技有限公司怎么样 崇明区互联网教育科技售后服务 成都互联网科技公司工作好不好 工业互联网山东科技大学 北京互联网科技类企业分布 互联网企业和网络科技有限公司
0