在告警日志中记录的ORA-01555(snapshot too old,快照过旧)报错信息类似:
冷菠 冷菠,资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队管理以及培训经验。擅长数据库备份恢复、数据库性能诊断优化以及数据库自动化运维等。目前致力于大数据、智能一体化、
黄玮(Fuyuncat) 资深Oracle DBA,个人网站www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. ORA-01555(快照过旧)问题让很多人感到十分头痛。最近我们的生产系统上也报出了ORA-01555错误。就结合这次案例将ORA-1555问题作个案例分析,并浅析产生原因和各种解决办法。 如果要了解1555错误产生的原因,就需要知道ORACLE的两个特性:一致性读(Consistent Get)和延迟块清除(Delayed Block Cleanou
Redo中只会记录少量信息,这些信息足以重演事务;同样Undo中也只记录精简信息,这些信息足以撤销事务。具体来说:
实例是指在内存中分配的一块共享内存区域(SGA)和一组后台进程(或线程),它们用于访问和控制数据库。3实例是Oracle数据库的运行时环境,它是数据库的动态部分,它可以启动和关闭,也可以有多个实例同时运行。
数据库的作用就是实现对数据的管理和查询。任何一个数据库系统,必然存在对数据的大量读或者写或者两种操作都大量存在。I/O 问题也往往是导致数据库性能问题的重要原因。
前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取
Oracle使用数据库中的回滚段来实现未提交数据或因系统故障导致实例崩溃时进行回滚操作
应用的夜维从夜里00:00开始执行,但因为hang的原因(暂时猜测为夜维处理的某条数据和当前应用正常处理的某条数据相同,出现前后等待同一资源锁的现象),直到第二天白天09:25左右才继续执行,但此时应用日志记录:
redo也就是重做日志文件(redo log file),Oracle维护着两类重做日志文件:在线(online)重做日志文件和归档(archived)重做日志文件。这两类重做日志文件都用于恢复;其主要目的是,万一实例失败或介质失败,它们能够恢复数据。
服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示Ora-01092例程终止。强行断开连接
注:OCP-052最新题库完整详细解答版请联系小麦苗私聊。解题不易,请大家尊重原创。
Redo日志是Oracle为确保已经提交的事务不会丢失而建立的一种机制。实际上,Redo日志的存在是为两种场景准备的,一种称之为实例恢复(Instance Recovery),一种称之为介质恢复(Media Recovery)。
ORA-30036:unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
五一放假期间,某客户的数据库出现故障,据说对方找了一些工程师折腾了一天,都无法将数据库open,其中参考了网络上的很多文章,也使用了一系列隐含参数,均无法将数据库打开。这里我简单的与大家分享一下这个c
还记得我们前些天盘点的Oracle 11g 的10大性能影响(上)吗? Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于心技术的不了解,因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是要走过一个磨合的长期过程。 那么这次,我们将继续为大家分享那些新特性带来的新烦恼,为那些准备或者刚刚踏入这个新版本的用户,作为借鉴和参考。 6. _optimizer_use_feedback - 优化器的基数反馈 Cardinality
多用户并发访问 事务:作用于某些数据的一个不可分割的操作 锁:写锁、互斥锁(仅能被一个进程使用) 读锁、共享锁(可被多个进程使用) 更新丢失 脏读 不可重复读 幻影读 隔离级别: 1 READ COMMITTED 每个语句得到完整的视图 2 SERIALIZABLE 事务级别实施串行化 Oracle并发特性 1 回滚段:存储“撤销”信息的数据结构 redo日志用来记录数据库的所有事务;回滚段用于提供事务回滚和读一致性 2 系统改变号 SCN:保证事务执行的顺序 3 数据块中的锁:每个锁只影响数据块
Oracle闪回技术从根本上改变了数据恢复策略,利用闪回技术,可以使更正错误的时间大大缩短,而且它简单易用,使用一条短命令便可恢复整个数据库,而不必执行复杂的程序。闪回技术是Oracle数据库独有的特性,支持各级恢复,包括行、事务、表、表空间和数据库范围。采用闪回技术,可以针对行级和事务级发生过变化的数据进行恢复,减少了数据恢复的时间,而且操作简单,通过SQL语句就可以实现数据的恢复,大大提高了数据库恢复的效率。
undo表空间中undo段是自动生成的,oracle自动使用undo表空间的undo段。
经常看到有人写关于锁的事情,但常常感觉给人一个感觉,数据库的ACID 是通过锁来控制的,实际上数据库的ACID 控制是复杂的,MVCC 就是一个对资源并发访问时的提高并发访问的有效的方法
黄玮(Fuyuncat) 资深Oracle DBA,个人网站www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. 前期分享了ORA-01555错误的原理及相关基础概念。 参考(高频错误:ORA-01555深入剖析) 今天我们来分析ORA-01555发生的场景和各种解决方案 1555发生的场景 测试环境 首先建立测试环境。由于我们只是要模拟1555错误的发生,所以需要建立一个小的回滚表空间,并且设置undo_retention时间为1(秒),以便回滚数据尽快被覆
块清除(Block Cleanout)是指清除存储在数据块头部与锁相关的信息,其实质是在清除块上的事务信息,包括数据的行级锁和ITL信息(包括提交标志、SCN等),块清除不需要生成Redo日志。Oracle的块清除有两种:快速块清除(Fast Commit Cleanout)和延时块清除(Delayed Block Cleanout)。
Oracle 数据库,作为成功的商业数据库,其用户量之大,众所周知。数据库的规模也越来越大。而作为终端用户 对数据的使用要求越来越高。数据量大和快捷的使用方式。这对开发者提出越来越高的要求。
环境:RHEL 6.4 + Oracle 11.2.0.4 背景:备份恢复的测试库在一次不完全恢复后,没有来及做有效的全备,又一次数据库故障导致数据库无法正常open。 只能离线部分数据文件打开数据库,其中包含undo表空间数据文件。 适用场景:无有效备份,可以丢失数据,删除回滚段状态为NEEDS RECOVERY的undo表空间。
ChatGPT已经通过了很多考试,姚远老师是Oracle OCP和MySQL OCP讲师,我很好奇ChatGPT能不能通过Oracle OCP的考试呢?让我们拿Oracle 19c OCP考试(1z0-082)的真题对ChatGPT进行一个测试。
对于Oracle的内存参数的设定存在很多争议,当然具体的设置需要根据系统的情况进行调整,不能一概而论,因此内存参数的设置也就成为了一个难点。但是Oracle 10g、11g的自动内存管理功能还是很强大的,对于负载一般的系统,即使内存参数设置不太合理,也是足以支撑系统正常运行的。Oracle基于对系统的运行评估状态也给出了自身的参数调整策略,仅供参考。
墨墨导读:从 Oracle 9i 开始,Oracle引入了一种管理前镜像的新方式。之前的版本是通过 RollBack Segment 进行的,或称为 manual undo(手动 undo)。
参数文件也叫初始化参数文件,用于存放数据库和数据库实例的参数。这些参数用于指定控制文件的位置、联机日志文件的位置及控制内存分配。参数文件分为普通初始化参数文件(Initialization Parameter File 即PFILE)和服务器参数文件(Server Parameter File 即SPFILE)。初始化参数文件是数据库启动过程所必需的文件,记录了数据库显式参数的设置。数据库启动的第一步就是根据初始化参数文件中的设置,创建并启动实例,即分配内存空间、启动后台进程。
操作系统块是操作系统读写的最小操作单元,也是操作系统文件的属性之一。当创建一个Oracle数据库时,选择一个基于操作系统块的整数倍大小作为Oracle数据库块的大小。Oracle数据库读写操作则是以Oracle块为最小单位,而非操作系统块。
可见rollback操作和当前数据库 归档模式并没有关系,只和commit操作有关,一旦commit就无法回滚。
数据字典dict总是属于Oracle用户sys的。 1、用户: select username from dba_users; 改口令 alter user spgroup identified by spgtest; 2、表空间: select * from dba_data_files; select * from dba_tablespaces;//表空间
使用PL-SQL操作oracle时,执行完更新语句update tab set name='a' where id='1';
客户有一套测试库主机宕机,主机启动后,数据库启动报ORA-00600 [4194],本文介绍处理过程。
--==========================================
加上锁之后,大家都能看,但是不能修改,难度增大了!大家都看到你们加锁了,并且这东西是免费的,所以我也要加锁,于是这秘籍的外表框上加上了很多的锁,这些锁统称为共享锁(S)。
我们定期从墨天轮问答平台上用户遇到的问题中整理出一些常见问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过点击标题链接查看。
Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表。
事务在一般情况下都是指代数据库事务,它是由系统对数据进行访问和更新的操作所组成的一个逻辑单元,具备原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )、持久性( Durability )四大特征,用来确保无论发生什么情况数据都处在一个合理的状态,在日常开发过程中能够不需要考虑网络波动、服务器宕机等问题。所以从某种角度来看,事务是用来服务应用层的。
一条sql,plsql的执行到底是怎样执行的呢? 一、SQL语句执行原理: 第一步:客户端把语句发给服务器端执行 当我们在客户端执行 select 语句时,客户端会把这条 SQL 语句发送给服务器端,让服务器端的 进程来处理这语句。也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生 的一些 SQL 语句发送给服务器端。虽然在客户端也有一个数据库进程,但是,这个进程的作用跟服务器 上的进程作用事不相同的。服务器上的数据库进程才会对SQL 语句进行相关的处理。不过,有个问题需 要说明
Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。
SQL SERVER 好久没有写了,偶然有人问SQL SERVER 的UNDO REDO 怎么实现的,因为这些人不曾听说SQL SERVER 有 autovacuum ,vacuum ,也不曾听说 SQL SERVER 有UNDO 表空间,REDO 日志,到底SQL Server是怎么实现,传统数据库中需要的,前滚翻和后滚翻,我们今天看看,到底SQL SERVER 和那个数据库有近亲关系。
http://blog.csdn.net/liujiahan629629/article/details/18014051
通常来说,我们把业务分为来两类,在**线事务处理系统(OLTP)和在线分析系统(OLAP)**或者DSS(决策支持系统),这两类系统在数据库的设计上是如此的不同,甚至有些地方的设计是像相悖的。
墨墨导读:恢复专家前辈给我们精心准备了个故障,埋了四个雷,整个恢复过程感觉像是过山车,整理分享至此,希望对大家有帮助。
Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解、因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是要走过一个磨合的长期过程。 请注意:我们并不推荐大家盲目的关闭和摒弃Oracle的新特性,我们建议大家在遇到问题时,做出适合自己的调整。 就此盘点一下 Oracle 11g 中,那些新特性带来的新烦恼,如果有用户准备或者刚刚踏入这个新版本,则可以作为借鉴。 1 Adaptive direct path re
对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的。同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专业人员来讲,这些都是必备知识了),一般的技术人员如果对其有较深入的了解,也是大有益处的,毕竟技术思想很多时候都是相通的嘛。本文就从不同维度,如Oracle的内存结构,进程结构,存储结构等方面做相应描述。
领取专属 10元无门槛券
手把手带您无忧上云