×

oracle数据库恢复 数据库 rac

oracle数据库恢复(Oracle数据库软件删除后数据有办法恢复么)

admin admin 发表于2022-12-28 10:17:10 浏览45 评论0

抢沙发发表评论

本文目录

Oracle数据库软件删除后数据有办法恢复么

1、如果你没有删除数据库文件:
我的是放在[D:\oracle\product\10.1.0\oradata]这个下面,你的肯定也是在[oradata]这个文件夹下面,看看有没有被删除,如果没有被删除的话,看看这么文件夹里面的文件夹叫什么名字,并把里面的那个文件夹备份一份。
2、重新安装数据库,再重新建一个[oradata]下面文件夹名字相同的数据库实例。
3、安装完毕后,停止oracle相关的所有服务,把你备份的那个文件夹覆盖到新的[oradata]下面,重新启动数据库服务即可完成恢复。
补充:如果数据库文件被你删除了,用EasyRecovery
Professional
恢复一下再按照上面的步骤恢复一下即可。
---
以上,希望对你有所帮助。

如何从完好的数据文件恢复oracle数据库

一。有数据文件、控制文件和日志文件的备份1.服务器重装了操作系统,oracle也重装了。如果重装的oracle和以前损坏的数据库是一模一样的结构,那么此时的恢复是比较简单的。
1)删除掉新建数据库的所有数据文件、控制文件和日志文件。Copy原数据库的数据文件、控制文件和日志文件到对应目录下。
2)
Cmd》sqlplus /nolog
Sql》conn as sysdba
用户名:system
密码:(此处密码为新创建数据库的密码)
Sql》shutdown immediate
Sql》startup nomount
Sql》alter database mount
此时看数据库是不是能mount起来,有时会提示没有口令文件PWDdemo.ora文件找不到。查看对应的目录(database下)会发现该文件是存在的。此时需要注意,该口令文件是新安装数据库后创建实例时生成的口令文件,不是以前所用数据库的口令文件,而现在,我们是用以前数据库的控制文件和数据文件来打开以前的数据库,所以此时需要重新创建一个口令文件。
Sql》shutdown immediate
Sql》host orapwd file=c:/oracle9i/database/PWDdemo.ora password=oracle
Entries=10 (放在database 目录下)
Sql》startup nomount
Sql》alter database mount
Sql》alter database open
打开数据库
2.如果新数据库的安装目录和原有数据库的目录不一样,那么此时可以重建控制文件来打开数据库。因为原控制文件中记录的数据文件地址和现有的数据文件位置不一样。此时和下面第二中情况一样。当然,此时也可以创建和原数据库一样的目录结构(前提是要记得原数据库的目录结构),需要注意的就是参数文件中记录的控制文件位置和控制文件中记录的数据文件位置。
说明:我们需要清楚数据库在打开的三个阶段中,需要读取的文件
Sql》startup nomount (此时读取参数文件)
Sql》alter database mount (根据参数文件中记录的控制文件地址,去读取控制文件)
Sql》alter database open (根据控制文件中记录的数据文件地址,读取数据文件,打开数据库)
二。只有数据文件备份,没有控制文件和日志文件
由于只有数据文件备份,没有控制文件和日志文件,此时只能采用重建控制文件来恢复数据库。以下通过两中方法来介绍如何通过重建控制文件来进行数据库的恢复。
1)仅安装数据库软件,通过新建oracle服务,引用数据文件来创建一个实例。下面以实例名为demo为例进行说明。
1.创建存储demo相关文件的目录。即::各类文件的存放地址。
C:/documents and settings/mkdir c:/demo
C:/documents and settings/mkdir c:/demo/bdump
C:/documents and settings/mkdir c:/demo/udump
C:/documents and settings/mkdir c:/demo/cdump
C:/documents and settings/mkdir c:/demo/pfile
C:/documents and settings/mkdir c:/demo/create
C:/documents and settings/mkdir c:/demo/oradata
C:/documents and settings/mkdir c:/demo/oradata/demo (放置datafile、logfile、controlfile)
2.创建初始化参数文件(pfile)
此处pfile文件可以从其他能正常运行的数据库上copy一个过来进行修改。(判断其他正常运行的数据库使用的是pfile还是spfile,如是pfile可以直接copy,如是spfile,则可根据spfile创建一个pfile文件)
Copy过来的pfile需要修改的地方:
background_dump_dest=c:/demo/bdump
core_dump_dest=c:/demo/cdump
user_dump_dest=c:/demo/udump
control_files=(“c:/demo/oradata/demo/CONTROL01.CTL“, “c:/demo/oradata/demo/CONTROL02.CTL“, “c:/demo/oradata/demo/CONTROL03.CTL“)
dispatchers=“(PROTOCOL=TCP) (SERVICE=demoXDB)“(实例名)
dispatchers=“(PROTOCOL=TCP) (SERVICE=demoXDB)“
db_domain=““
db_name=demo
3.创建oracle服务和口令文件
C:/documents and settings/oradim — new —sid demo —intpwd oracle
4.配置监听和服务
用net manager 进行配置(demo实例的配置)
5.复制数据文件备份到指定的目录下。此处为c:/demo/oradata/demo
6.重建controlfile
C:/Documents and Settings/hefan》sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 12月 29 10:57:07 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL》 conn as sysdba
请输入用户名: system
请输入口令:
已连接。
SQL》 shutdown immediate
ORA-01507: 未安装数据库
ORACLE 例程已经关闭。
SQL》 startup nomount file= c:/demo/pfile/initdemo.ora
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL》 @d:/controlfile.sql
控制文件已创建
Controlfile.sql内容如下:(此处也可以直接在sql》下输入以下内容进行创建controlfile)
CREATE CONTROLFILE REUSE DATABASE “demo“ RESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 226
LOGFILE
GROUP 1 ’c:/demo/oradata/demo/redo01.log’ SIZE 50M,
GROUP 2 ’c:/demo/oradata/demo/redo02.log’ SIZE 50M,
GROUP 3 ’c:/demo/oradata/demo/redo03.log’ SIZE 50M
DATAFILE
’c:/demo/oradata/demo/system01.dbf’,
’c:/demo/oradata/demo/odm01.dbf’,
’c:/demo/oradata/demo/indx01.dbf’,
’c:/demo/oradata/demo/tools01.dbf’,
’c:/demo/oradata/demo/undotbs01.dbf’,
’c:/demo/oradata/demo/users01.dbf’,
’c:/demo/oradata/demo/xdb01.dbf’,
’c:/demo/oradata/demo/cwmlite01.dbf’,
’c:/demo/oradata/demo/drsys01.dbf’,
’c:/demo/oradata/demo/example01.dbf’
CHARACTER SET zhs16gbk
说明:此时没有日志文件,所以只能进行reserlogs,如果是有logfile,则此处不需要resetlogs,noresetlogs就可以

