问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

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

发布网友 发布时间:2022-04-20 11:04

我来回答

1个回答

热心网友 时间:2022-04-08 08:00

一。有数据文件、控制文件和日志文件的备份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文件可以从其他能正常运行的数据库上copy一个过来进行修改。(判断其他正常运行的数据库使用的是pfile还是spfile,如是pfile可以直接copy,如是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就可以
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
牛奶苹果麦片一起煮好吗 早晨苹果配什么吃 苹果和麦片一起煮好吗 手机录屏工具的原理是什么 手机录屏工具录屏文件在哪 骨龄多久测一次 9岁半孩子的骨龄多少? 英语音系学英语发音历史 英语音系学指的是什么 承德市教育局下设哪些科室 承德市教育局简介 oracle自动备份的文件怎么恢复 培养桂花树苗有什么技巧? 桂花扦插办法是什么? 桂花的扦插方法有几种 桂花的压条繁殖和分株繁殖分别在什么时候操作? 用什么方法桂花扦插生根最快? 如何让桂花枝条生根 桂花的扦插方法 如何嫁接桂花树?压枝繁殖具体做法?其种植方法? 桂花的枝可以压活吗? 桂花怎样扦插繁殖? 如何种植桂花?压枝?插值?种育? 桂花怎样扦插 桂花的扦插方法? 桂花如何插枝 桂花压条繁殖 桂花扦插的时候,应该选择哪种枝条? 桂花扦插的时候,应该选择什么样的枝条? 粘贴屏幕时B7000胶水流进了手机主板,象油一样的液... b7000胶水多长时间干? oracle丢失所有控制文件怎么恢复 oracle数据库备份后怎么恢复 如何对Oracle数据库文件进行恢复与备份 oracle数据库 使用备份的二进制控制文件恢复时,为... oracle数据库怎么备份恢复 oracle如果在某个磁盘的控制文件丢失,则做怎样的... oracle怎么恢复备份的数据 Oracle RMAN 备份及恢复步骤 oracle 10g 怎么备份和恢复数据库。 oracle怎样恢复表数据 unto oracle丢失两个控制文件怎么恢复 oracle数据库备份的实质是什么,是把数据库文件的复... oracle 8i 数据文件恢复 ORACLE 控制文件全部被删除,控制文件中油时间戳吗? Oracle重做日志文件损坏或丢失后应该怎样恢复 oracle 数据文件,控制文件,日志文件能不能恢复数... 拼音中"v"怎么读 V到底怎么读? v读音是什么? v拼音里怎么读
  • 焦点

最新推荐

猜你喜欢

热门推荐