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

1.重新创建初始化文件,重要的参数包括

control_files,db_name,instance_name,
background_dump_dest,core_dump_dest,user_dump_dest,\
db_block_size=8192,db_cache_size,db_domain,
large_pool_size,pga_aggregate_target,shared_pool_size,
sort_area_size,undo_management,undo_retention,undo_tablespace

你可以通过以下途径创建一个初始供修改的参数文件:

@从备份的参数文件里得到。

@从其他正常运行的Oracle实例里得到,运行下面的命令:

Create pfile='参数文件路径及名称' from spfile

得到后要修改这个文件,注意这个文件对于恢复很重要一定要检查是否正确。

要检查background_dump_dest,core_dump_dest,user_dump_dest等参数设置的目录是否存在

2.修改监听器配置文件.检查监听的数据库参数。

3.在系统级设置环境变量ORACLE_SID。

4.创建实例:

OraDim -NEW -SID sid -startmode m

5.创建Oracle口令文件:

OraPwd file=Oracle_HOME/database/pwdsid.ora password=*****

口令文件的位置一定要正确,否则第七步会报错。

6.启动实例:

@sqlplus “/ as sysdba”如果你的参数文件放在缺省位置且名称符合标准要求,则运行@startup nomount;否则@startup nomount pfile=‘参数文件路径及名称’。

7.创建控制文件:

CREATE CONTROLFILE SET DATABASE
"db_name" RESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 '日志文件路径及名称' SIZE 100M,
GROUP 2 '日志文件路径及名称' SIZE 100M,
GROUP 3 '日志文件路径及名称' SIZE 100M
DATAFILE
'数据文件路径及名称',
....................
...................
CHARACTER SET ZHS16GBK;

8.打开数据库:

Alter Database Open resetlogs;

9. 给临时表空间增加临时文件:

因为临时文件的创建没有包含在创建控制文件的脚本里,所以你需要手工添加给临时表空间增加临时文件,否则执行某些命令的时候会异常的。

ALTER TABLESPACE "TEMP"
ADD TEMPFILE
'C:\ORACLE9I\ORADATA\SHARK\Temp01.DBF' [reuse] SIZE 200M

到这里你的恢复工作完成, 你可以运行一些命令检查一下

时间: 2024-09-20 06:33:27

如何恢复只有完好数据文件的oracle数据库的相关文章

建立STANDBY数据库时在ASM上恢复主库的数据文件出现ORA-15173错误

建立STANDBY数据库时,在ASM上恢复主库的数据文件出现了ORA-15173错误. 主库和备库都是单实例数据库,不过都使用ASM作为存储方式. 在备库上利用主库的备份进行restore database操作,碰到了这个错误: [oracle@localhost data]$ rman target / Recovery Manager: Release 10.2.0.3.0 - Production on Sat Feb 12 14:43:29 2011 Copyright (c) 1982

在open状态下恢复丢失的数据文件

    在open状态下恢复丢失的数据文件,这个实验比较简单,要注意数据库必须1)数据库必须是归档状态2)数据库在数据文件丢失前做过全备份 .次实验模拟test.dbf 意外丢失. 一 实验前的准备.建立一个名为yang的表,插入数据,并提交.归档日志. SQL> conn system/yang as sysdba已连接.SQL> create table yang (num number) tablespace test; 表已创建. SQL> insert into yang va

将mysql数据库表中的部分数据导入到oracle数据库中

问题描述 将mysql数据库表中的部分数据导入到oracle数据库中 有一个问题:需要将Mysql数据库表中的某些数据导入oracle数据库的表中,需要通过传递文件来实现.比如将mysql数据生成.sql文件,然后执行该文件就可以写入到oracle数据库中.希望各位高手给个思路,谢谢 解决方案 可以用sql命令把数据导出到文件,e然后再把文件导入数据库 解决方案二: 你自己思路不是已经很清晰了吗? or你的意思是需要定时自动导入? 自动导入的话 估计需要借助写个程序实现了 解决方案三: 你自己思

提问如何用vb.net实现将excel文件导入oracle数据库

问题描述 提问如何用vb.net实现将excel文件导入oracle数据库,或者是csv文件也可以需要新建一个表,将文本中的内容导入这个表,需要有框架,大体就是选择一个文件,导入就可以 解决方案 解决方案二:Refertothreadfollowshttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=150437&SiteID=1DimMyCommandAsSystem.Data.OleDb.OleDbDataAdapterDimMyConn

100个GB的数据,放在ORACLE数据库中,然后基于大数据平台处理

问题描述 100个GB的数据,放在ORACLE数据库中,然后基于大数据平台处理,求助 解决方案 解决方案二:你确定你的是大数据?解决方案三:引用1楼War_Craft_World的回复: 你确定你的是大数据? 100G数据第一相比普通数据够大第二是数据简称大数据解决方案四:直接上阿里云就是了,有数据处理,要不就是自己搭建环境,

表单数据-使用springmvc中controller怎么实现JSP页面数据提交到oracle数据库,求代码。

问题描述 使用springmvc中controller怎么实现JSP页面数据提交到oracle数据库,求代码. 如何使用controller进行JSP页面输入数据的存储,如图,怎么写这个功能的代码,将咨询内容提交到后台数据库中,然后在后台管理的页面进行对该问题的回复.求大神给写个代码.谢谢. 解决方案 你要把数据传递到后台,然后在保存到数据库里面,建议使用Ajax操作,先把数据传递到后台,通过业务逻辑保存好了之后,再把你的回复通过Ajax的回调函数返回到界面 解决方案二: 怎么写的,求给个代码.

jsp实现添加视频文件到oracle数据库的blob字段

问题描述 jsp实现添加视频文件到oracle数据库的blob字段,求实现方法 解决方案 解决方案二:视频流文件转换成byte数组解决方案三:你先获取视频流,然后自己封装一把持久化到blob解决方案四:参考下吧:importjava.io.BufferedInputStream;importjava.io.FileInputStream;importjava.io.PrintStream;importjava.sql.Connection;importjava.sql.DriverManager

使用geotools导入shp文件到Oracle数据库时表名带下划线问题的解决方法_oracle

问题: 最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(oracleTable, Transaction.AUTO_COMMIT); dsOracle为org.geotools.data.DataStore类型对象 解决方案: 网上查阅资料发现是Oracle11的java包ojdbc的版本问题,maven中搜索ojdbc发现最新版如下图 pom配置: <!-

利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中

excel|oracle|数据|数据库 系统环境: 1.操作系统:Windows 2000 Server,机器内存128M2.数据库: Oracle 8i R2 (8.1.6) for NT 企业版3.安装路径:C:\ORACLE实现步骤: 1.打开MicroSoft Excel 20002.文件(F)→新建(N)→工作簿→3.输入以下数据,存盘为test.xls,如图: 4.文件(F)→另存为(A)→ 保存类型为:制表符分隔,起名为text.txt,保存到C:\ 5.连入SQL*Plus 以s