当前位置:首页 » 操作系统 » oracle数据库恢复

oracle数据库恢复

发布时间: 2022-01-09 21:01:46

❶ oracle数据库如何还原

第一:用安装数据库时的管理员用户登录:创建一个新的用户,如:
//创建用户123密码456
create user 123 identified by 456;
第二:授权,赋予dba的权限
grant dba to 123;
第三:导入数据库
imp 123/456@orcl file=E:\*.DMP fromuser=expuser touser=123
注意:如上导入需要直接在cmd界面执行;expuser是导出用户名,可以随便写,但会有警告;orcl是你创建的数据库事例,在安装oracl的时候,默认会新建一个orcl
最后:希望我描述清楚了,能帮到你。

❷ Oracle数据库的恢复技术

IMPORT方法:
利用IMPORT,将最后一次EXPORT出来的数据文件IMPORT到新的数据库中,这种方式可以将任何数据库对象恢复到它被导出时的状态,此后的变化将无法挽回。IMPORT的命令可以交互式进行,各参数的具体含义见Oracle EXP/IMP参数详解。这种方式适用于没有采用archive 模式的环境。
安全的恢复方法:
如果数据库运行在archive 模式下,那么一旦数据库损坏则可以通过冷备份(热备份)和归档备份将数据库恢复到断点状态。
数据库控制文件恢复(假设所有控制文件均被破坏):
数据库基于文件系统: 利用操作系统的tar、cp等命令即可。
数据库基于裸设备:dd if=$ORACLE_BASE/con.bak of=/dev/rdrd/drd1 seek=12
数据库数据文件恢复数据及索引表空间、系统表空间的恢复:回拷相关的数据库文件和该数据文件备份以来所有生成的所有逻辑日志文件并执行如下命令: svrmgrl>startupmountsvrmgrl>alterdatabaserecoverautomatic如果控制文件被破坏,则: svrmgrl>;#按照提示输入log文件名和redolog文件名svrmgrl>alterdatabaseopenresetlogs;数据库临时文件和回滚表空间的恢复:简单地offline drop 并重建即可 。
注意:如果数据库不运行在archive 模式下,则恢复只能恢复到上次备份时的状态。

❸ 如何从完好的数据文件恢复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/bmp

C:/documents and settings/mkdir c:/demo/ump

C:/documents and settings/mkdir c:/demo/cmp

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文件可以从其他能正常运行的数据库上一个过来进行修改。(判断其他正常运行的数据库使用的是pfile还是spfile,如是pfile可以直接,如是spfile,则可根据spfile创建一个pfile文件)

Copy过来的pfile需要修改的地方:

background_mp_dest=c:/demo/bmp
core_mp_dest=c:/demo/cmp
user_mp_dest=c:/demo/ump
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 - Proction 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数据库备份后怎么恢复

1 导出存储过程,触发器,序列等所有用户对象。(备份)

在PL/SQL Developer的菜单Tools(工具) => Export User Objects(导出用户对象)中出来一个对话框界面
建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建。 在对象列表中ctrl+a 全选所有(如果你只导出部分,可单独选择)

设置 输出文件地址,文件名。 点击导出完成。

2 导出数据。(备份)

在PL/SQL Developer的菜单Tools(工具) => 导出表 中出来一个对话框界面

如果 数据量较大,选择oracle导出,勾压缩选项,然后设置输出文件地址。 如果只导出部分数据,可以在Where 处添加条件。例如 rownum<=1000 ( 导出1000条记录),此种方式导出dmp 格式文件。

如果数据量较小,可以选择sql 插入,此种方式导出sql文件。

选项,勾选 约束,索引,行数,触发器。

注意:如果表中包含clob 或nclob 字段,就只能用dmp格式进行导入,如果是少量表,不包含这种字段,可以用sql插入方式。

还原时,注意需要先还原dmp文件。

3 表数据还原 。

a. 如果dmp 文件,那么在PL/SQL Developer的菜单Tools(工具) => 导入表 中出来一个对话框界面

可以在 “到用户” 处 选择你登录的账户。

b 如果是sql 格式文件,一样在PLSQL中新建一个命令窗口 (command windows) , 粘贴(ctrl+v) 刚才负责的sql内容。然后就开始自动执行还原了。

4 还原其他对象(存储过程,触发器,序列,函数等)

a. 用PLSQL 登录要还原的Oracle。此时你登录的账号是什么,还原就在该账号下。

