模拟data block lost write的简单方法
data block lost write是指数据库下发一个磁盘写操作后收到I/O系统关于写入已经完成的通知,但实际却由于磁盘或者磁盘控制器异常等原因数据块最终没有记入到磁盘,导致对于数据块的修改丢失的情况,data block lost write虽不会影响数据库的高可用性,但若不及时发现会...
一个RMAN备份集所包含的数据文件个数是由哪些因素来决定的?
<span style="color:#000000;"><br /><span style="font-size:16px;"><strong>前不久在处理一个RMAN备份问题时,想到过这样一个问题:一个RMAN backupset里会包含多少个数据文件?经过之后的一系列测试得到的结论是:<br /></strong></span><span style="font-size:16px;"><strong>一个Backupset里包含多少个datafile,与...
了解什么是logminer dictionary
<br /><br /><span style="font-size:16px;color:#000000;"><strong>从9i开始oracle就推出了logminer--日志挖掘技术,logminer可直接应用于redolog内容的解析、也被间接用于Flashback transaction、SQL apply in logical standby database等场合。</strong></span><br /><span style="font-size:16px;color:#000000;"><s...
AIX平台下oracle 12.1.0.1 RAC升级至12.1.0.2的完整过程
<p style="font-size:12px;"><b><span style="font-size:12.0pt;font-family:"">环境描述:<span></span></span></b></p><p style="font-size:12px;"><b><span style="font-size:12.0pt;font-family:""><span style="color:#003399;">OS:</span> AIX6.1+TL07</span></b></p><p style="font-size:12px;">...
Flashback database基础知识问答
<p><span style="color:#000000;font-size:14px;"><strong><br />汇总一下学习flashback database过程中容易被问到的一些问题,不是单纯谈理论,辅有实际操作验证</strong></span><br /><br /><strong><span style="color:#e53333;font-size:14px;">//////////////////</span></strong><br /><strong><span style="co...
重建controlfile之后如何快速导入RMAN备份信息
<p><span style="color:#000000;font-size:14px;"><strong>重建controlfile之后备份信息会丢失,可以使用catalog backuppiece、catalog start with等命令将备份文件信息导回到controlfile,如果备份很多且分散在不同的目录下就需要编辑n条命令来实现导回,而且还会有遗漏;</strong></span><br /><span style="color:#00...
利用存储级的复制技术将一个ASM数据库快速clone到目标环境
<p><span style="color:#000000;font-size:14px;"><strong>生产库是建在ASM上的两节点RAC,测试库是单节点的安装了Oracle restart,版本和生产一样同为11.2.0.3</strong></span><br /><span style="color:#000000;font-size:14px;"><strong>现使用存储级的复制软件将生产库的所有DG拷贝到测试库所在的磁阵,以快速构建出...
没有连接target database的情况下执行RMAN duplicate可能引发的问题
<p><span style="color:#000000;font-size:14px;"><strong>前不久对某个数据库执行backup-based rman duplicate,duplicate过程中没有任何报错,但是duplicate完成后得到的副本数据库并没有包含我们所需要的数据。</strong></span><br /><span style="color:#000000;font-size:14px;"><strong>下面是场景的重现:</stron...
整理一下各种Flashback操作所需要用到的权限
Oracle提供的Flashback操作有针对database的、针对table的还有针对transaction的。各种Flashback操作所需要的权限各不相同,在此进行一下总结Flashback技术A或B用户执行作为owner的A用户需要的权限...
没有备份的情况下如何处理logical & physical corrupt block
###生成测试表和索引create tablespace tsind datafile '/oradata06/testaaaaa/tsind_1.dbf' size 32m;create table t0609_2 tablespace TS0608 as select *from all_users where 0=1;insert into t0609_2 select * from all_users where rownum<2;commit;alter table t0609_2 minimize records_per_block;delete t...
配置了Fast Recovery Area可能会导致snapshot controlfile被频繁更新
snapshot controlfile是current controlfile在某一时刻的快照,以下两种情况会生成snapshot controlfile1、resync catalog2、backup controlfile查看snapshot controlfile的存放路径RMAN> show SNAPSHOT CONTROLFILE NAME;RMAN configuration parameters for database with db_unique_name TSTDB1 are:CONFIG...
recover database skip [forever] tablespace XXX 的用法介绍
recovery过程中可以临时将某个暂无法恢复出来的tablespace skip掉,先恢复其它部分,待recovery database完成并open database后,再recover这个被skip掉的表空间;recover database skip [forever] tablespace ... 可以支持以上功能////////////////// complete recovery场景下使用 skip tablespace XXX///////////////...
RMAN duplicate必须指定DBID的场景
RMAN duplicate 在dbname相同但dbid不同的情况下需要指定dbid,下面来模拟一下这个场景:###先记录当前数据库的信息并生成全库备份SYS@tstdb1-SQL> select dbid,name from v$database; DBID NAME---------- ---------2030654775 TSTDB1run{allocate channel d1 device type disk;alloca...
使用RMAN duplicate对源库的某个incarnation进行duplicate操作时遇到的问题
按照文档的介绍,使用duplicate database targetdb incarnation YYY to dupdb可以针对targetdb的某个incarnation进行duplicate,但实际测试下来却有些问题////////////// 多incarnation环境搭建////////////假设数据库当前的incarnation key为A,在SCN1时刻创建t0704_11表,在SCN2时刻又创建了t0704_22表,在SCN3时刻d...
缺省undo表空间变更后执行TSPITR要注意的问题
执行TSPITR时auxiliary instance里除了有要恢复的表空间外,还必须包含system、sysaux、undo三个表空间,如果当前的undo表空间与恢复点的undo表空间不同时,就需要在recover tablespace命令里指定恢复点的undo表空间名我们要模拟的TSPITR场景:当前为T2时刻,系统缺省的undo表空间为YYY,现需要把某个表空间TSPITR到T1时...
了解什么是Soft corrupt block
简单的说soft corrupt block就是被标记为corrupt的logical corrupt block,logical corrupt block是指能够被oracle正确识别为data block的block,这些block的chkval、块首和块尾的校验值等均是正确的,但是data block存在但不仅限于如下错误:row locked by non-existent transaction - ORA-600 [4512], etc: 指的是一...
模拟oracle里的各种类型的坏块
V$DATABASE_BLOCK_CORRUPTION.corruption_type 有以下几种■ ALL ZERO - Block header on disk contained only zeros. The block may be valid if it was never filled and if it is in an Oracle7 file. The buffer will be reformatted to the Oracle8 standard for an empty block.■ FRACTUR...
使用RMAN report need backup命令检查备份时遇到一个诡异的问题
在检查一个测试库的备份时出现了这样一个问题(该测试库没有使用recovery catalog):RETENTION POLICY设置为REDUNDANCY 1,运行report need backup提示有一个datafile需要备份,但使用list命令查看这个datafile已经有3个备份,满足retention policy的设置,没有必要重新backup。以下是对这个问题的详细分析:###RMAN confi...
针对archival backup的backup optimization效果测试
archival backup,又叫历史归档备份,目的是将数据库某一时刻数据生成历史备份,备份里包含了datafile、spfile、controlfile、archivelog,这个历史备份不受retention policy的限制,通过使用backup ... keep ...指定备份的保留时长,archival backup主要应用与历史数据的永久保留以及将数据库完整恢复到另一个环境里。b...
没有tag标识备份的情况下incremental updating backup是如何运行的
incremental updating backups能够将增量备份应用在datafilecopy上,使得datafilecopy能始终保持更新,很大程度上缩短了恢复时间,典型的用法是run{recover copy of datafile 10 with tag 'df10';backup incremental level 1 for recover of copy with tag 'df10' datafile 10;}上面两次出现了tag 'df10',对datafil...