模拟故障:
说明:本故障处理必须在删除数据文件短时间内进行操作,长时间的话数据库会检测到checkpoint或切换日志然后数据库宕机。然后就无法恢复了。
==================================
查看当前用户下所有表的行数统计
可以先
create view tbnameas select table_name tbname from user_tables;
然后创建过程:
DECLARE
CURSOR c1is select tbname from tbname;
V_TABLE_NAME tbname.tbname%TYPE;
V_CNTnumber;
V_SQLvarchar2(2000);
BEGIN
FORV_TABLE_NAME in c1 loop
V_SQL := 'selectcount(*) from ' || V_TABLE_NAME.tbname;
execute immediateV_SQL into V_CNT;
dbms_output.put_line( V_TABLE_NAME.tbname || ',' || V_CNT);
end loop;
end;
======================================
1、数据库运行过程中删除用户下的dbf
[root@dg1 qy_dg1]#ll
total 4688944
-rw-r----- 1oracle dba 10043392 Feb 9 19:10 control01.ctl
。
。
-rw-r----- 1oracle dba 10493952 Feb 9 19:09 wxk02.DBF
-rw-r----- 1oracle dba 52436992 Feb 9 17:45 wxk03.dbf
-rw-r----- 1oracle dba 52436992 Feb 9 19:09 wxk.dbf
-rw-r----- 1oracle dba 52436992 Dec 26 09:40 wxk_temp.dbf
[root@dg1 qy_dg1]#rm -rf wxk.dbf
2、查看dbw进程
[oracle@dg1 ~]$ ps-ef | grep dbw | grep -v grep
oracle 1912 1 0 11:49 ? 00:00:06ora_dbw0_dg1
3、在/proc/进程号/fd 下 ll 查看
[oracle@dg1 ~]$ cd/proc/1912/fd
[oracle@dg1 fd]$ll
total 0
lr-x------ 1oracle dba 64 Feb 9 17:49 0 -> /dev/null
l-wx------ 1oracle dba 64 Feb 9 17:49 1 -> /dev/null
lrwx------ 1oracle dba 64 Feb 9 17:49 10 ->/oracle/app/oracle/product/11.2.0/dbhome_4/dbs/lkDG1
lr-x------ 1oracle dba 64 Feb 9 17:49 11 ->/oracle/app/oracle/product/11.2.0/dbhome_4/rdbms/mesg/oraus.msb
l-wx------ 1oracle dba 64 Feb 9 17:49 2 -> /dev/null
lrwx------ 1oracle dba 64 Feb 9 17:49 256 ->/oracle/app/oradata/qy_dg1/control01.ctl
lrwx------ 1oracle dba 64 Feb 9 17:49 257 ->/oracle/app/oradata/qy_dg1/control02.ctl
lrwx------ 1oracle dba 64 Feb 9 17:49 258 -> /oracle/app/oradata/qy_dg1/system01.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 259 ->/oracle/app/oradata/qy_dg1/sysaux01.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 260 ->/oracle/app/oradata/qy_dg1/undotbs01.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 261 -> /oracle/app/oradata/qy_dg1/users01.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 262 -> /oracle/app/oradata/qy_dg1/rman01.dbf
lrwx------ 1 oracledba 64 Feb 9 17:49 263 -> /oracle/app/oradata/qy_dg1/wxk.dbf (deleted)(这条会闪烁)
lrwx------ 1oracle dba 64 Feb 9 17:49 264 -> /oracle/app/oradata/qy_dg1/dsg.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 265 -> /oracle/app/oradata/qy_dg1/test01.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 266 -> /oracle/app/oradata/qy_dg1/wxk02.DBF
lrwx------ 1oracle dba 64 Feb 9 17:49 267 -> /oracle/app/oradata/qy_dg1/TAB_STS_BASIC.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 268 -> /oracle/app/oradata/qy_dg1/wxk03.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 269 -> /oracle/app/oradata/qy_dg1/SDE.DBF
lrwx------ 1oracle dba 64 Feb 9 17:49 270 -> /oracle/app/oradata/qy_dg1/temp01.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 271 ->/oracle/app/oradata/qy_dg1/wxk_temp.dbf
lrwx------ 1oracle dba 64 Feb 9 17:49 272 ->/oracle/app/oradata/qy_dg1/dsg_temp.dbf
lr-x------ 1oracle dba 64 Feb 9 17:49 3 -> /dev/null
lr-x------ 1oracle dba 64 Feb 9 17:49 4 -> /dev/null
lr-x------ 1oracle dba 64 Feb 9 17:49 5 -> /dev/null
lr-x------ 1oracle dba 64 Feb 9 17:49 6 ->/oracle/app/oracle/product/11.2.0/dbhome_4/rdbms/mesg/oraus.msb
lr-x------ 1oracle dba 64 Feb 9 17:49 7 -> /proc/1912/fd
lr-x------ 1oracle dba 64 Feb 9 17:49 8 -> /dev/zero
lrwx------ 1oracle dba 64 Feb 9 17:49 9 ->/oracle/app/oracle/product/11.2.0/dbhome_4/dbs/hc_dg1.dat
4、拷贝这个文件出来到数据库文件路径下
[oracle@dg1 fd]$cp 263 /oracle/app/oradata/qy_dg1/newwxk.dbf
5、在数据库上查看数据库文件
SQL> selectname,file#,status from v$datafile;
NAME FILE# STATUS
------------------------------------------------------------ -------
/oracle/app/oradata/qy_dg1/system01.dbf 1 SYSTEM
/oracle/app/oradata/qy_dg1/sysaux01.dbf 2 ONLINE
/oracle/app/oradata/qy_dg1/undotbs01.dbf 3 ONLINE
/oracle/app/oradata/qy_dg1/users01.dbf 4ONLINE
/oracle/app/oradata/qy_dg1/rman01.dbf 5ONLINE
/oracle/app/oradata/qy_dg1/wxk.dbf 6 ONLINE
/oracle/app/oradata/qy_dg1/dsg.dbf 7 ONLINE
/oracle/app/oradata/qy_dg1/test01.dbf 8ONLINE
/oracle/app/oradata/qy_dg1/wxk02.DBF 9 ONLINE
/oracle/app/oradata/qy_dg1/TAB_STS_BASIC.dbf 10 ONLINE
/oracle/app/oradata/qy_dg1/wxk03.dbf 11ONLINE
/oracle/app/oradata/qy_dg1/SDE.DBF 12 ONLINE
12 rows selected.
在这一步中,可以用最上面的存储过程查看缺了哪些表,但是缺少的表在数据库中暂时正常工作。
6、进行表空间文件处理
SQL> alterdatabase datafile 6 offline; #让6号文件offline
Database altered.
SQL> alterdatabase rename file '/oracle/app/oradata/qy_dg1/wxk.dbf' to'/oracle/app/oradata/qy_dg1/newwxk.dbf'; #对原表空间文件进行重命名
Database altered.
SQL> recoverdatafile 6; #介质恢复6号文件
Media recoverycomplete.
SQL> alterdatabase datafile 6 online; #将6号文件online
Database altered.
在线恢复完成
离线恢复差不多,都要先在数据库未停之前将 /proc/进程/fd 文件拷贝出来,一旦数据库关闭后,就没了。
因为dbw 进程没了,/proc/里面的文件也没了。
ps:http://www.bbsmax.com/A/GBJrZB2WJ0/ 也可以参考这篇文档
文章浏览阅读547次。首先,向目的服务器上执行ping命令,主机会构建一个 ICMP 回显请求消息数据包(类型是8,代码是0),在这个回显请求数据包中,除了类型和代码字段,还被追加了标识符和序号字段。所以在 IP 数据包中如果协议类型字段的值是 1 的话,就表示 IP 数据是 ICMP 报文。当10.0.0.1送到 回显请求数据包后,10.0.0.3就会向发送方10.0.0.1发送回显应答(类型是0,代码是0),这个 ICMP 回显应答数据包在 IP 层来看,与被送来的回显请求数据包基本上一样。ICMP协议的类型分为两大类,_qt实现icmp协议
文章浏览阅读660次,点赞4次,收藏4次。谷歌浏览器对于一些小伙伴来说,是非常有帮助的一款浏览器,大家喜欢使用该浏览器进行内容的搜索,有些时候需要访问有些英文网页,那么就需要将英文网页进行翻译成中文,但是打开翻译之后,发现提示无法翻译此网页的情况,那么应该怎么解决呢?下面一起来看看吧!_谷歌浏览器内置翻译器不能翻译
文章浏览阅读138次。初识C语言
文章浏览阅读79次。2019年1月2-6号 对应章节老王亲讲:1、马哥教育教学总监-老王亲讲Linux基础入门2、教学总监老王亲讲-Linux基础命令与Linux帮助使用服务器类型:刀片、塔式、机架式常见服务器CPU:xeon 至强机柜1u=44.45mm存储网络类型:DAS直接连接存储、NAS网络连接存储、SAN存储区域网络ABI:与OS之间的接口 API:与库之间的接口Linux版本:deb..._linux的长用命令是直接与机架cpu
文章浏览阅读1.7k次,点赞2次,收藏9次。本项目的目标是深入探索音视频编码与解码技术的原理与实践,通过实现一个音视频编码与解码系统,加深对该领域的理解,并掌握相关的软件开发和硬件设计技术。可以使用适当的视频输入设备进行视频数据的采集,并对采集到的视频数据进行预处理,例如图像增强、分辨率调整等。硬件平台的选择将直接影响系统的性能和资源消耗。在实验3中,我们使用了不同的视频编码算法对采集到的视频数据进行编码,并计算了编码后的码流大小和图像质量指标。在实验1中,我们使用了不同的音频编码算法对采集到的音频数据进行编码,并计算了编码后的码流大小和音质指标。_音视频编解码
文章浏览阅读3.5k次。2011年记 目的:遇到这种情况,mysql to oracle时 text类型转到oracle自动变为BLOB,但这些字段只需要CLOB.所以打算把BLOB转为CLOB。(在sqlplu或plsql中完成) 解决办法例:表gw_gift 字段description BLOB1、增加字段description1 CLOB2、把BLOB列数据写入CLOBupdate gw_gift p set p...._blob转clob
文章浏览阅读1.2k次。RSA加密算法是一种非对称的加密算法,主要包括以下知识点:1、密钥对的获取:主要涉及到两个参数:秘钥格式、秘钥长度(1)常见秘钥格式:PKCS8(java适用)、PKCS1(其他),如果不是java平台生成的秘钥,有可能报以下错误:java.security.InvalidKeyException: invalid key format //秘钥格式不合法(2)秘钥长度:1024、2048(越长越..._javax.crypto.badpaddingexception: message is larger than modulus
文章浏览阅读139次。电源冷热冲击测试是指将被测品在极端热、冷环境间反复转移,模拟被测品在剧烈环境变化下的变化情况,用来评估电源的耐热性和耐寒性,进而评估电气设备的性能和稳定性。
文章浏览阅读4.5k次,点赞2次,收藏4次。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="./jquery-1.12.4.min.js._js调用海康摄像头视频
文章浏览阅读701次。模板介绍精美PPT模板设计,深圳大学本科毕业论文答辩PPT模板。一套高校PPT幻灯片模板,内含灰色,红色多种配色,精美风格设计,动态播放效果,精美实用。一份设计精美的PPT模板,可以让你在汇报演讲时脱颖而出。希望下面这份精美的PPT模板能给你带来帮助,温馨提示:本资源使用PPT或PPTX等格式,请安装并使用Office或WPS软件打开。模板信息模板编号:P95164用途:高校PPT。模板格式:pptx格式(可随意下载编辑)页数:27页大小:10MB比例:16:9编辑软件:wp_深圳大学答辩ppt模板
文章浏览阅读206次。我们在应用程序中使用类一组类,你想在调试器中快速查看类中的值。默认情况下调试器不会展示自定义类的信息。此时我们可以向类添加一个DebuggerDisplay的特性。此时调试器就会你想要显示的信息。如下 [DebuggerDisplay("User Full Name={Id} {Name} {Age}")] public class User {..._怎么在sys的class目录生成调试信息
文章浏览阅读2.3w次,点赞4次,收藏16次。小米路由器r3gv2这是一款运营商定制的小米千兆路由器,是r3g(128M+256M+USB)的阉割版,闪存16M,内存128M,处理器是MediaTek MT7621,这个配置勉强可以玩一玩,闲鱼上也有很多,性价比比较高。进入路由器终端自己刷固件的话,首先就是要打开路由器的ssh或者telnet,小米早年的路由器官方都有开启ssh的教程,而这款就需要自己想办法了。Root shell exploit for several Xiaomi routers: 4A Gigabit, 4A 100M,_openwrt-ramips-mt7621-xiaomi_r4a-squashfs-sysupgrade