linux删除数据文件无备份恢复
参考 : http://www.lunar2013.com/2013/06/linux-%E8%AF%AF%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%81%A2%E5%A4%8D.html
Last login: Sun Jan 26 22:36:10 2014 from 10.10.10.5
root>/root#su - oracle
oracle>/home/oracle$sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Jan 29 02:32:35 2014
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
--查看表空间信息
SYS@ora10gr2>select tablespace_name from dba_tablespaces ;
TABLESPACE_NAME
------------------------------------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
-- 查看数据文件信息
SYS@ora10gr2>select name from v$datafile ;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
--创建测试表空间
SYS@ora10gr2>create tablespace ziyoo_test datafile '/home/oracle/ziyoo_test01.dbf' size 10m ;
Tablespace created.
--创建测试用户
SYS@ora10gr2>create user ziyoo default tablespace ziyoo_test identified by "oracle_4U" ;
User created.
--授予用户权限
SYS@ora10gr2>grant connect ,resource to ziyoo ;
Grant succeeded.
--以测试用户登录
SYS@ora10gr2>conn ziyoo
Enter password:
Connected.
--创建测试表
ZIYOO@ora10gr2>create table test_ziyoo ( name varchar2(300)) tablespace ziyoo_test;
Table created.
--插入测试数据
ZIYOO@ora10gr2>insert into test_ziyoo values ('Love you foreve,my baby,Happy new Year!') ;
1 row created.
ZIYOO@ora10gr2>commit ;
Commit complete.
ZIYOO@ora10gr2>select * from test_ziyoo ;
NAME
--------------------------------------------------------------------------------
Love you foreve,my baby,Happy new Year!
--删除数据文件
ZIYOO@ora10gr2>! rm -rf /home/oracle/ziyoo_test01.dbf
--确认是否删除
ZIYOO@ora10gr2>! ls -l /home/oracle/ziyoo_test01.dbf
ls: /home/oracle/ziyoo_test01.dbf: No such file or directory
ZIYOO@ora10gr2>conn ziyoo
Enter password:
Connected.
--查询数据
ZIYOO@ora10gr2>select * from test_ziyoo ;
NAME
--------------------------------------------------------------------------------
Love you foreve,my baby,Happy new Year!
ZIYOO@ora10gr2>conn / as sysdba
Connected.
--上面有数据是由于data buffer的原因,清空缓存
SYS@ora10gr2>alter system flush buffer_cache ;
System altered.
SYS@ora10gr2>conn ziyoo
Enter password:
Connected.
--验证数据丢失
ZIYOO@ora10gr2>select * from test_ziyoo ;
select * from test_ziyoo
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/home/oracle/ziyoo_test01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
-- 获取dbwr进程信息
ZIYOO@ora10gr2>! ps -ef | grep dbw
oracle 6400 1 0 02:49 ? 00:00:01 ora_dbw0_ora10gr2
oracle 6523 6388 12 02:58 pts/1 00:00:00 /bin/bash -c ps -ef | grep dbw
oracle 6525 6523 6 02:58 pts/1 00:00:00 grep dbw
--lsof 显示系统打开的文件
ZIYOO@ora10gr2>!/usr/sbin/lsof -p 6400
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
oracle 6400 oracle cwd DIR 8,3 4096 163398 /u01/app/oracle/product/10.2/db_1/dbs
oracle 6400 oracle rtd DIR 8,3 4096 2 /
oracle 6400 oracle txt REG 8,3 96725784 174475 /u01/app/oracle/product/10.2/db_1/bin/oracle
oracle 6400 oracle mem REG 8,3 112388 1060803 /lib/ld-2.3.4.so
oracle 6400 oracle mem REG 8,3 1551908 81891 /lib/tls/libc-2.3.4.so
oracle 6400 oracle mem REG 8,3 16808 1060804 /lib/libdl-2.3.4.so
oracle 6400 oracle mem REG 8,3 215180 81892 /lib/tls/libm-2.3.4.so
oracle 6400 oracle mem REG 8,3 108536 81893 /lib/tls/libpthread-2.3.4.so
oracle 6400 oracle mem REG 8,3 101924 1060811 /lib/libnsl-2.3.4.so
oracle 6400 oracle DEL REG 0,6 0 /SYSVa0a094cc
oracle 6400 oracle mem CHR 1,5 2777 /dev/zero
oracle 6400 oracle mem REG 8,3 1544 174538 /u01/app/oracle/product/10.2/db_1/dbs/hc_ora10gr2.dat
oracle 6400 oracle mem REG 8,3 47488 538610 /lib/libnss_files-2.3.4.so
oracle 6400 oracle mem REG 8,3 14104 1872904 /usr/lib/libnuma.so.1
oracle 6400 oracle mem REG 8,3 2628 1876353 /usr/lib/libaio.so.1.0.1
oracle 6400 oracle mem REG 8,3 5656445 173189 /u01/app/oracle/product/10.2/db_1/lib/libnnz10.so
oracle 6400 oracle mem REG 8,3 102317 167881 /u01/app/oracle/product/10.2/db_1/lib/libdbcfg10.so
oracle 6400 oracle mem REG 8,3 71921 172640 /u01/app/oracle/product/10.2/db_1/lib/libclsra10.so
oracle 6400 oracle mem REG 8,3 9082654 165671 /u01/app/oracle/product/10.2/db_1/lib/libjox10.so
oracle 6400 oracle mem REG 8,3 756215 172606 /u01/app/oracle/product/10.2/db_1/lib/libocrutl10.so
oracle 6400 oracle mem REG 8,3 1314712 172605 /u01/app/oracle/product/10.2/db_1/lib/libocrb10.so
oracle 6400 oracle mem REG 8,3 914160 172604 /u01/app/oracle/product/10.2/db_1/lib/libocr10.so
oracle 6400 oracle mem REG 8,3 8069 167992 /u01/app/oracle/product/10.2/db_1/lib/libskgxn2.so
oracle 6400 oracle mem REG 8,3 2425042 172639 /u01/app/oracle/product/10.2/db_1/lib/libhasgen10.so
oracle 6400 oracle mem REG 8,3 149502 164651 /u01/app/oracle/product/10.2/db_1/lib/libskgxp10.so
oracle 6400 oracle 0r CHR 1,3 2776 /dev/null
oracle 6400 oracle 1r CHR 1,3 2776 /dev/null
oracle 6400 oracle 2r CHR 1,3 2776 /dev/null
oracle 6400 oracle 3r CHR 1,3 2776 /dev/null
oracle 6400 oracle 4r CHR 1,3 2776 /dev/null
oracle 6400 oracle 5w REG 8,3 680 962968 /u01/app/oracle/admin/ora10gr2/udump/ora10gr2_ora_6389.trc
oracle 6400 oracle 6w REG 8,3 110983 343618 /u01/app/oracle/admin/ora10gr2/bdump/alert_ora10gr2.log
oracle 6400 oracle 7u REG 8,3 0 174533 /u01/app/oracle/product/10.2/db_1/dbs/lkinstora10gr2 (deleted)
oracle 6400 oracle 8w REG 8,3 110983 343618 /u01/app/oracle/admin/ora10gr2/bdump/alert_ora10gr2.log
oracle 6400 oracle 9u REG 8,3 1544 174538 /u01/app/oracle/product/10.2/db_1/dbs/hc_ora10gr2.dat
oracle 6400 oracle 10r CHR 1,5 2777 /dev/zero
oracle 6400 oracle 11r CHR 1,5 2777 /dev/zero
oracle 6400 oracle 12r REG 8,3 849408 172673 /u01/app/oracle/product/10.2/db_1/rdbms/mesg/oraus.msb
oracle 6400 oracle 13u REG 8,3 1544 174538 /u01/app/oracle/product/10.2/db_1/dbs/hc_ora10gr2.dat
oracle 6400 oracle 14uR REG 8,3 24 174539 /u01/app/oracle/product/10.2/db_1/dbs/lkORA10GR2
oracle 6400 oracle 15u REG 8,3 7356416 343496 /u01/app/oracle/oradata/orcl/control01.ctl
oracle 6400 oracle 16u REG 8,3 7356416 343497 /u01/app/oracle/oradata/orcl/control02.ctl
oracle 6400 oracle 17u REG 8,3 7356416 343498 /u01/app/oracle/oradata/orcl/control03.ctl
oracle 6400 oracle 18uW REG 8,3 513810432 343490 /u01/app/oracle/oradata/orcl/system01.dbf
oracle 6400 oracle 19uW REG 8,3 183508992 343492 /u01/app/oracle/oradata/orcl/undotbs01.dbf
oracle 6400 oracle 20uW REG 8,3 251666432 343491 /u01/app/oracle/oradata/orcl/sysaux01.dbf
oracle 6400 oracle 21uW REG 8,3 2111578112 343493 /u01/app/oracle/oradata/orcl/users01.dbf
oracle 6400 oracle 22uW REG 8,3 31465472 343510 /u01/app/oracle/oradata/orcl/temp01.dbf
oracle 6400 oracle 23r REG 8,3 849408 172673 /u01/app/oracle/product/10.2/db_1/rdbms/mesg/oraus.msb
oracle 6400 oracle 24uW REG 8,3 10493952 571688 /home/oracle/ziyoo_test01.dbf (deleted)
-- 信号量信息
ZIYOO@ora10gr2>! ls -ltar /proc/6400/fd/
total 25
dr-xr-xr-x 5 oracle oinstall 0 Jan 29 02:49 ..
dr-x------ 2 oracle oinstall 0 Jan 29 02:59 .
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 0 -> /dev/null
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 1 -> /dev/null
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 3 -> /dev/null
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 2 -> /dev/null
l-wx------ 1 oracle oinstall 64 Jan 29 02:59 5 -> /u01/app/oracle/admin/ora10gr2/udump/ora10gr2_ora_6389.trc
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 4 -> /dev/null
l-wx------ 1 oracle oinstall 64 Jan 29 02:59 6 -> /u01/app/oracle/admin/ora10gr2/bdump/alert_ora10gr2.log
l-wx------ 1 oracle oinstall 64 Jan 29 02:59 8 -> /u01/app/oracle/admin/ora10gr2/bdump/alert_ora10gr2.log
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 7 -> /u01/app/oracle/product/10.2/db_1/dbs/lkinstora10gr2 (deleted)
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 9 -> /u01/app/oracle/product/10.2/db_1/dbs/hc_ora10gr2.dat
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 10 -> /dev/zero
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 12 -> /u01/app/oracle/product/10.2/db_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 11 -> /dev/zero
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 15 -> /u01/app/oracle/oradata/orcl/control01.ctl
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 14 -> /u01/app/oracle/product/10.2/db_1/dbs/lkORA10GR2
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 13 -> /u01/app/oracle/product/10.2/db_1/dbs/hc_ora10gr2.dat
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 17 -> /u01/app/oracle/oradata/orcl/control03.ctl
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 16 -> /u01/app/oracle/oradata/orcl/control02.ctl
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 19 -> /u01/app/oracle/oradata/orcl/undotbs01.dbf
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 18 -> /u01/app/oracle/oradata/orcl/system01.dbf
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 21 -> /u01/app/oracle/oradata/orcl/users01.dbf
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 20 -> /u01/app/oracle/oradata/orcl/sysaux01.dbf
lr-x------ 1 oracle oinstall 64 Jan 29 02:59 23 -> /u01/app/oracle/product/10.2/db_1/rdbms/mesg/oraus.msb
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 22 -> /u01/app/oracle/oradata/orcl/temp01.dbf
lrwx------ 1 oracle oinstall 64 Jan 29 02:59 24 -> /home/oracle/ziyoo_test01.dbf (deleted)
ZIYOO@ora10gr2>exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
oracle>/home/oracle$cd /proc/6400/fd/
oracle>/proc/6400/fd$ls
0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 3 4 5 6 7 8 9
--读取数据
oracle>/proc/6400/fd$cat 24 > ~/ziyoo01.dbf
oracle>/proc/6400/fd$ls -l /home/oracle/
total 45888
-rw-r--r-- 1 oracle oinstall 711 Jan 26 04:35 afiedt.buf
drwxr-xr-x 2 oracle oinstall 4096 Oct 18 07:22 Desktop
-rwxr-xr-x 1 oracle oinstall 5742 Jan 14 02:34 netca.rsp
-rw-r--r-- 1 oracle oinstall 8591630 Jan 2 11:30 oracle.txt
-rw-r--r-- 1 oracle oinstall 27337709 Jan 26 02:47 patch.log
-rw-r--r-- 1 oracle oinstall 178473 Feb 26 2008 README.html
drwxrwxr-x 8 500 dba 4096 Oct 18 11:18 rlwrap-0.37
-rw-r--r-- 1 oracle oinstall 251438 Oct 18 11:16 rlwrap-0.37.tar.gz
-rw-r--r-- 1 oracle oinstall 22172 Jan 14 03:25 test_clob.txt
-rw-r--r-- 1 oracle oinstall 5239 Jan 25 23:46 upgrade_info.log
-rw-r--r-- 1 oracle oinstall 10493952 Jan 29 03:02 ziyoo01.dbf
oracle>/proc/6400/fd$sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Jan 29 03:02:37 2014
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@ora10gr2>alter database datafile '/home/oracle/ziyoo_test01.dbf' offline ;
Database altered.
-- 更新控制文件信息
SYS@ora10gr2>alter database rename file '/home/oracle/ziyoo_test01.dbf' to '/home/oracle/ziyoo01.dbf' ;
Database altered.
SYS@ora10gr2>alter database datafile '/home/oracle/ziyoo01.dbf' online ;
alter database datafile '/home/oracle/ziyoo01.dbf' online
*
ERROR at line 1:
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5: '/home/oracle/ziyoo01.dbf'
SYS@ora10gr2>recover datafile 5 ;
Media recovery complete.
SYS@ora10gr2>alter database datafile 5 online ;
Database altered.
SYS@ora10gr2>conn ziyoo
Enter password:
Connected.
ZIYOO@ora10gr2>select * from tab ;
TNAME TABTYPE
------------------------------------------------------------ --------------
CLUSTERID
----------
TEST_ZIYOO TABLE
--查询恢复后的数据
ZIYOO@ora10gr2>select * from test_ziyoo ;
NAME
--------------------------------------------------------------------------------
Love you foreve,my baby,Happy new Year!
linux删除数据文件无备份恢复的更多相关文章
- Linux Rsync实现文件同步备份(转载)
原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...
- Linux删除乱码文件或者目录
Linux删除乱码文件或者目录 有时在Linux下面解压一些zip或者rar文件后会产生乱码文件或者目录,这个时候使用rm不能成功删除,需要使用一些特别的方法 来进行删除,下面是我经常使用的两种方法. ...
- Oracle-11g 从表空间删除数据文件
从表空间删除数据文件前提条件 如果欲从表空间中删除数据文件,那么该数据文件必须为空,否则将报出"ORA-03262: the file is non-empty"的错误. 从表 ...
- Linux下利用文件描述符恢复的成功失败实验
1.测试环境准备[oracle@redhat3 ~]$ uname -aLinux redhat3 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 ED ...
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...
- oracle删除数据文件
在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表.视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间. 一.使用offline数据文件的方法 非归档模式使用 ...
- 如何恢复 Linux删除的文件
原理及普通文件的恢复 要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的,以及如何定位并恢复数据.本文从数据恢复的角度,着重介绍了 ext2 文件系统中使用的一些基本概念和重要数据结构,并通过 ...
- Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份
这里我们讨论Linux操作系统的备份. 在生产环境,客户都会要求做全系统的数据备份,用于系统崩溃后的一种恢复手段.这其中就包含操作系统数据的备份恢复. 由于是生产环境,客户都会要求备份不中断业务,也就 ...
- docker定义数据卷及数据卷的备份恢复
前言:生产环境中使用docker时,往往需要对数据进行持久化(只有把容器导出为镜像,才能够保存写的数据,否则容器删除或者停止,所有数据都会没有),或者需要在多个容器之间进行数据共享,这必然涉及容器的数 ...
随机推荐
- R语言编程艺术# 数据类型向量(vector)
R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用t ...
- 读书笔记 (一) ———Fundamentals of Multiagent Systems with NetLogo Examples by Prof. Jose M Vidal
在网上发现Prof. Jose M Vidal用NetLogo仿真Multi-agent system的视频,随后下载他的著作Fundamentals of Multiagent Systems wi ...
- 无锁算法CAS 概述
无锁算法CAS 概述 JDK5.0以后的版本都引入了高级并发特性,大多数的特性在java.util.concurrent包中,是专门用于多线并发编程的,充分利用了现代多处理器和多核心系统的功能以编写大 ...
- linux 下安装JDK1.7
安装JDK1.7 1. 打开网址http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u5-downloads-1591156.ht ...
- 30分钟让你了解MongoDB基本操作
今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集 ...
- [转载]Unity3D的断点调试功能
断点调试功能可谓是程序员必备的功能了.Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的.不过这个断点调试功能只限于使用Unity3D自带的MonoD ...
- PE 文件
一.PE文件基本结构 上图便是PE文件的基本结构.(注意:DOS MZ Header和部分PE header的大小是不变的:DOS stub部分的大小是可变的.) 二.Section 详解 一个PE文 ...
- XoftSpy 4.13的注册算法分析
[标题]XoftSpy 4.13的注册算法分析 [作者]forever[RCT] [语言]VC [工具]ida4.6,ollydbg1.1 [正文] 这个软件的算法很简单,正好拿来做逆向分 ...
- eclipse安装Log4E插件以及简单使用
一. Log4E插件下载 下载地址:http://log4e.jayefem.de/content/view/3/2/ 二.安装Log4E插件 将下载下来的压缩包解压缩,如下图所示: 解压缩生成的[d ...
- 【转】windows c++获取文件信息——_stat函数的使用
_stat函数的功能 _stat函数用来获取指定路径的文件或者文件夹的信息. 函数声明 int _stat( const char *path, struct _stat *buffer ); 参数: ...