- 浏览: 557542 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (340)
- Spring (4)
- Hibernate (2)
- Linux (34)
- Oracle (145)
- Eclipse (1)
- UML (1)
- HTML&&JAVASCRIPT (11)
- JAVA (33)
- 设计模式 (1)
- 版本控制 (1)
- wrap框架 (3)
- IBATIS (5)
- Ruby (1)
- DWR (1)
- MINA (11)
- JBPM (2)
- 缓存技术 (4)
- 网络 (3)
- 应用服务器 (1)
- GWT (5)
- 杂谈 (2)
- ICE (4)
- XML (2)
- ArcGis (2)
- Flex (8)
- junit单元测试 (1)
- SNMP (1)
- 存储 (1)
- office (1)
- MongoDB (0)
- Greenplum (3)
- 管理点滴 (1)
- C++ (6)
- 网络入门 (3)
- Tomcat (7)
- JMX (0)
- webservice (1)
- Oracle的10046事件 (1)
- Library cache内部机制详解 (1)
- expdp通过dblink来导入 (1)
最新评论
-
yuanliangding:
有没有关于mock的更多知识。
基于mock对象和JUnit框架简化Spring Web组件单元测试 -
saup007:
ssh端口不是22,怎么搞呢?
Greenplum 学习笔记 -
springmvc-freemarker:
java开源项目源码实例下载
Apache上全部JAVA开源项目简介 -
bobbell:
哇塞,你真厉害,整理的非常全面。我是一个java barcod ...
Greenplum 学习笔记 -
wsj55133245513324:
这不是bug,你将日志级别从debug提升到INFO 就好了 ...
Spring,smppapi,apache mina, ssl快速实现安全的smpp(5)
兄弟刚用ORACLE,因为IP地址变了下,玩了半天,只剩下数据文件了,网上查了一天资料,终于搞定,成功将数据文件恢复到新的数据库中。(主要是以前没玩过,花了我一天半的时间,哎,书到用时方恨少啊) oracle数据恢复:只有数据文件的情况下; 则需要将重建日志文件中DATAFILE段中TEMP01这行删除,因为它是临时表空间,可以在创建后用alter database语句加上。再次执行重建控制文件的脚本。 alter database open resetlogs SQL> set wrap off FILE# ONLINE ONLINE_ ERROR CHANGE# TIME SQL> recover database until cancel; SQL> recover database using backup controlfile until cancel; Specify log: {=suggested | filename | AUTO | CANCEL} ORA-00308: cannot open archived log 'F:ORACLEFLASH_RECOVERY_AREASUNARCHIVELOG2008_01_08O1_MF_1_18_% U_.ARC' ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below SQL> recover database using backup controlfile until cancel; Specify log: {=suggested | filename | AUTO | CANCEL} ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below SQL> recover database using backup controlfile until cancel; Specify log: {=suggested | filename | AUTO | CANCEL} SQL> alter database open resetlogs; Database altered. SQL> 如何更改Oracle的默认监听端口(1521) 这时虽然用sqlplus能连上,但用程序是连不上的,在CMD下,netstat -an 查看时,1521端口是未开启的 程序报错:Io 异常: The Network Adapter could not establish the connection 这种异常的出现大致上有下面几种: 至此,完全搞定
状况描述:当Oracle的控制文件丢失或损坏,但数据文件完好时,可以通过重建控制文件的方式对数据库实例进行恢复。恢复方法如下:
一、备份数据文件
一、安装Oracle,安装过程中不要创建数据库。
二、安装好后,用DBCA(Database Configuration Assistant)创建与丢失的实例相同名称的实例。创建实例时数据库名和实例名要和丢失前的一致。数据文件与控制文件的信息可以从(admin\xxxx\bdump\alert_xxxx.log)文件找到,其中xxxx为数据库名,参照这个文件里的CREATE CONTROLFILE 语句段。还要注意创建实例时的归档模式及非归档模式,如果admin\zhxt\bdump\alert_xxxx.log文件中的CREATE CONTROLFILE 那一行最后是NOARCHIVELOG,则为非归档模式,如为ARCHIVELOG,则为归档模式,没有则保持没有
三、关闭Oracle(我的方法,在服务里将ORACLE的有关服务改为手动,重启机子),用备份出来的数据文件覆盖新建的数据文件,并将新生成的控制文件及重做日志文件删除。
四、启动Oracle有监听(在服务里将ORACLE有关的服务开启)
五、用sys用户连接到oracle
Sqlplus /nolog
SQL>conn sys/sys as sysdba;
六、关闭数据库
SQL> shutdown immediate;
七、起动数据库,但不挂载数据文件
SQL> startup nomount;
八、重建控制文件,重建控制文件的脚本可以从admin\xxxx\bdump\alert_xxxx.log)文件找到,搜索 CREATE CONTROLFILE 语句,如果存在多处这样的语句,则使用最后的。
控制文件的脚本类似如下语句:
CREATE CONTROLFILE REUSE DATABASE "zhxt" NORESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'E:\ORADATA\zhxt\REDO01.LOG' SIZE 100M,
GROUP 2 'E:\ORADATA\zhxt\REDO02.LOG' SIZE 100M,
GROUP 3 'E:\ORADATA\zhxt\REDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'E:\ORADATA\zhxt\RKXT.ORA',
'E:\ORADATA\zhxt\SYSTEM01.DBF',
'E:\ORADATA\zhxt\TOOLS01.DBF',
'E:\ORADATA\zhxt\TYZHXTTBS.ORA',
'E:\ORADATA\zhxt\UNDOTBS01.DBF',
'E:\ORADATA\zhxt\USERS01.DBF',
CHARACTER SET ZHS16GBK
这一语句有几个地方需要修改:
1、 因为重做日志文件已丢失,所以要将第一句的,NORESETLOGS 改为 RESETLOGS
2、 LOGFILE段的几个重做日志文件指定为实际希望的位置
3、 DATAFILE段的数据文件改为数据文件实际的位置,注意这里不要包括临时表空间用到的文件,否则会出错。
执行修改后的脚本。如果提示控制文件创建完成,则可以进行下一步操作。
结果系统报错:
ORA-01503: CREATE CONTROLFILE ??
ORA-01160: ???? data file
ORA-01110: ???? : 'D:\oracle\oradata\cicdb\TEMP01.DBF'
九、创建控制文件成功后,执行以下语句打开数据库,加上RESETLOGS参数是为了重新生成重做日志文件。
SQL> alter database open RESETLOGS;
如果出现以下错误:
*
第 1 行出现错误:
ORA-01194: 文件 1 需要更多的恢复来保持一致性
ORA-01110: 数据文件 1:
'D:ORACLEPRODUCT10.2.0ORADATAORACLE10GSYSTEM01.DBF'
解决方法如下:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'F:SUNSYSTEM01.DBF'
SQL> set lin 300
SQL> select * from v$recover_file;
---------- ------- ------- ----------------------------------------------------------------- ---------- ----------
1 ONLINE ONLINE 476049 08-JAN-08
2 ONLINE ONLINE 476049 08-JAN-08
3 ONLINE ONLINE 476049 08-JAN-08
4 ONLINE ONLINE 476049 08-JAN-08
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
ORA-00279: change 476049 generated at 01/08/2008 19:13:19 needed for thread 1
ORA-00289: suggestion : F:ORACLEFLASH_RECOVERY_AREASUNARCHIVELOG2008_01_08O1_MF_1_18_%U_.ARC
ORA-00280: change 476049 for thread 1 is in sequence #18
ORA-27041: unable to open file
OSD-04002: ????????????
O/S-Error: (OS 2) ??????????????????????
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'F:SUNSYSTEM01.DBF'
ORA-00279: change 476049 generated at 01/08/2008 19:13:19 needed for thread 1
ORA-00289: suggestion : F:ORACLEFLASH_RECOVERY_AREASUNARCHIVELOG2008_01_08O1_MF_1_18_%U_.ARC
ORA-00280: change 476049 for thread 1 is in sequence #18
E:oracleoradatasunsunredo01.log
ORA-00310: archived log contains sequence 17; sequence 18 required
ORA-00334: archived log: 'E:ORACLEORADATASUNSUNREDO01.LOG'
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'F:SUNSYSTEM01.DBF'
ORA-00279: change 476049 generated at 01/08/2008 19:13:19 needed for thread 1
ORA-00289: suggestion : F:ORACLEFLASH_RECOVERY_AREASUNARCHIVELOG2008_01_08O1_MF_1_18_%U_.ARC
ORA-00280: change 476049 for thread 1 is in sequence #18
E:oracleoradatasunsunredo02.log
Log applied.
Media recovery complete.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
十、将临时表空间加入到实例上
SQL> alter tablespace TEMP add tempfile 'E:\oradata\zhxt\TEMP01.DBF' reuse;
十一、退出sqlplus,重启oracle,测试是否成功
Oracle 的默认监听端口为1521,你可以方便的依照下列步骤修改为其他端口:
[oracle@dbserver2 admin]$ cd $ORACLE_HOME/network/admin
[oracle@dbserver2 admin]$ vi listener.ora
修改这个文档中的1521端口为你需要的端口your port
[oracle@dbserver2 admin]$ lsnrctl stop
[oracle@dbserver2 admin]$ lsnrctl start
解决方法如下(实际上是第三种,用手动启动数据库监听就OK了):
这个异常的出现一般与数据库和你的PC的设置有关
1。IP错误。
在设置URL时错误,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp
数据库服务器不正确:ping 服务器IP是否正确。不正确,将URL更改为正确
端口号错误:一般不会错误。
进行一下操作:在DOS上键入sqlplus,检查oracle是否开启
一却正常,执行下面第2步。
2。防火墙
如果机器上安装有放火墙,可能是服务器端口号屏蔽而造成的。关闭防火墙后,尝试重新连接。
仍然不行,执行第3步。
3。数据库监听未启动 修改PC上注册表中的ImagePath值。
以下是以现在主流的数据库ORACLE为例
重新手动启动数据库监听:
1:开始 → 运行→ 输入CMD→ 进入DOS命令提示界面
d:>lsnrctl
LSNRCTL> status
或者
LSNRCTL> start
发表评论
-
expdp通过dblink来导入
2011-12-14 15:01 1789create.sql: spo create.log rem ... -
Library cache内部机制详解
2011-12-14 14:55 891Library cache内部机制详解 http://www ... -
Oracle的10046事件
2011-12-14 14:53 2098Oracle的10046事件,可以跟踪应用程序所执行的SQL语 ... -
REDO LOG MEMBER STATUS 和 REDO LOG GROUP STATUS
2011-12-14 14:51 928V$LOG 中列出的是REDO LOG GROUP STA ... -
oracle的exp/imp使用方法学习(转)
2011-08-30 08:54 964exp/imp两个命令可以说是oracle中最常用的命令了 ... -
oracle几个awr报告
2011-08-09 14:25 900工作中,碰到的数据库慢的几个awr报告 -
Oracle Profile 使用详解
2011-06-21 14:41 972一、目的: Oracle系统中的profile可以用来对 ... -
ORA-27013
2011-04-13 14:25 1515很新的一个bug,看下你的 memory_target是不是& ... -
ACLE表连接方式分析及常见用法
2011-03-23 09:14 1114摘要: 针对在数据仓库 ... -
ORACLE 外部表应用
2011-03-09 14:58 1068SQL> create or replace direc ... -
How to convert a 32-bit database to 64-bit database on Linux
2011-02-18 14:09 1216How to convert a 32-bit databas ... -
expdp impdp 数据库导入导出命令详解
2011-02-16 09:10 1956一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最 ... -
Oracle手工解/锁表
2011-01-25 14:15 2506手工锁表:lock table tbl_t1 in row ... -
oracle动态性能视图
2011-01-22 10:47 862Oracle动态性能视图个人整理 -
RBO规则介绍
2011-01-17 16:45 1078•无条件使用索引•使用内置的优先级别决定访问路径•比较难以 ... -
关于排序、sort_area_size、临时表空间
2011-01-13 15:30 1120简单陈述一下:针对每 ... -
创建索引ORACLE 需要做的工作
2011-01-13 14:53 1324一. 先来看一下创建索引要做哪些操作:1. 把inde ... -
表之间的连接
2011-01-13 10:42 798Join是一种试图将两个表结合在一起的谓词,一次只能连接2 ... -
重建索引的条件
2011-01-12 16:43 955如果索引存在碎片,那每个索引数据块上的索引数据就更少,会导致我 ... -
TKPROF使用学习
2011-01-10 17:38 725Tkprof工具可用来格式化sql trace产生的文件, ...
相关推荐
本文将详细阐述如何在只有数据文件的条件下恢复Oracle数据库。 首先,当Oracle数据库的控制文件不可用,但数据文件完整时,恢复流程的核心在于重建控制文件。控制文件存储了数据库结构的关键信息,包括数据文件的...
本文将详细介绍在没有备份的情况下,如何通过数据文件(DBF)来恢复Oracle数据库。 #### 二、准备工作 在开始恢复工作之前,我们需要做一些必要的准备工作: 1. **确认数据文件(DBF)存在**:首先确认原始数据库中的...
当数据文件遭遇物理删除或丢失时,这将对数据库的正常运行造成严重影响。本篇文章将深入探讨Oracle数据库中物理删除数据文件的恢复方法,帮助你掌握这一关键的故障恢复技能。 首先,我们要理解数据文件物理删除的...
本文将深入探讨如何在危机情况下进行Oracle数据文件的物理删除恢复。这个话题对于DBA(数据库管理员)来说至关重要,因为数据的安全性和完整性是任何业务的核心。 首先,我们需要理解Oracle数据文件(Data Files)...
在Oracle11g中,可以使用RMAN的`RESTORE DATABASE`或`RESTORE DATAFILE`命令来恢复数据文件。 4. **应用重做日志**:恢复数据文件后,必须应用从故障时间点到当前的重做记录,以使数据达到一致状态。`RECOVER ...
### 如何恢复只有完好数据文件的Oracle数据库 #### 一、引言 在数据库管理过程中,数据丢失或损坏是常见的问题之一。对于Oracle数据库来说,当遭遇数据文件损坏时,如果仅保留有完好的数据文件,那么恢复过程将更加...
备份数据库的数据文件,重新命名即可,然后重新安装数据库,安装完成后,打开控制面板,停止 oracle 的服务,把新生成的文件改名,把原先目录下的文件恢复名字。重新启动 oracle 服务和监听,用 sys/as dba 登陆...
本文主要探讨了只使用数据文件进行Oracle数据库恢复的方法,特别适合对数据库恢复不熟悉的新手。这种方法涉及到在虚拟机环境中进行操作,包括VMware的安装、虚拟机配置、操作系统的安装,以及最后的数据文件连接和...
### Oracle通过快照进行数据恢复 #### 一、引言 在日常的数据库管理工作中,数据丢失或误删除是常见的问题之一。对于Oracle数据库来说,它提供了多种手段来进行数据恢复,其中一种有效的方式就是利用快照...
通过阅读`oracle数据恢复.txt`、`oracle热备份步骤.txt`和`oracle冷备份步骤.txt`,你可以更深入地理解并掌握这些关键概念和实践技巧,从而确保你的Oracle数据库在面对数据丢失或系统故障时能够迅速恢复,保持业务...
4. **操作系统文件恢复**:在某些情况下,如果数据文件没有被覆盖,可能可以通过操作系统级别的文件恢复工具找回。但这通常需要专业知识,并且成功率不能保证。 5. **第三方工具**:市场上有一些专门的数据库恢复...
2. **热备份**:热备份是在数据库正常运行时进行的备份方法,它可以备份正在使用的数据文件,支持在线备份。 - **优点**:无需停机,对业务影响小。 - **缺点**:备份过程较为复杂,需要额外处理归档日志等。 ###...
本篇将详细讲解如何使用Oracle数据库的数据文件(DBF)进行恢复。 首先,我们要了解Oracle数据库的结构。在Oracle中,数据以数据块(Data Blocks)的形式存储在数据文件(Database Files,简称DBF)中,这些文件...
当Oracle 11g数据库遭遇崩溃时,如何有效地恢复数据,特别是dbf(数据文件)变得尤为关键。Oracle 11g版本,即11.2.0,提供了多种恢复策略来应对这种情况。在这个过程中,log文件(redo logs)和ctl控制文件起着决定...
- **手工备份与恢复**:即用户管理的备份(UMAN),通过操作系统命令完成数据文件的备份与恢复,之后使用归档日志进行恢复。 - **自动备份与恢复**:利用 RMAN(Recovery Manager)实现自动化备份和恢复流程,支持...
### Oracle 11g 数据恢复向导恢复数据文件 #### 一、背景介绍 在Oracle 11g中,恢复数据库中的数据文件是一项常见的维护任务。数据文件是组成Oracle数据库物理结构的重要组成部分之一,用于存储数据库的数据。由于...
本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...
为此,需要在 Oracle 源机和 Oracle 恢复目标机上编辑 hosts 文件,添加相应的 host 解析信息。 二、推送 Oracle RMAN Plugin 推送 Oracle RMAN Plugin 是为了让 Veeam 备份恢复 Oracle 数据库。需要针对 Oracle ...
在使用"Oracle数据恢复工具"时,用户通常需要遵循一定的步骤,包括分析故障情况、选择合适的恢复模式、执行恢复操作,并在完成后验证数据的完整性和一致性。在过程中,可能会涉及数据的备份与恢复策略、归档重做日志...
在进行Oracle 19c RAC(Real Application Clusters)数据库的数据备份与恢复操作时,可能会遇到需要将RAC集群环境下的备份数据恢复到单实例环境中的场景。这种情况下,RMAN(Recovery Manager)作为Oracle提供的强大...