- 浏览: 655964 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
一.模拟数据文件删除
[oracle@node1 ~]$ sqlplus /
as
sysdba
SQL*Plus: Release 11.2.0.3.0 Production
on
Sat
Dec
31 22:00:52 2011
Copyright (c) 1982, 2011, Oracle.
All
rights reserved.
--数据库版本
Connected
to
:
Oracle
Database
11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With
the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle
Database
Vault
and
Real
Application Testing options
--所有数据文件
SQL>
select
name
from
v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/ora11g/system01.dbf
/opt/oracle/oradata/ora11g/sysaux01.dbf
/opt/oracle/oradata/ora11g/undotbs01.dbf
/opt/oracle/oradata/ora11g/users01.dbf
/opt/oracle/oradata/ora11g/example01.dbf
--删除example01.dbf数据文件
SQL> !rm /opt/oracle/oradata/ora11g/example01.dbf
SQL> !ls -l /opt/oracle/oradata/ora11g/example01.dbf
ls: /opt/oracle/oradata/ora11g/example01.dbf: 没有那个文件或目录
--因为数据文件被删除,创建表失败
SQL>
create
table
t_xifenfei tablespace example
2
as
select
*
from
dba_tables;
as
select
*
from
dba_tables
*
ERROR
at
line 2:
ORA-01116: error
in
opening
database
file 5
ORA-01110: data file 5:
'/opt/oracle/oradata/ora11g/example01.dbf'
ORA-27041: unable
to
open
file
Linux-x86_64 Error: 2:
No
such file
or
directory
Additional information: 3
--被删除数据文件离线
SQL>
alter
database
datafile 5 offline;
Database
altered.
|
二.找回数据文件
--查找dbw进程spid
[oracle@node1 ~]$
ps
-ef|
grep
dbw|
grep
-
v
grep
oracle 18387 1 0 Dec22 ? 00:00:12 ora_dbw0_ora11g
--查看该进程所有文件句柄
[oracle@node1 ~]$ ll
/proc/18387/fd
总计 0
lr-x------ 1 oracle oinstall 64 12-31 22:03 0 ->
/dev/null
l-wx------ 1 oracle oinstall 64 12-31 22:03 1 ->
/dev/null
lr-x------ 1 oracle oinstall 64 12-31 22:03 10 ->
/dev/zero
lr-x------ 1 oracle oinstall 64 12-31 22:03 11 ->
/dev/zero
lr-x------ 1 oracle oinstall 64 12-31 22:03 12 ->
/opt/oracle/product/11
.2.0
/db_1/rdbms/mesg/orazhs
.msb
lrwx------ 1 oracle oinstall 64 12-31 22:03 13 ->
/opt/oracle/product/11
.2.0
/db_1/dbs/hc_ora11g
.dat
lr-x------ 1 oracle oinstall 64 12-31 22:03 14 ->
/proc/18387/fd
lr-x------ 1 oracle oinstall 64 12-31 22:03 15 ->
/dev/zero
lr-x------ 1 oracle oinstall 64 12-31 22:03 16 ->
/opt/oracle/product/11
.2.0
/db_1/rdbms/mesg/oraus
.msb
lrwx------ 1 oracle oinstall 64 12-31 22:03 17 ->
/opt/oracle/product/11
.2.0
/db_1/dbs/hc_ora11g
.dat
lrwx------ 1 oracle oinstall 64 12-31 22:03 18 ->
/opt/oracle/product/11
.2.0
/db_1/dbs/lkORA11G
lr-x------ 1 oracle oinstall 64 12-31 22:03 19 ->
/opt/oracle/product/11
.2.0
/db_1/rdbms/mesg/orazhs
.msb
l-wx------ 1 oracle oinstall 64 12-31 22:03 2 ->
/dev/null
lr-x------ 1 oracle oinstall 64 12-31 22:03 20 ->
/opt/oracle/product/11
.2.0
/db_1/rdbms/mesg/oraus
.msb
lrwx------ 1 oracle oinstall 64 12-31 22:03 21 -> socket:[441562]
lrwx------ 1 oracle oinstall 64 12-31 22:03 256 ->
/opt/oracle/oradata/ora11g/control01
.ctl
lrwx------ 1 oracle oinstall 64 12-31 22:03 257 ->
/opt/oracle/oradata/ora11g/system01
.dbf
lrwx------ 1 oracle oinstall 64 12-31 22:03 258 ->
/opt/oracle/oradata/ora11g/sysaux01
.dbf
lrwx------ 1 oracle oinstall 64 12-31 22:03 259 ->
/opt/oracle/oradata/ora11g/undotbs01
.dbf
lrwx------ 1 oracle oinstall 64 12-31 22:03 260 ->
/opt/oracle/oradata/ora11g/users01
.dbf
lrwx------ 1 oracle oinstall 64 12-31 22:03 261 ->
/opt/oracle/oradata/ora11g/example01
.dbf (deleted)
lrwx------ 1 oracle oinstall 64 12-31 22:03 262 ->
/opt/oracle/oradata/ora11g/temp01
.dbf
lr-x------ 1 oracle oinstall 64 12-31 22:03 3 ->
/dev/null
lr-x------ 1 oracle oinstall 64 12-31 22:03 4 ->
/dev/null
lrwx------ 1 oracle oinstall 64 12-31 22:03 5 ->
/opt/oracle/product/11
.2.0
/db_1/dbs/hc_ora11g
.dat
lr-x------ 1 oracle oinstall 64 12-31 22:03 6 ->
/dev/null
lr-x------ 1 oracle oinstall 64 12-31 22:03 7 ->
/dev/null
lr-x------ 1 oracle oinstall 64 12-31 22:03 8 ->
/dev/null
lr-x------ 1 oracle oinstall 64 12-31 22:03 9 ->
/dev/null
--通过句柄恢复数据文件[被删除数据文件会被标示(deleted)]
[oracle@node1 ~]$
cp
/proc/18387/fd/261
/opt/oracle/oradata/ora11g/example01
.dbf
--确认该数据文件已经恢复成功
[oracle@node1 ~]$ ll
/opt/oracle/oradata/ora11g/example01
.dbf
-rw-r----- 1 oracle oinstall 362422272 12-31 22:05
/opt/oracle/oradata/ora11g/example01
.dbf
|
三.数据文件online
--恢复数据文件
SQL> recover datafile 5;
Media recovery complete.
--数据文件online
SQL>
alter
database
datafile 5 online;
Database
altered.
--创建表测试
SQL>
create
table
t_xifenfei tablespace example
2
as
select
*
from
dba_tables;
Table
created.
|
四.补充说明
在意外使用os命令删除掉数据文件时,千万不要慌张重启数据库或者操作系统,可以通过dbwn进程相关句柄找回数据文件
如果是unix系统,可能需要先通过lsof找到句柄,然后通过cp实现
[root@node1 ~]
# lsof -p 18387 |grep deleted
oracle 18387 oracle 261uW REG 8,6 362422272 13598733
/opt/oracle/oradata/ora11g/example01
.dbf (deleted)
cd
/proc/18387
/fd/
cp
261
/opt/oracle/oradata/ora11g/example01
.dbf
发表评论
-
ORA-14551: 无法在查询中执行 DML 操作
2013-11-30 13:45 1355最近在调试一个带DML操作的函数时,一直不成功,在PL/SQ ... -
Oracle Recursive Calls 说明
2013-04-09 23:11 1483一. Recursive Calls 说明 在执行计划 ... -
consistent gets db block gets
2013-04-09 19:58 1428consistent gets :consistent_ge ... -
SQL Server数据导入到Oracle中的方法
2012-07-17 17:09 1589在我们使用SQL Server数据库的过程中,有时需要将SQL ... -
更改ORACLE归档路径及归档模式
2012-07-16 18:23 1858在ORACLE10g和11g版本,ORAC ... -
disable/enable validate/novalidate 的区别
2012-01-08 11:41 1225启用约束: enable( validate) :启用约束,创 ... -
linux用dd测试磁盘速度
2012-01-07 21:58 1005首先要了解两个特殊的设备: /dev/null:回收站、 ... -
在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划
2012-01-07 20:49 1011在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划,原 ... -
Oracle hash join
2012-01-07 17:00 946hash join是oracle里面一个非常强悍的功能 ... -
oracle 块延迟清除(delayed block cleanout)
2012-01-04 22:47 1355为了保证事务的回退和满足多用户的 CR , orac ... -
Oracle数据库SCN号详解
2012-01-04 19:25 1535Oracle数据库SCN号详解: 系统检查点scn(v$da ... -
oracle常见问题与解答
2012-01-03 20:22 16651.对于sql,有几种方法查看执行计划,每种方法有什么区别,对 ... -
Oracle虚拟私有数据库(VPD)概述及简单举例
2011-12-23 12:35 1541Oracle虚拟私有数据库(VPD)概述及简单举例 1、Ora ... -
alter table move跟shrink space的区别
2011-12-17 15:02 1274都知道alter table move 或shrink spa ... -
How to dump Oracle Data Block?
2011-12-16 15:22 993Often while doing instance tuni ... -
oracle索引的5种使用模式
2011-12-14 21:19 1072索引的使用对数据库的性能有巨大的影响。 共有五类不同的使用模式 ... -
HP Unix中的dba MLOCK
2011-12-14 19:14 2224最近在HP平台上遇到两次跟dba MLOCK权限相关的错误: ... -
NESTED LOOP、HASH JOIN、SORT MERGE JOIN
2011-12-13 23:18 1372表连接方式及使用场合 ... -
Oracle用户权限
2011-12-12 19:48 1499系统权限: 1、使用GRANT语句向用户赋予系统权限: ... -
union 和 union all 的区别。
2011-12-12 18:43 979SQL> select * from stud; SI ...
相关推荐
7. **数据备份**:恢复成功后,记住及时备份这些重要文件,防止再次意外删除或硬件故障。 需要注意的是,不是所有删除的文件都能成功恢复,尤其是如果硬盘空间已被新的数据覆盖,那么文件恢复就无法实现了。此外,...
- 完成上述步骤后,应该验证数据文件是否已经被成功恢复。可以通过查询相关的表来测试数据的完整性。 #### 四、注意事项 - 在执行任何恢复操作之前,强烈建议备份现有的数据库文件,以防意外情况的发生。 - 使用...
2. **extundelete**:这是另一个强大的开源工具,专为ext3和ext4设计,用于恢复意外删除的文件。其原理与ext3grep类似,但提供了更友好的交互界面和更多的选项。 - 安装extundelete:`sudo apt-get install ...
首先,当意外执行rm -rf命令导致文件被删除时,如果文件系统是ext3,可以使用ext3grep工具进行数据恢复。ext3grep能够扫描文件系统,恢复通过rm删除的文件。使用ext3grep之前,确保已经将包含被删文件的磁盘分区卸载...
在Windows系统中,如果这些文件被意外删除,可以使用类似上述的Windows文件恢复方法。不过,由于文件的特殊性质(exe文件),在尝试恢复之前应确保它们不是恶意软件,以保障系统的安全。 总的来说,了解如何找回...
在shell中,使用`rm -i`可以交互式地确认每个文件的删除,而`rm -f`则会强制删除,即使文件被锁定或者有其他权限问题也会尝试删除。然而,这些命令都不会提供撤销删除的功能。 当用户意外执行了`rm`命令后,以下是...
为了解决这个问题,社区开发了一个名为`safe-rm`的实用程序,它作为一个安全的替代品,增加了额外的安全层,防止用户意外删除重要文件。 `safe-rm`的核心功能是提供一个更为谨慎的删除过程,它有以下几个关键特性:...
此外,它还具备回收站功能,被删除的文件不会立即被永久移除,而是移动到一个特定的回收站目录,用户可以在之后检查并恢复误删的文件。这对于那些没有启用`回收站`或` Trash`功能的文件系统(如ext3、ext4)来说尤其...
这种模式对于避免意外删除是有帮助的,尤其是在处理大量文件或不确定文件重要性时。 `rm -r`(递归模式)则用于删除目录及其包含的所有文件和子目录。当你需要清除整个目录结构时,`rm -r`是必不可少的。例如,`rm ...
它的存在主要是为了防止用户意外删除重要文件。在Windows系统中,回收站通常在桌面的左上角有一个小垃圾桶的图标。当文件被删除时,它们会被移动到回收站,而不是永久性地从硬盘上抹去。用户可以在回收站中查看这些...
在Linux操作系统中,`rm`命令是一个非常强大的工具,用于删除文件或目录。然而,如果不小心使用了错误的参数或语法,可能会导致严重的问题,比如...另外,定期备份你的系统和重要数据,以便在发生意外时可以快速恢复。
尽管存在一些疑问(例如为什么正在运行中的MySQL数据库文件可以被删除),但当前的重点是数据恢复。 考虑到最近的备份文件存在问题,仅有的可用备份文件仅有1KB大小,并且包含了无效的mysqldump注释。此外,最近的...
1. **误删除恢复**:当用户意外删除了重要文件,而清空了废纸篓或使用`rm`命令永久删除时,DoYourData可以扫描磁盘,找到被标记为已删除但实际上尚未覆盖的数据并进行恢复。 2. **格式化恢复**:如果硬盘、SD卡或...
在Linux ETX3系统中,如果意外删除了重要文件,有几种可能的恢复策略: 1. **回收站**:某些Linux桌面环境如Gnome、KDE提供了回收站功能,删除的文件会被移动到特定的隐藏目录,可以在此找回。 2. **undelete工具**...
- `-f`:强制删除,即使文件被锁定或设置为只读也会删除。 - `-r` 或 `-R`:递归处理,用于删除目录及其下的所有文件和子目录。 - `-v`:详细模式,显示正在删除的文件。 例如,要删除一个名为`example.txt`的文件...
要强制删除一个文件,可以在 `rm` 命令后加上 `-f` 参数,表示 "force",这样即使文件被锁定或正在使用,也能被删除。例如,要删除 `/var/log/httpd/access.log` 文件,可以输入: ``` rm -f /var/log/httpd/...
- `/tmp`和`/var/tmp`:临时文件存储目录,具有特殊的权限设置,防止意外删除。 文件管理涉及创建、复制、移动和删除文件。例如,`mkdir`用于创建目录,`touch`用于创建文件,`cp`用于复制文件或目录,`mv`用于移动...
意外删除可能会导致数据丢失,难以恢复。 - **权限问题**:如果没有足够的权限,可能无法删除某些目录。此时需要管理员权限才能执行删除操作。 - **网络共享**:如果目录是网络共享的,删除可能会影响其他用户访问...