b. 把先前备份的表结构sql文件打开,全选内容。 然后在PLSQL中新建一个命令窗口 (command windows) , 粘贴(ctrl+v) 刚才负责的sql内容。然后就开始自动执行还原了。

❺ oracle数据库怎样还原到以前某个正确的状态

你可以试试PRM-DUL for Oracle。
ParnassusData Recovery Manager(以下简称PRM-DUL)是企业级ORACLE数据灾难恢复软件,可直接从Oracle9i,10g,11g,12c的数据库数据文件(datafile)中抽取还原数据表上的数据,而不需要通过ORACLE数据库实例上执行SQL来拯救数据。ParnassusDataRecovery Manager是一款基于JAVA开发的绿色软件,无需安装,下载解压后便可直接使用。
恢复场景1 误Truncate表的常规恢复
D公司的业务维护人员由于误将产品数据库当做测试环境库导致错误地TRUNCATE了一张表上的所有数据,DBA尝试恢复但是发觉最近的备份不可用,导致无法从备份中恢复出该数据表上的记录。 此时DBA决定采用PRM来恢复已经被TRUNCATE掉的数据。
由于该环境中 所有数据库文件均是可用且健康的,用户仅需要 字典模式下加载SYSTEM表空间的数据文件以及被TRUNCATED表的数据文件即可,例如:
create table ParnassusData.torderdetail_his1 tablespace users asselect * from parnassusdata.torderdetail_his;SQL> desc ParnassusData.TORDERDETAIL_HIS
Name Null? Type
----------------------- -------- --------------SEQ_ID NOT NULL NUMBER(10)SI_STATUS NUMBER(38)D_CREATEDATE CHAR(20)D_UPDATEDATE CHAR(20)B_ISDELETE CHAR(1)
N_SHOPID NUMBER(10)N_ORDERID NUMBER(10)C_ORDERCODE CHAR(20)N_MEMBERID NUMBER(10)N_SKUID NUMBER(10)C_PROMOTION NVARCHAR2(5)N_AMOUNT NUMBER(7,2)N_UNITPRICE NUMBER(7,2)N_UNITSELLINGPRICE NUMBER(7,2)N_QTY NUMBER(7,2)N_QTYFREE NUMBER(7,2)N_POINTSGET NUMBER(7,2)N_OPERATOR NUMBER(10)C_TIMESTAMP VARCHAR2(20)H_SEQID NUMBER(10)N_RETQTY NUMBER(7,2)N_QTYPOS NUMBER(7,2)select count(*) from ParnassusData.TORDERDETAIL_HIS;COUNT(*)
----------
984359
select bytes/1024/1024 from dba_segments where segment_name='TORDERDETAIL_HIS' and owner='PARNASSUSDATA';BYTES/1024/1024
---------------
189.71875
SQL> truncate table ParnassusData.TORDERDETAIL_HIS;Table truncated.
SQL> select count(*) from ParnassusData.TORDERDETAIL_HIS;COUNT(*)
----------
0
启动PRM ,并选择 Tools => Recovery Wizard点击Next
在此TRUNCATE场景中并未采用ASM存储,所以仅需要选择 《Dictionary Mode》字典模式即可

❻ oracle 数据库如何还原

单击开始,这里输入cmd,打开dos窗口


输入命令


exp bms/BMSPASS@TCDB file=E:DBbackdbback20160112.dmp


这里说明一下


这里的bms是指备份时,登录数据库实例TCDB的用户名;


这里的/是语法符号。


这里的BMSPASS是用户bms登录数据库TCDB时的密码;


@是语法符号。


这里的TCDB是Oracle数据库的实例名。


这里的file=E:DBbackdbback20160112.dmp 是只指备份文件的存放路径。



等待导出完成,如果看到这里的导出成功,说明备份完成了。



打开备份时指定的存储路径,就可以看到备份文件了。



如果在导出命令的最后加上full=y的参数,也就是


exp bms/BMSPASS@TCDB file=E:DBbackdbback20160112.dmp full=y
意思是将用户bms在TCDB数据库实例中的所有文件都备份,也就是完整备份。



数据库还原使用语法


imp bms/BMSPASS@TCDB file=E:DBbackdbback20160112.dmp
这里的E:DBbackdbback20160112.dmp是备份文件的存放路径

❼ 重装系统怎么恢复oracle数据库

