oracle数据库恢复

简介:
oracle数据库恢复
 
 
恢复背景
 
使用RMAN做了数据库的完全备份、参数文件、控制文件的备份,所有数据文件\ 在线重做日志文件、控制文件和spfile参数文件全部丢失
 
恢复步骤
1.关闭数据库

RMAN> shutdown immediate;
Oracle instance shut down
2.设置DBID
RMAN> set dbid 663499696
(可以在备份集的名称上得到DBID)
executing command: SET DBID
3.强行启动实例
RMAN> startup force nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/app/oracle/product/10.2.0/db_1/dbs/initora10.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area     159383552 bytes
Fixed Size                     1218268 bytes
Variable Size                 54528292 bytes
Database Buffers             100663296 bytes
Redo Buffers                   2973696 bytes
4.恢复spfile参数文件(AUTOBACK已经不可用)
RMAN> restore spfile from '/orabak/ctl_c-663499696-20090319-00';
Starting restore at 19-MAR-09
using channel ORA_DISK_1
channel ORA_DISK_1: autobackup found: /orabak/ctl_c-663499696-20090319-00
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 19-MAR-09
5.恢复控制文件(AUTOBACK已经不可用)
RMAN> restore controlfile from '/orabak/ctl_c-663499696-20090319-00';
re
Starting restore at 19-MAR-09
using channel ORA_DISK_1
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
output filename=/opt/app/oracle/product/10.2.0/db_1/dbs/cntrlora10.dbf(注意:控制文件不在原来数据文件的位置)
Finished restore at 19-MAR-09
7. 关闭数据库
RMAN> shutdown immediate;
using target database control file instead of recovery catalog
Oracle instance shut down
RMAN> startup mount;
connected to target database (not started)
Oracle instance started
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 03/19/2009 13:55:37
ORA-00205: error in identifying control file, check alert log for more info
8.恢复控制文件(AUTOBACK已经不可用)
RMAN> restore controlfile from '/orabak/ctl_c-663499696-20090319-00';
Starting restore at 19-MAR-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output filename=/opt/app/oracle/oradata/ora10/control01.ctl
output filename=/opt/app/oracle/oradata/ora10/control02.ctl
output filename=/opt/app/oracle/oradata/ora10/control03.ctl(注意:控制文件已经恢复到原来数据文件的位置)
Finished restore at 19-MAR-09
9.装载数据库
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
10.还原数据库
RMAN> restore database;
Starting restore at 19-MAR-09
Starting implicit crosscheck backup at 19-MAR-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
Crosschecked 1 objects
Finished implicit crosscheck backup at 19-MAR-09
Starting implicit crosscheck copy at 19-MAR-09
using channel ORA_DISK_1
Finished implicit crosscheck copy at 19-MAR-09
searching for all files in the recovery area
cataloging files...
no files cataloged
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /opt/app/oracle/oradata/ora10/system01.dbf
restoring datafile 00002 to /opt/app/oracle/oradata/ora10/undotbs01.dbf
restoring datafile 00003 to /opt/app/oracle/oradata/ora10/sysaux01.dbf
restoring datafile 00004 to /opt/app/oracle/oradata/ora10/users01.dbf
restoring datafile 00005 to /opt/app/oracle/oradata/ora10/user_data.dbf
channel ORA_DISK_1: reading from backup piece /orabak/arch/20090319_0kkaa72a_1_1.bak

channel ORA_DISK_1: restored backup piece 1
piece handle=/orabak/arch/20090319_0kkaa72a_1_1.bak tag=TAG20090319T111522
channel ORA_DISK_1: restore complete, elapsed time: 00:01:15
Finished restore at 19-MAR-09
11.恢复数据库
RMAN> recover database;
Starting recover at 19-MAR-09
using channel ORA_DISK_1
la
starting media recovery
unable to find archive log
archive log thread=1 sequence=3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 03/19/2009 14:03:07
RMAN-06054: media recovery requesting unknown log: thread 1 seq 3 lowscn 522697
12.重置onlineredolog日志序号
RMAN> alter database open resetlogs;
database opened
RMAN>

数据库恢复完成!
  本文转自 pgmia 51CTO博客,原文链接:http://blog.51cto.com/heyiyi/140488
 
相关文章
|
13天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 0
|
2天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
3天前
|
SQL Oracle 关系型数据库
零基础入门 Oracle数据库:轻松上手
零基础入门 Oracle数据库:轻松上手
6 0
|
3天前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库
|
4天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
15 0
|
20天前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
24天前
|
Oracle 网络协议 关系型数据库
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
|
24天前
|
SQL Oracle 安全
Oracle数据库中的事务和锁
【4月更文挑战第19天】Oracle数据库的事务和锁是确保数据完整性和并发控制的核心机制。事务遵循ACID原则,保证操作的原子性、一致性、隔离性和持久性。通过COMMIT或ROLLBACK来管理事务更改。锁包括共享锁(读)、排他锁(写)、行级锁和表级锁,用于控制并发访问。自动锁机制在DML操作时生效,防止数据冲突。事务和锁共同维护数据库的稳定和安全。
|
24天前
|
存储 Oracle 关系型数据库
Oracle RAC:数据库集群的舞动乐章
【4月更文挑战第19天】Oracle RAC是Oracle提供的高可用性数据库解决方案,允许多个实例共享同一数据库,确保业务连续性和数据完整性。通过集群件和全局缓存服务实现服务器间的协调和通信。RAC提供高可用性,通过故障转移应对故障,同时提升性能,多个实例并行处理请求。作为数据管理员,理解RAC的架构和管理至关重要,以发挥其在数据管理中的最大价值。
|
24天前
|
监控 Oracle 安全
Oracle用户事件触发器:数据库世界的“福尔摩斯”
【4月更文挑战第19天】Oracle用户事件触发器是数据库中的监控机制,类似于“福尔摩斯”,在用户执行特定操作时自动触发。它们关注用户行为而非数据变化,可用于权限检查、安全监控、性能优化等。通过DDL语句创建,需注意逻辑清晰、条件合适及定期更新,以适应数据库变化和业务发展。掌握其使用能有效保障数据安全与稳定。