oracle还原数据库长时间不动

一般是网络不好,更换网络再试一下。
根据oracle数据库的特点和提供的工具,还原数据主要方法有以下几种方法。
1、利用逻辑备份使用import工具丢失数据的表;2、利用物理备份来通过还原数据文件并进行不完全恢复;3、利用dbms_logmnr包从redo log文件中恢复;4、利用flashback特性恢复数据。

oracle 数据库表的恢复

更改原来d盘的oracle目录,比如目录名改成oraclebak,重新安装oracle数据库到d盘oracle目录下,并创建数据库和原来的数据库sid保持一致。然后关闭数据库,把新安装的数据库目录更名或删除,再把原来的oraclebak目录再改回oracle,然后重启一下数据库,这时的数据库就是你要恢复的数据库。

oracle数据库误删除数据怎么恢复

恢复的前提是备份;
数据库有什么备份,exp还是rman
如果有exp备份:直接imp数据
如果有rman备份:可以基于时间不完全恢复,将数据库恢复到误删除之前的时刻
如果没有备份但是开闪回了,可以闪回数据库或闪回表

oracle怎么还原被删除的表中的数据

Oracle DBA神器:PRM-DUL灾难恢复工具,Schema级别数据恢复。PRM-DULFor Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM-DUL即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。

oracle数据库误操作把表删除了,怎么找回

一:表的恢复
对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:
1、从flash back里查询被删除的表
select * from recyclebin
2.执行表的恢复
flashback table tb to before drop,这里的tb代表你要恢复的表的名称。
二:表数据恢复
对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。
如:select * from flashback_transaction_query where
table_name=’TEST’;
2、执行表记录恢复
一般先根据时间进行查询,查询语句模式为select * from tb as of timestamp
to_timestamp(time,’yyyy-mm-dd hh34:mi:ss’); tb指表名称,time指某个时间点
如select * from scott.test as of timestamp to_timestamp(’2009-12-11
20:53:57’,’yyyy-mm-dd hh34:mi:ss’);
若有数据,恢复极为简单了,语句为flashback table tb to timestamp
to_timestamp(time,’yyyy-mm-dd hh34:mi:ss’);
如flashback table scott.test to timestamp to_timestamp(’2009-12-11
20:47:30’,’yyyy-mm-dd hh34:mi:ss’);
注意:alter table testvarchar enable row movement;
这个命令的作用是,允许Oracle 修改分配给行的rowid。在Oracle
中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理会对EMP
完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个操作

oracle怎样恢复删除的数据文件

oracle数据库恢复,主要包括(1)系统崩溃只剩下数据文件的情况下的恢复,甚至没有system表空间而只有数据表空间的情况下的恢复.只要提供数据文件就可恢复.(2)undosystem表空间损坏数据恢复.(3)非归档或者归档模式下误delete数据的恢复、误删除表空间的恢复、droptruncate表的恢复.(4)数据库中有大量CLOBBLOB对象数据恢复等情况以及各种ora-错误的修复.(5)DMP文件损坏导致文件不能导入数据库的数据恢复(6)oracle数据库中数据文件出现坏块情况下的恢复.(7)oracle数据库无数据文件但有日志的情况下的恢复.(8)UNIX、WINDOWS下ORACLE数据文件被误删除情况下的数据库恢复.(9)Oracle10G、Oracle11G的ASM损坏的数据库恢复.(10)Oracle10G、Oracle11GBIFGILETABLESPACE大文件表空间损坏数据恢复(11)Oracle9i、Oracle10G、Oracle11G压缩表压缩表空间损坏数据恢复(12)Oracle10GOracle11GExpdp导出Impdp导入DMP文件错误数据恢复恢复成功率高达90%以上,在数据恢复领域处于国内领先的地位。具体案例见广州拓飞官方网站

oracle 数据库删除 怎么恢复

如果仅仅是 数据行被删除了,那么可以用得方法很多 例如logmnr flashback query 等等
如果是表被删除了,那么如果开了recylebin 可以用回收站, 也可以使用专业oracle数据恢复工具PRM FOR ORACLE
如果自己搞不定可以找ASKMACLEAN专业ORACLE数据库修复团队成员帮您恢复! askmaclean.com