Oracle 学习之RMAN(十三)恢复实战--数据块修复
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,在很多情况下,数据库只是某个数据文件的些许数据块发生损坏。这种情况,我们当然可是使用数据库恢复或者数据文件恢复的方式来解决问题。但是有点高射炮打蚊子的感觉。幸好RMAN提供了块级别的恢复。下面我们来演
千家信息网最后更新 2025年02月01日Oracle 学习之RMAN(十三)恢复实战--数据块修复
在很多情况下,数据库只是某个数据文件的些许数据块发生损坏。这种情况,我们当然可是使用数据库恢复或者数据文件恢复的方式来解决问题。但是有点高射炮打蚊子的感觉。幸好RMAN提供了块级别的恢复。下面我们来演示一下。
1. 创建一个表空间,大小小一点。
SQL> conn / as sysdbaConnected.SQL> create tablespace tbs_blkerr datafile '/u01/app/oracle/oradata/devdb/blkerr01.dbf' size 128K;Tablespace created.
2. 在这个表空间上创建一个表,并且装满数据。
SQL> create table emp_blk tablespace tbs_blkerr as select * from scott.emp;Table created.SQL> insert into emp_blk select * from scott.emp;14 rows created.SQL> /14 rows created.。。。。SQL> insert into emp_blk select * from scott.emp;insert into emp_blk select * from scott.emp*ERROR at line 1:ORA-01653: unable to extend table SYS.EMP_BLK by 8 in tablespace TBS_BLKERRSQL> commit;Commit complete.SQL> select count(*) from emp_blk; COUNT(*)---------- 686SQL>
3. 备份该表空间或者数据文件。
RMAN> backup datafile '/u01/app/oracle/oradata/devdb/blkerr01.dbf';Starting backup at 2015/07/09 10:30:11using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00007 name=/u01/app/oracle/oradata/devdb/blkerr01.dbfchannel ORA_DISK_1: starting piece 1 at 2015/07/09 10:30:11channel ORA_DISK_1: finished piece 1 at 2015/07/09 10:30:12piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T103011_bsvq5mw9_.bkp tag=TAG20150709T103011 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 2015/07/09 10:30:12
4. 使用vi编辑数据文件blkerr01.dbf,对文件尾部做稍微的修改
SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 839282688 bytesFixed Size 2233000 bytesVariable Size 553651544 bytesDatabase Buffers 281018368 bytesRedo Buffers 2379776 bytesDatabase mounted.ORA-01157: cannot identify/lock data file 7 - see DBWR trace fileORA-01110: data file 7: '/u01/app/oracle/oradata/devdb/blkerr01.dbf'RMAN> restore datafile 7;Starting restore at 2015/07/09 10:36:25using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=20 device type=DISKchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/devdb/blkerr01.dbfchannel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T103011_bsvq5mw9_.bkpchannel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T103011_bsvq5mw9_.bkp tag=TAG20150709T103011channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:01Finished restore at 2015/07/09 10:36:27RMAN> recover datafile 7;Starting recover at 2015/07/09 10:36:40using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:00Finished recover at 2015/07/09 10:36:41
此次修改破坏了文件的头部,发生了意外。(也可能是编辑datafile时,没有关闭数据库)我们先恢复数据文件。再次编辑文件。
此实验始终没有做成功,后续有时间再研究。
恢复的方法如下:
RMAN TARGET / BLOCKRECOVER DATAFILE 12 BLOCK 12;
数据
文件
数据库
空间
情况
意外
再次
只是
备份
大小
头部
尾部
感觉
方式
方法
时间
级别
蚊子
问题
高射炮
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2012年软件开发行业
怎么把数据库移到另一个工程
数据库完整性控制技术
软件开发公司终止服务
民法典网络安全讲解
用户数据库如何解决
华为手机怎么取消网络安全证书
美萍软件的数据库6
ipv6怎么升级服务器
网站数据库能对接么
中药物种信息数据库
有关数据库的论文
神武120装备灵服务器多少级开
税务网络安全建设必要性
杭州云象网络技术上市
普陀区自动化软件开发概念设计
恒生互联网科技指数基金
数据库怎么简化数据
数据库连接2个表中字段
钢铁之师2连接服务器失败
歌尔软件开发招聘
sas利用数据行录入数据库
百度云种子服务器异常
网络安全5分钟小品剧本
数据库解析sql失败
平度安卓软件开发外包公司
信息网络安全建设情况
江苏赛迪网络技术有限公司
网络安全课 心得
我的世界自己开服务器但是延迟高