并不是所有数据文件丢失都能够直接被恢复,如system;也不是所有数据文件丢失都需要恢复,如temp表空间。
下面模拟一张业务表。
1 创建演示环境
sys@ORCL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 16
Next log sequence to archive 18
Current log sequence 18
sys@ORCL> create tablespace think datafile '/u01/app/oracle/oradata/ORCL/datafile/think.dbf' size 10m;
Tablespace created.
sys@ORCL> create user think identified by think default tablespace think quota unlimited on think;
User created.
sys@ORCL> grant connect,resource to think;
Grant succeeded.
sys@ORCL> conn think/think
Connected.
think@ORCL> create table tt (name varchar2(20));
Table created.
think@ORCL> insert into tt values('think');
1 row created.
think@ORCL> commit;
Commit complete.
think@ORCL> select * from tt;
NAME
--------------------
think
2 模拟数据文件丢失
sys@ORCL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ORCL> host rm -rf /u01/app/oracle/oradata/ORCL/datafile/think.dbf
重新启动数据库
sys@ORCL> startup
ORACLE instance started.
Total System Global Area 419430400 bytes
Fixed Size 1219760 bytes
Variable Size 125829968 bytes
Database Buffers 289406976 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 8 - see DBWR trace file
ORA-01110: data file 8: '/u01/app/oracle/oradata/ORCL/datafile/think.dbf'
****************************用户管理的恢复方式***********************
3 执行修复和恢复
sys@ORCL> alter database create datafile '/u01/app/oracle/oradata/ORCL/datafile/think.dbf';
Database altered.
sys@ORCL> recover datafile 8;
Media recovery complete.
4 查询数据
sys@ORCL> alter database open;
Database altered.
sys@ORCL> conn think/think
Connected.
think@ORCL> select * from tt;
NAME
--------------------
think
*****************************rman恢复**********************
[oracle@localhost ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Aug 7 00:03:44 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1316499950, not open)
RMAN> restore datafile 8;
Starting restore at 07-AUG-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
creating datafile fno=8 name=/u01/app/oracle/oradata/ORCL/datafile/think.dbf
restore not done; all files readonly, offline, or already restored
Finished restore at 07-AUG-12
RMAN> recover datafile 8;
Starting recover at 07-AUG-12
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:03
Finished recover at 07-AUG-12
RMAN> alter database open;
database opened
sys@ORCL> conn think/think
Connected.
think@ORCL> select * from tt;
NAME
--------------------
think
小结:丢失的数据文件,能够恢复的关键是,从其创建时刻起所有的重做日志文件都还在,因此我们才可以在重建该数据文件后,通过recover命令应用所有重做日志的方式,重建该数据文件的内容。
分享到:
相关推荐
物理备份涉及操作系统的物理文件,包括数据文件、控制文件和日志文件,它可以是脱机(冷备份)或联机(热备份)。而逻辑备份则侧重于数据库逻辑组件,如表、存储过程等。Oracle 提供了多种方式进行逻辑备份,如 EXP ...
在归档模式下,current 状态下数据文件可以备份。 六、使用 RMAN 进行备份 使用 RMAN 进行备份可以通过以下步骤完成: 1. 显示 RMAN 配置参数:RMAN> show all; 2. 配置 RMAN 备份参数:CONFIGURE RETENTION ...
这些文件通常包括数据文件、控制文件以及归档日志等。 3. **登录RMAN**: - 同时登录目标数据库和catalog数据库: ```bash rman target / catalog rman_rc/rman_rc@rcat ``` #### 恢复流程 1. **启动数据库**...
Oracle之rman数据库在非归档模式下的备份和恢复.doc
在数据库进入归档模式之后,需要再次打开数据库,使之恢复正常运行: ``` SQL> alter database open; ``` 打开数据库后,可以通过再次执行`archive log list;`来验证归档模式是否已成功启用: ``` Database log ...
- **恢复数据文件**:使用`restore database`命令时,RMAN会读取备份集中的每个备份片段,并将数据文件恢复到其原始位置。这一步骤是恢复过程的核心部分,因为它实际上完成了数据文件的物理恢复。 - **数据库恢复**...
* 备份:RMAN可以备份数据库的数据文件、控制文件和归档redo日志文件。 * 恢复:RMAN可以从备份中恢复数据库,包括完全恢复和不完全恢复。 * 报告:RMAN可以生成备份和恢复报告,帮助DBA管理员跟踪备份和恢复操作。 ...
3. 数据文件恢复案例:详述当单个数据文件丢失或损坏时,如何利用RMAN找出相应的备份文件并进行恢复。 4. 恢复策略案例:分析在不同灾难场景下,如硬件故障、误删除数据等,如何利用RMAN进行有效的恢复。 通过这些...
RMAN 提供多种备份类型,包括全库备份、表空间备份、数据文件备份、控制文件备份和归档日志备份。它支持增量备份,这意味着只备份自上次备份以来发生改变的数据块,这大大节省了备份时间和存储空间。RMAN 还能够与第...
RMAN 异地恢复、备份路径不...RMAN 异地恢复需要多个步骤,包括创建软连接、恢复控制文件、重命名数据文件和日志文件、恢复数据库、Switch 数据文件、恢复主机、FTP 文件传输、创建软连接的上级目录和启动数据库等。
这将恢复整个数据库,包括控制文件、服务器参数文件和所有的数据文件。 恢复控制文件 我们也可以使用RMAN来恢复控制文件。我们可以使用以下命令来恢复控制文件: `RMAN> shutdown immediate;` `RMAN> startup ...
在Oracle数据库管理中,RMAN(Recovery Manager)是一个强大的工具,用于执行数据库备份、恢复和维护任务。以下是关于"rman基本备份与恢复"的详细知识: 1. **nocatalog方式**:在没有使用RMAN目录库的情况下进行...
本文主要描述Oracle DB 在使用rman进行恢复时,如何利用rman注册备份集的方式达到主库和目标库数据一致的目的。当然Oracle数据库的话使用DG或ADG技术、或者rman的duplicate技术都是非常好的选择。
Oracle RAC 环境 RMAN 备份与恢复 Oracle RAC 环境中的备份和恢复是非常重要的,特别是在生产环境中。在 RAC 环境中,备份和恢复的操作与普通数据库环境有所不同。本文将详细介绍 RAC 环境中的 RMAN 备份与恢复,...
编写rman批处理文件,实现每天夜间1点执行、数据库全备、备份控制文件及归档日志文件、备份文件保存至PC2\RMAN目录下,并在完成归档日志文件备份后自动删除已备份的归档日志。 知识点五:备份保留策略 备份保留7天...
RMAN是Oracle提供的备份和恢复工具,它可以用来备份和恢复数据库文件、归档日志和控制文件。RMAN具有独特的优势,例如跳过未使用的数据块,当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块。 二、系统规划...
与之相对的是差异模式(Differential),差异模式下的备份只包含自上次同级别备份之后有变化的数据块。 3. 备份计划:文档中定义了一个周期性的备份计划,具体包括: - 周日进行0级增量备份,也就是完成数据库的一...
- 在归档模式下,如果数据文件丢失,可以使用 RMAN 的恢复命令来尝试恢复数据文件。 - **[8]** **数据库处于归档模式,使用 RMAN 命令进行恢复:** - 归档模式下的数据库可以更灵活地使用 RMAN 命令进行恢复。 ...
总之,理解并掌握RMAN备份脚本对于Oracle DBA来说至关重要,它能确保在系统出现故障时快速恢复数据,保障业务连续性。通过定期测试备份脚本并优化备份策略,可以确保数据安全且高效地存储。在实际应用中,根据具体...
2. **控制文件**: RMAN通过读取目标数据库的控制文件来获取备份所需的信息,包括数据文件、归档日志文件以及检查点SCN等。 3. **通道(Channel)**: 为了加速备份过程,RMAN支持创建多个通道。根据不同的备份介质类型...