任何软件都有可能在有意或无意的情况下被重新安装,如Oracle重装后数据库怎么恢复呢?情况发生在你是无意的情况下!ORACLE数据库恢复的方法我们经常会用到,下面就为您介绍重装系统后ORACLE数据库恢复的方法,希望对您学习ORACLE数据库恢复方面能有所帮助。

我的电脑突然挂了,不得不重装系统,不过我的ORACLE装在了D盘,所有的文件都还在,我相信一定能够恢复,直到搞定工作,我才开始整我的数据库,花了两天时间,终于恢复了,庆祝一下,同时总结一下,希望有遇到同样问题的朋友能够快速搞定此类问题

第一种:

首先,备份数据库(X:\oracle\oradata)下的数据文件,重新命名即可(否则装数据库的时候会提示sid已存在)。重新安装数据
库,当然数据库的名字就是你要恢复的名字。安装完成后,打开控制面板,停止oracle的服务。把(X:\oracle\oradata)下新生成的文件
改名,把原先目录下的文件恢复名字。再重新启动oracle服务和监听。用sys/as dba
登陆数据库,可能会提示权限不够(ora-01031)修改(X:\oracle\ora92\network\admin
)文件夹下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES=
(NTS),增加权限。登陆进去后,打开table提示不能打开。打开common页,执行命令alert database
open;这时再刷新table,发现原先的表可以打开了。恢复成功了。再用原先数据库的普通用户进入。发现一切正常。至此,大功告成。

第二种:

1、首先,将原来的ORACLE文件夹改名,原来的路径是D:/oracle.我暂时改成D:/oracle_old.找来ORACLE(我用
的是ORACLE 9I)安装光盘,将ORACLE安装在原来安装的目录下,这样恢复起来更加方便,主要是注册表的内容不用修改。

2、安装完了之后,系统中又有一个可以使用的ORACLE了。这个时候要做的就是将原来的文件和数据恢复过来。第一步,先关闭ORACLE的所
有已经启动的项目,在"服务"里面逐一关闭。然后,将安装目录改名。我现在用的是D:/oracle.改成D:/oracle_new.再将D:
/oracle_old改成D:/oracle.
这样理论上说从物理层面恢复了ORACLE了。但是我们发现,现在还不能启动ORACLE的监听程序和服务程序。我们还要从逻辑上解决。

3、在dos环境下执行一个删除命令:oradim -delete -sid mm,其中mm为创建oracle时候创建的实例
建议执行这个命令后重新启动机器,重启后就可以建立和原来实例名相同的实例。当然你懒,不重新启动也可以,但是你的实例名就不能和原来的一样了。

4、在dos环境下执行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "创建一个新的实例,其中 "mm"为新数据库的名称。

5、启动服务,先打开数据库,然后可以用以前的用户名和密码登陆进去。
要补充的是,一般的ORACLE数据库的监听程序都是用电脑的名称来识别地址的,而不是127.0.0.1或者localhost.所以,如果我们安装系
统的时候用的是不同的电脑名称(比如我原来用的是wm_mm.重新安装后用的是wenming_mm),那么我们还有一个工作要做,就是修改文件
listener.ora.将里面的相关的东西改过来就可以了。

需要耐心、细心,可能在一步里有一个细小的差别就会出些古怪的错误提示,有时需要根据错误提示采取策略,总之原理是,先装一个一模一样的ORACLE,安装目录、数据库名称都一样,这样保证注册表里不用更改;再覆盖物理文件,最后重新实例化,打开数据库就可以进去了。

❽ oracle数据库恢复

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

❾ oracle数据库数据删除后如何恢复

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

❿ 请问oracle数据库恢复怎么办啊 求解

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

热点内容
查看服务器ip限制 发布:2024-09-20 16:56:27 浏览:388
p搜系统只缓存1页为什么 发布:2024-09-20 16:48:51 浏览:838
上网的账号和密码是什么东西 发布:2024-09-20 16:31:31 浏览:612
安卓手机王者荣耀如何调超高视距 发布:2024-09-20 16:31:30 浏览:428
安卓G是什么app 发布:2024-09-20 16:23:09 浏览:81
iphone怎么压缩文件 发布:2024-09-20 16:08:18 浏览:356
linux查看用户名密码是什么 发布:2024-09-20 16:03:20 浏览:744
mac执行python脚本 发布:2024-09-20 15:58:52 浏览:779
单片机android 发布:2024-09-20 09:07:24 浏览:765
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:664