当前位置: 首页 > news >正文

数据文件丢失的处理

数据文件被误删除后,启动的时候报错,提示文件丢失,如果是无所谓的数据库,那么可以如下折腾。

<!--more-->

sys@TEST> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 例程已经启动。

Total System Global Area 523108352 bytes
Fixed Size 1337632 bytes
Variable Size 390072032 bytes
Database Buffers 125829120 bytes
Redo Buffers 5869568 bytes
数据库装载完毕。
数据库已经打开。
sys@TEST> create tablespace test datafile '/opt/oracle/db/oradata/TEST/test/test01.dmp' size 10m,'/opt/oracle/db/oradata/TEST/test/test02.dmp' size 10m;

表空间已创建。

sys@TEST> !ls /opt/oracle/db/oradata/TEST/test
test01.dmp test02.dmp

sys@TEST> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

sys@TEST> !mv /opt/oracle/db/oradata/TEST/test/test02.dmp /opt/oracle/db/oradata/TEST/test/test02.dmp.bak

sys@TEST> !ls /opt/oracle/db/oradata/TEST/test
test01.dmp test02.dmp.bak

sys@TEST> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 例程已经启动。

Total System Global Area 523108352 bytes
Fixed Size 1337632 bytes
Variable Size 390072032 bytes
Database Buffers 125829120 bytes
Redo Buffers 5869568 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 8: '/opt/oracle/db/oradata/TEST/test/test02.dmp'


sys@TEST> alter database datafile '/opt/oracle/db/oradata/TEST/test/test02.dmp' offline drop;

数据库已更改。

sys@TEST> alter database open;

数据库已更改。

sys@TEST> select * from dual;

D
-
X

sys@TEST>
现在加入要重新添加刚才同名的数据文件怎么办呢?如下处理。
sys@TEST> alter tablespace test add datafile '/opt/oracle/db/oradata/TEST/test/test02.dmp' size 10m;
alter tablespace test add datafile '/opt/oracle/db/oradata/TEST/test/test02.dmp' size 10m
*
第 1 行出现错误:
ORA-01537: 无法添加文件 '/opt/oracle/db/oradata/TEST/test/test02.dmp' - 该文件已是数据库的一部分
sys@TEST> alter database create datafile '/opt/oracle/db/oradata/TEST/test/test02.dmp' as '/opt/oracle/db/oradata/TEST/test/test02.dmp' size 10m reuse;

数据库已更改。
sys@TEST> recover datafile '/opt/oracle/db/oradata/TEST/test/test02.dmp';
完成介质恢复。
sys@TEST> alter database datafile '/opt/oracle/db/oradata/TEST/test/test02.dmp' online;

数据库已更改。
sys@TEST> Select a.TABLESPACE_NAME,b.FILE_NAME From DBA_TABLESPACES a,dba_data_files b Where a.TABLESPACE_NAME=b.TABLESPACE_NAME And a.TABLESPACE_NAME='TEST';

TABLESPACE_NAME
------------------------------
FILE_NAME
----------------------------------------------------------------------------------------------------
TEST
/opt/oracle/db/oradata/TEST/test/test01.dmp

TEST
/opt/oracle/db/oradata/TEST/test/test02.dmp


sys@TEST>

小结

数据库的数据保护是个很重要的事情,如果是正式环境,千万不要这么干!

相关文章:

  • Python for Infomatics 第14章 数据库和SQL应用一(译)
  • ORA-32004: obsolete and/or deprecated parameter(s) specified
  • 个人总结
  • 年终考评以后
  • NOSql之redis的学习
  • scapy-其中迭代器的实现细节
  • 初学前端犯下的错误(用于反省)
  • scapy-yield的含义和使用
  • Oracle-建表course
  • risc和cisc在嵌入式设备中的博弈
  • Adobe Unity大战3D网游市场
  • 面向对象和类
  • Autodesk收购引擎开发商Wild Pocket将推网页3D游戏引擎
  • 游戏将是21世纪最强大的媒体?
  • 搜索引擎
  • JS 中的深拷贝与浅拷贝
  • 【刷算法】从上往下打印二叉树
  • CSS居中完全指南——构建CSS居中决策树
  • Git 使用集
  • JavaScript 基本功--面试宝典
  • linux安装openssl、swoole等扩展的具体步骤
  • Mocha测试初探
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • VUE es6技巧写法(持续更新中~~~)
  • 闭包,sync使用细节
  • 服务器从安装到部署全过程(二)
  • 使用putty远程连接linux
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • # 数据结构
  • #Linux(Source Insight安装及工程建立)
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • **PHP二维数组遍历时同时赋值
  • ./configure,make,make install的作用(转)
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net core 6 redis操作类
  • .NET运行机制
  • .sh
  • @EnableConfigurationProperties注解使用
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [Android Studio 权威教程]断点调试和高级调试
  • [C++基础]-初识模板
  • [Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [hdu 4405] Aeroplane chess [概率DP 期望]
  • [IE技巧] IE8中HTTP连接数目的变化
  • [Jquery] 实现温度计动画效果
  • [leetcode] 61. 旋转链表
  • [LeetCode]—Simplify Path 简化路径表达式
  • [NOI2005]月下柠檬树[计算几何(simpson)]
  • [Oh My C++ Diary]用cout输出流保留输出小数位数的方法