故障服务器上一共16块FC硬盘,单盘容量600G。存储前面板10号和13号硬盘亮黄灯,存储映射到redhat上的卷挂载不上,服务器业务崩溃。
对于Oracle数据块物理损坏的情形,在我们有备份的情况下可以直接使用备份来恢复。对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等。对于这几种方式我们需要实现基于数据库以及文件级别的恢复。RMAN同时也提供了基于块介质方式的恢复。也就是说我们根本不需要还原数据文件,而是直接从备份文件基于块来提取以实现联机恢复。可参考基于RMAN实现坏块介质恢复(blockrecover) 。这是比较理想的情形。如果没有任何备份怎么办?我们可以使用Oracle自带的DBMS_REPAIR包来实现修复。注意,不要被文章题目有所误导。这里的修复是有损修复也就是说将受损的数据块标记为坏块,不对其进行访问而已。就好比我们磁盘有坏道,找个磁盘修复工具将坏道标出来不使用,同理。那受损的数据岂不是无力回天啦,呜呜......要记得随时备份阿。。
本次数据恢复案例的背景是一台装有20块硬盘的普通服务器,由于未知原因上层业务突然崩溃,机房管理员对服务器进行检查发现导致服务器崩溃的主要原因是服务器上有3块硬盘离线,管理员将服务器内的所有硬盘按照现有盘序从槽位取出后携带硬盘来到北京某数据恢复中心进行服务器数据恢复操作。
服务器内有两块硬盘掉线,现在服务器内的lun丢失了,数据恢复工程师开始对故障服务器进行检测发现掉线的硬盘并没有存在物理故障、也没有坏道等其他故障。于是开始对客户的故障服务器进行镜像备份。
Oracle自从12c版本开始引入多租户的架构,整个管理理念也发生了很大的变化。 比如之前再小的业务只要选择了Oracle,DBA都会选择新建一套独立的数据库,因为传统的架构只能在schema级别作区分,而schema级别有很多问题,隔离不彻底,且最常见的就是出现同名的情况,而如今有了多租户架构之后,一切都已经变得简单起来。 假设企业已经有一套多租户的环境,资源充足,专门提供给小业务使用,那PDB就是绝佳的选择。下面具体感受下Oracle多租户架构下,如何快速创建一个PDB?
因公司断电,导致生产数据库宕机,开启后,出现ORA-00600[2662]问题:ORA-00600: internal error code, arguments: [2662], [2], [1424107441], [2], [1424142235], [8388617], [], []。
《Oracle一个诡异的临时表空间不足的问题》中提到对临时表空间执行shrink space的操作,以前一直理解只有对表能做shrink space的操作,但从官方文档看,11g开始,就可以对临时表空间执行相同的操作。
在HP存储RAID5硬盘离线LVM下VXFS文件系统是如何进行恢复的呢?HP存储也是在企业中常用的存储设备了,本次分享的故障设备为:HP FC MSA2000存储,由于RAID5阵列中出现2块硬盘损坏并离线,而此时只有一块热备盘成功激活,因此导致RAID5阵列瘫痪,上层LUN无法正常使用,整个存储空间由8块450GB SAS的硬盘组成,其中7块硬盘组成一个RAID5的阵列,剩余1块做成热备盘使用。
今天创建了一些表空间,准备做data guard来看看效果。 为了方便起见,我用gridcontrol来做,主库也开了Omf,省去了好多步骤。 一路点下来,就等gc的那个状态变成对号了,结果装了近20分钟,alert日志开始报错。 ******************** WARNING *************************** The errors during Server autobackup are not fatal, as it is attempted after sucess
对于只读表空间,只需要在第一备份时进行备份,在以后的备份中不需要再对备份过的只读表空间进行备份。
其实利用OS拷贝也可以联机操作,不关闭数据库,但是只针对可以OFFLINE的数据文件,步骤如下所示:
【DB宝24】在Oracle 19c中创建容器数据库(1)--DBCA静默创建CDB
移动数据文件/home/oracle/cjctbs02.dbf到/u01/app/oracle11/oradata/chendb/cjctbs02.dbf
1、Oracle 11G下安装BBED,需要从ORACLE 10G中复制三个包 sbbdpt.o 、ssbbded.o 并将两个文件移到$ORACLE_HOME/rdbms/lib/ 目录下 , bbedus.msb 移到 $ORACLE_HOME/mesg/ 下面
https://blog.csdn.net/tianlesoftware/article/details/5006580
首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown)
OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,
33.12. Oracle 表空间 33.12.1. 查询空闲表空间 select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space; SQL> select file_name from dba_data_files; FILE_NAME -----------------------------------------------------------------------------------------
近几日,公司一业务需求要将一些 dump 文件导入到测试库,但是却有一个头痛的事,发现数据库所在的根目录已经 100%,这样肯定是没办法导入 dump 数据文件的,而且数据库已面临巨大的宕机风险了,故申请了临时停机窗口,打算将原有的数据文件移动到其他新挂载的盘符中。
关于数据库中的文件迁移,需要考虑普通数据文件,redo日志文件(还需要考虑是否为current状态),undo表空间,临时表空间,system,sysaux表空间。 文件迁移可以参考下面的伪代码: move_non_system_tablespace ,需要在open状态 { alter tablespace xxxx offline; cp datafiles
Oracle 12c开始提供了多租户数据库的功能,对于不同PDB的复制,可以通过克隆,非常便捷地实现。
关于移动数据库文件,之前写了一篇博文,http://blog.itpub.net/23718752/viewspace-1127910/ 但是在备库中还是有一些的差别。最近因为对备库做了一些规划,新增加了几个分区,想把数据库的一部分文件放到SSD上。所以这个时候在现有的备库基础上需 要移动备库的数据库文件。这里就不局限于数据文件了,不过目前的测试情况来说,还是数据文件是重点,还是主要以数据文件为例。 在备库中目前尝试了两种方式,可以采用rename datafile的方式或者使用rman的方式,对于日
Linux 主机之间即时传送文件,scp命令大家都很熟悉 但当要传送的文件较大,过程中如果网络中断了,就比较悲剧了。这时候可以考虑使用rsync命令替代scp,实现断点续传文件。
作者简介 胡中豪 云和恩墨西区交付工程师,多年一线 DBA 经验,曾服务于运营商、电网、政府行业、银行等行业客户;擅长数据库故障处理、性能优化、实施升级 本文由恩墨大讲堂147期线上分享整理而成。课程
有一个环境是10gR2,一主两备,因为10g的备库还不是active,所以有一些查询的需求的时候,我们还是会打开相应的窗口时间。 开发的同学需要做一个大查询,数据只能全表,而且还有order by,势必会消耗大量的temp空间,这个时候充分利用备库就是好一些,有一个备库平时也没有用过,今天就用这个备库来完成查询需求。 但是过了一会,开发同事说,查询失败了。让我看看什么原因。 开发同学提供的日志为: 2015-11-20 10:48:05,---exception: ---- StatementCallbac
Migrate database from single instance to Oracle RAC
参考MOS的文档Doc ID 361468.1进行配置后,再次查询内存里的Hugepage如下:
如果执行了rm -rf操作删除了所有的基于FS的数据文件,但是数据库还处于OPEN状态,那么,在这种情况下如何快速地恢复数据库呢?这里的前提条件是没有任何可用的RMAN备份、数据库冷备份等,也就是说,没有任何备份。在这种情况下可以通过系统的文件句柄号来恢复数据文件。整个恢复过程可以简单分为如下几步:
墨墨导读:本文来自读者投稿,详述一则给客户备份优化的实际案例,通过这次优化,数据库性能提高了6倍。
1.Centos7+oracle 11g 2.访问LIMS系统报错ORA-604:error occurred at recursive SQL level 1 ORA-00604: error occurred at recursive SQL level 1
本文作者系大连健哥、 POSTGRESQL、ORACLE 数据库资深从业人员、IT 技术的深度爱好者。相信科学改变人类、技术创造未来。个人主页:https://www.cnblogs.com/gaojian/,经其本人授权发布。
我们知道在11g的环境中我们可以通过一些分析来得到DBCA的一些后台处理工作,有一点需要说明的是,如果一个12c的单实例数据库需要转换为12c的容器数据库,你去查看官方文档,会发现这是一个空白,不是做不了,而是里面有一些地方会干扰到你。 所以在11g手工探究脚本过程的基础上,12c的部分你需要再进一步。常规来说,我们可以通过如下的命令得到一个12c的数据库创建的脚本。 dbca -silent -templateName $ORACLE_HOME/assistants/dbca/templat
SYSAUX表空间是在10g之后引入的一个新的表空间,主要用于减轻对SYSTEM表空间的压力而作为SYSTEM表空间的辅助表空间。
环境:RHEL 5.4 + Oracle 11.2.0.3 背景:数据库没有备份,数据库文件被误操作rm,此时数据库尚未关闭,也就是对应句柄存在,如何快速恢复?
答: 用这套自动扩容脚本就好(我已多年不Coding,下午写的这套代码比较Low,仅抛砖引玉,各位大神可在此基础上改写以便更好地适应自己的DB环境)
总结了一下,在归档和非归档的场景下,ora-01145这个错误可能有如下三种情况: 1.off line tablespace --在非归档模式下尝试ofline 数据文件 SQL> alter tablespace tools offline immediate; alter tablespace tools offline immediate * ERROR at line 1: ORA-01145: offline immediate disallowed unless media recover
写在前面: 参数文件中的相关目录需要事先建立 脚本中通道分配为第三方磁带备份,磁盘请使用常规方式 allocate channel c1 type disk; release channel c1; 1. 恢复spfile 1. 1 手动指定备份文件目录 RMAN>catalog start with '/rman/'; 1.2 通过alert日志或pfile恢复 建议定期备份pfile 由于参数信息会放到alert’日志中,可以拷贝参数至文件中然后恢复 SQL> create spfile f
可参考:Online Move Datafile in Oracle Database 12c Release 1 (12.1)
备库的service_name设置为db_standby;需要到参数文件修改。
最近测试环境需要把一些现有的存储空间匀出一部分来给新增的环境使用。 unix组的人很快就空间按照指定的比例重新切分好了。环境交给我的时候,我先把数据库起来,没有任何问题,因为需要到处一个创建用户的语句,就简单执行了一个查询。 select dbms_metadata.get_ddl('USER',u.username) from dba_users u WHERE USERNAME in('TEST'); 但是让我意外的,报了如下的错误。 SQL> select dbms_metadata.get_ddl(
最近在对Oracle 数据库使用冷备tar迁移时,遇到需要将当前数据库文件下下的datapump导出的文件过滤掉,要不然然会产生很大的tar文件以及耗用网络传输时间。其实tar命令为我们提供了过滤功能,只不过由于过滤功能通常使用的比较少,所以很多人不知道。本文描述了tar命令下如何过滤不需要的文件或文件夹。
rm删除所有控制文件,尝试添加数据文件,强制关闭数据库,尝试开启到mount状态。
源环境:RHEL6.4 + Oracle 11.2.0.4 目的环境:Windows 2003 需求:研发测试环境的Oracle数据库从Linux迁移到Windows,可以停机。
--====================== -- 只读表空间的备份与恢复 --====================== 一、只读表空间的特性 使用只读表空间避免对静态数据的频繁备份 当使用alter tablespace tbs read only时,数据文件会执行检查点进程(将所有脏缓冲区的内容写至磁盘), 当前的SCN号会被标注,同时存储了SCN的数据文件头部被冻结.控制文件内也会记录该数据文件的冻结信息。 可以清除只读表空间的对象 二、只读表空间的备份 一般情况下,只读表空间只需要进行一次备份,即当表空间状态发生改变时应立即进行备份 可以使用OS系统cp命令来备份或RMAN进行备份只读表空间 使用RMAN时建议启用备份优化选项 RMAN> CONFIGURE BACKUP OPTIMIZATION ON; 只读表空间不支持热备 SQL> alter tablespace tbs1 begin backup; alter tablespace tbs1 begin backup * ERROR at line 1: ORA-01642: begin backup not needed for read only tablespace 'TBS1' 三、只读表空间的还原与恢复 还原与恢复只读表空间的问题在于控制文件如何控制只读表空间,分为下列三种情况: --------- --------------- ---------------- ------------------------------------- case backup 1 crash status recovery --------- --------------- ---------------- ------------------------------------- case 1 Read-Only Read-Only 将备份的只读表空间复制到目的地(Restore) case 2 Read-Only Read-Write 先Restore backup1,后recover(applied log ) case 3 Read-Write Read-only 先Restore backup1,后recover(applied log ) 只读表空间恢复时需要考虑的问题 重建一个控制文件时 重命名数据文件时 使用一个备份的控制文件时 下面对表空间tbs1置为只读后对比前后生成的重建控制文件的脚本
1)备份GBOS用户表索引:通过plsqlDevelop工具将GBOS用户表索引全部导出,以做备份。
在Oracle 10g的中搭建Data Guard环境真是一个纠结,目前大体都是采用两种方式,一种是rman备份,一种是duplicate的方式,但是这两个地方不够让我满意,一来是rman备份数据量不小,需要先在本地生成备份,然后拷贝到备库去,这个搭建周期略长,另外一个就是推荐的方式duplicate,在10g中有些鸡肋的味道,本地备份,然后拷贝到备库,然后动用duplicate的方式,这样的方式还不如手工rman的方式同步来得顺心顺意,所以在10g中我是不怎么喜 欢duplicate方式。当然11
领取专属 10元无门槛券
手把手带您无忧上云