前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取
undo表空间是Oracle体系结构的重要组成部分,为什么我们可以回滚,就是因为有它。数据库任意数据的修改都会在undo表空间里生成前镜像,一是可以回滚,二是可以实现并发,以及一致性查询。因此undo也是Oracle数据库在创建和配置参数时必要的组成部分。本文描述的是错误的配置undo表空间之后故障的解决。
Oracle使用数据库中的回滚段来实现未提交数据或因系统故障导致实例崩溃时进行回滚操作
多租户架构,之前还在做运维的时期接触也不多。遇到多租户问题,第一反应是有些发虚的。 但实际很多问题很简单,也容易解决。本文就是一个例子。
就在前几天,又有一个客户向我咨询undo表空间使用率的问题。 这让我想起几年前曾经有个省份的案例,客户的实际运维人员是一位刚毕业不久的女孩,几乎不懂Oracle原理,项目经理交给她的任务也是基础运维工作,比如其中一项就是监测数据库各个表空间的使用率,并对使用率超过95%的表空间进行扩展,他们的Oracle版本是10gR2。 由于该客户业务是运营商话单相关的,业务数据量很大(几十T的规模),所以预留存储的空间也很充足。 有一次该客户有其他问题找到我远程处理的时候,我惊奇的发现他们的undo表空间居然有2个多T大小。进而询问运维人员是怎么回事,想必结果大家已经猜到了,这女孩说她日常巡检经常发现undo表空间使用率超过95%,所以她就不停地扩展,直到如今已经加到2个多T规模的大小。她甚至认为undo表空间也是某一个业务的表空间,这就尴尬了。 那么,究竟什么是undo?undo都有哪些实际作用呢?Oracle 10g的官方文档是这样描述的:
该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。
故障场景:AIX IBM存储更换存储控制器电源模块导致存储双控同时掉电,存储双控恢复供电后发生锁盘,IBM解盘后 RAC数据库无法正常启动,启动报错:ORA-00600: internal error code, arguments: [2131], [33], [32], [], [], [], [], [], [], [], [], []
前面说了Oracle基本参数,接下来会更新些基本概念。 今天说的是undo空间。 ---- Undo空间作用 回滚事务 恢复数据库 提供一致性读 利用Flashback query 查询过去的数
环境:RHEL 6.4 + Oracle 11.2.0.4 背景:备份恢复的测试库在一次不完全恢复后,没有来及做有效的全备,又一次数据库故障导致数据库无法正常open。 只能离线部分数据文件打开数据库,其中包含undo表空间数据文件。 适用场景:无有效备份,可以丢失数据,删除回滚段状态为NEEDS RECOVERY的undo表空间。
在查看undo的使用率的时候,在Undo_management为auto的时候,经常会看到undo自己在不断的伸缩扩展,自我调节。 有时候看到Undo收缩的很紧,就想知道哪些sql语句在运行,可能有哪些潜在的问题。对于在线业务系统而言,如果某一条sql语句运行时间较长,而且消耗的undo资源极高的情况下,sql语句很可能是有问题的。 可以通过如下的sql语句来简单定位,找到一个sql_id列表,可以看到每个sql_id消耗的Undo资源情况。 sqlplus -s $DB_CONN_STR@$SH_D
在处理一则ORA-600 [4194]案例时,参考MOS文档:Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ID 1428786.1)
Oracle 数据库启动时会根据参数文件中提供的相关参数启动Oracle实例。这些参数包括数据库名字、sga,pga的分配,控制文件的位置,undo,process等等。Oracle RAC数据库同样依赖于这些参数。除了所有单实例情形下的参数值外,RAC数据库还多出了一些重要的参数。本文主要描述RAC环境下的相关参数。
前几天由于单位断电了,导致一台BK*应用的开发数据库环境无法open打开,本以为借助于advise/repair failure就可以实现恢复,中间还是费了不少周折。
情况说明: 系统:SUN Solaris8 数据库版本:9203 问题描述:工程人员报告,数据库在重新启动时无法正常启动.检查发现UNDO表空间丢失. 问题诊断及解决过程如下:
黄玮(Fuyuncat) 资深 Oracle DBA,从事 Oracle 数据库管理、维护与开发工作十余年,有丰富的大型数据库设计、开发与维护方面的经验。个人网站 www.HelloDBA.com 编辑手记:文中通过一步步对比测试,分析了IMU(in memory undo)对日志产生的影响。我们一起来学习 IMU是从10g引入的一项技术,并且是Oracle的专利技术。但是,在10g中似乎没有完全激活,以下的测试在11g中进行。 在传统的事务更新过程中,如果一条数据记录被更新,就会从buffer c
当存储Cache由于丢失时,我们应该如何处理,让数据库重新能够open起来呢?让我们听听,云和恩墨 ACE 李真旭分享的这篇案例。 发现问题 最近某客户的一套核心数据库由于存储问题导致清掉Cache之
SPFILE储存在服务端,它不能自行修改(从而克服了PFILE的一些安全性隐患),如果使用文本编辑器查看SPFILE会发现这是个二进制文件,需要使用SQL命令,由Oracle Server进行管理,使用SQL命令修改的值会永久的保存起来。Oracle的备份恢复工具RMAN可以备份SPFILE。
可见rollback操作和当前数据库 归档模式并没有关系,只和commit操作有关,一旦commit就无法回滚。
黄玮(Fuyuncat) 资深Oracle DBA,个人网站www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. ORA-01555(快照过旧)问题让很多人感到十分头痛。最近我们的生产系统上也报出了ORA-01555错误。就结合这次案例将ORA-1555问题作个案例分析,并浅析产生原因和各种解决办法。 如果要了解1555错误产生的原因,就需要知道ORACLE的两个特性:一致性读(Consistent Get)和延迟块清除(Delayed Block Cleanou
此时,sga和pga自动调整,sga_target最小为4M,pga_aggregate_target最小为1M;
五一放假期间,某客户的数据库出现故障,据说对方找了一些工程师折腾了一天,都无法将数据库open,其中参考了网络上的很多文章,也使用了一系列隐含参数,均无法将数据库打开。这里我简单的与大家分享一下这个c
在Oracle中,什么是闪回版本查询(Flashback Version Query)?
作者简介 何剑敏 Oracle ACS华南区售后团队,首席技术工程师。多年从事第一线的数据库运维工作,有丰富项目经验、维护经验和调优经验,专注于数据库的整体运维。 1了解DRM(Dynamic Re
客户有一套测试库主机宕机,主机启动后,数据库启动报ORA-00600 [4194],本文介绍处理过程。
主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库。
今天和大家分享下数据库的创建和删除的步骤,里面有很多细节需要大家考虑。创建数据库不只是一个create database语句。删除数据库 drop database也不是随时都能执行的。 --创建数据库的步骤。 1.用户,文件系统,挂载点和网络的配置,内核参数配置 这个需要提前准备好。 2.ORACLE_HOME的安装和PSU oracle_home的安装,这个也可以静默安装,不过有条件还是图形界面装,也省事。 最好打上最新的psu。省去不少潜在的问题。 3.初始化参数的考虑 有4个必备的参数。 db_
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
墨墨导读:本文来自墨天轮用户投稿,文章详述安装一套RAC环境,并把单实例数据库通过通过rman还原到这个环境(通常如果是生产环境,我们会搭建从RAC到单实例数据库的ADG,以减少停机时间)。
Migrate database from single instance to Oracle RAC
最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从pfile启动
应用的夜维从夜里00:00开始执行,但因为hang的原因(暂时猜测为夜维处理的某条数据和当前应用正常处理的某条数据相同,出现前后等待同一资源锁的现象),直到第二天白天09:25左右才继续执行,但此时应用日志记录:
拖延症的我终于接下来第二篇数据库参数的分析。 数据库的参数分析一直以来是调优中的重要一环,而感觉有时候却感觉找不到一些方法,我分析了一下,还是蛮有意思。数据库的参数分析基于下面的几个环境。 10gR2(10.2.0.5.0) 11gR2(11.2.0.4.0) 12cR1(12.1.0.2.0) 大体来说数据库的参数在Oracle中还有很大一部分没有开放,而在很多博客,技术分析中,总是会自然而然的分析到隐含参数,通过这些参数可以让我们一窥Oracle对的运行机制。 那么公开和未公开的比例有多大呢,保守的算法
UNDO是用于实现并发控制以及构建一致性读,也就是在数据变更之前产生前镜像,以保证用户能够回滚或撤销对数据库所作的修改。是Oracle数据库完整性的重要组成部分。因此合理的设计及配置undo以及使用undo都将对数据库有较大的影响。通常情况下,对于大规模数据的删除,更新操作,我们建议使用分批删除分次提交以减少对undo的占用和冲击。那么对于undo的大小到底应该设置多大?是启用自动扩展还是关闭自动扩展?这个问题仁者见仁,智者见智,见下文。
墨墨导读:从 Oracle 9i 开始,Oracle引入了一种管理前镜像的新方式。之前的版本是通过 RollBack Segment 进行的,或称为 manual undo(手动 undo)。
环境:RHEL5.5 + Oracle 10.2.0.4 此错误一般是因为数据库的初始化参数文件的内存设置不当导致。本例是因为操作系统参数设置问题导致。
昨天在做生产监控的时候发现有个库的表空间不够了,就发邮件给客户的dba去处理,但是得到的反馈是尝试添加的时候发现已经超过了数据文件的最大数限制。这个错误毫无疑问就是"ORA-00059: Maximum Number Of db_files Exceeded" 一看到这个问题,一下子感觉就头大了。这个参数是在创建数据库的时候就应该考虑到的。竟然没有考虑周全,如果控制文件中的maxdatafiles没有值太小,只能重建控制文件了。如果本身数据文件的数量超过了最大限制,甚至还需要考虑重建数据库,如果碰到这种事就
在实际环境中,许多数据库环境并没有做好完整的数据备份恢复计划及容灾方案,无法保证数据安全,并且出现一些灾难性的错误。那么我们就面临这样的问题:在什么样的最极端情况下,我们还能挽救回数据呢? 我们的用户数据存储在相应表空间的数据文件当中,而元数据部分则存储在系统表空间的数据文件当中。假如仅存在系统表空间及重要数据文件(而非所有数据文件)的情况下还有希望恢复数据吗?当然,这里不讨论使用 Dul 的方式进行恢复。 就这个问题,我做了两个测试,一个是在 Windows 的11.2.0.1的环境中,一个是在 Lin
在实际环境中,许多数据库环境并没有做好完整的数据备份恢复计划及容灾方案,无法保证数据安全,并且出现一些灾难性的错误。那么我们就面临这样的问题:在什么样的最极端情况下,我们还能挽救回数据呢?
上一篇文章还停留在腊月二十六,现在正月十五也已经过去了,这个年算是过去了,这二十多天里看到很多大佬都在不停的更新文章,卷的铺天盖地,我就只能假装看不见,算是躺平了,什么也没有干,静静地等待这个年过完。本文是今年年初一位朋友遇到的数据库的小问题,事后指导其记录形成的文档,算是小白记录问题处理过程,也是本公众号的第一篇投稿(还有投稿的读者朋友可以找我私聊),适合初学者通过搜索引擎、MOS 来解决 Oracle 数据库遇到的小问题并按照一定的格式来记录问题处理过程,具有一定的参考性,废话不多说,进入正文。
Oracle OCP 19c 认证1Z0-082考试题库(第5题)-CUUG收集整理
Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件。它们是在数据库实例启动时候加载的,决定了数据库的物理 结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。可以分为两种类型:
1.system-view 进入系统试图 2.sysname GeisNetwork 命名用户名 3.management-vlan vlan-id 指定管理vlan A.缺省情况下,vlan1为管理vlan。 (这项可不写) B.vlan-id取值范围1—-4094 undo management-vlan 恢复管理vlan的缺省配置 4.interface vlan vlan-id 创建vlan并进入vlan视图 undo interface vlan vlan-id |all all:删除除缺省vlan外的所有vlan 5.ip address ip-address ip-mask undo ip adddress 删除管理vlan接口静态ip地址 6.ip geteway ip-address 配置管理vlan接口网关 undo ip gateway 删除管理vlan接口网关 shutdown 关闭管理vlan接口 undo shutdown 打开管理vlan接口 VTY界面 1.user-interface vty 0 进入VTY界面视图 2.idle-timeout 7 配置用户超时退出功能 3.set authentication password 密码 设置Telnet用户登陆密码 Web界面 1.localuser 用户名 密码 用户级别(0-参观者 1-管理员) 配置web网管用户 eg:localuser GeisNetwork 123456 1 undo localuser 用户名 删除web网管用户 配置SNMP 1. snmp-agent sys-info version all 这部一定要加上,没加是捉不了包的 2. snmp-agent community write(读写) GeisNetwork(团体名) 3. snmp-agent trap enable standard authentication coldstart linkup linkdown 允许发送snmp(认证....) trap 报文 4. snmp-agent target-host trap addres udp-domain 222.73.207.177 udp-port 161 params securityname GeisNetwork v2c 允许222.73.207.177发送trap报文,使用GeisNetwork团体名 udp-port 161 接收snmp通知的主机的udp端口号 display info-center 显示系统日志的配置及内存缓冲区记录的信息 info-center level 级别 设置系统日志级别 日志有8级别 ,默认是5 (wamings) display current-configuration 显示当前生效的配置 display users 显示用户界面的使用信息 display-interface 显示用户界面的状态和配置信息 terminal logging 启用终端显示日志信息 undo terminal logging 关闭终端显示日志信息 info-center enable 开启系统日志 undo info-center enable 关闭系统日志 端口限速及关闭与开启端口: interface ethernet0/1 speed 10 100 auto 三种模式选择 shutdown 关闭端口 undo shutdown 开启端口 quit后退 reboot重新启动 save 保存 关于限速问题之前造成大家误解做一个补充 使用以太网物理端口下面的line-rate命令,来对该端口的出、入报文进行流量限速。 1. 进入端口E0/1的配置视图 [SwitchA]interface Ethernet 0/1 2. 对端口E0/1的出方向报文进行流量限速,限制到6Mbps [SwitchA- Ethernet0/1]line-rate outbound 2 3. 对端口E0/1的入方向报文进行流量限速,限制到3Mbps [SwitchA- Ethernet0/1]line-rate inbound 1 对端口发送或接收报文限制的总速率,这里以8个级别来表示,取值范围为1~8,含义为:端口工作在10M速率时,1~8分别表示312K,625K, 938K,1.25M,2M,4M,6M,8M;端口工作在100M速率时,1~8分别表示3.12M,6.25M,9.38M,12.5M,20M, 40M,60M,80M。 配置mac地址表 <H3C> system-view 增加mac地址(指出所属vlan 端口 状态) [H3C] mac-address static
在数据恢复实践(一)中,我们了解到在 Windows 的11.2.0.1的环境中恢复过程比较顺利,那么接下来的测试,是我遇到更加复杂的情况:系统表空间保护两个不连续的系统文件;恢复过程中出现 ORA 错误及数据字典不匹配的情况。我借助了一些非常规的手段规避这些问题,达到数据拯救的目的。
# 进入系统视图 system-view # 创建本地用户geisnetwork,并进入本地用户视图. [H3C] local-user geisnetwork # 设置本地用户的认证口令为明文方式,口令为 123456 [H3C-luser-geisnetwork] password 123456 # 设置VTY用户的服务类型为Telnet. [H3C-luser-geisnetwork] service-type telnet level 3 # 进入VTY0用户界面视图. [H3C] user-interface vty 0 # 设置通过VTY0口登录交换机的Telnet用户进行Scheme认证. [H3C-ui-vty0] authentication-mode scheme # 设置从VTY0用户界面登录后可以访问的命令级别为3级别 [H3C-ui-vty0] user privilege level 3 # 设置VTY0用户界面支持Telnet协议. [H3C-ui-vty0] protocol inbound telnet #指定vlan1为管理VLAN [H3C] management-vlan 1 #创建交换机管理vlan1的vlan接口并进入vlan接口视图 [H3C] interface vlan-interface 1 #配置管理vlan1接口的IP地址为123.253.X.X [H3C-Vlan-interface1] ip address 123.253.X.X 255.255.255.0 [H3C-Vlan-interface1] quit #配置缺省路由 [H3C] ip route-static 0.0.0.0 0.0.0.0 123.253.132.65 端口限速: # 进入对应端口 [H3C] interface Ethernet 1/0/X # 对端口E1/0/X的出方向报文进行流量限制为10Mbps [H3C] line-rate outbound 10240 # 对端口E1/0/X的入方向报文进行流量限制为10Mbps [H3C] line-rate inbound 10240 附: user-interface vty 4 authentication-mode scheme local-user xf password simple bbs service-type ssh level 3 undo ip http shutdown 还原: reset sav & reboot 如下是华为s2126的一些配置,跟3100基本相同,但也有细微差别: 1.system-view 进入系统试图 2.sysname GeisNetwork 命名用户名 3.management-vlan vlan-id 指定管理vlan A.缺省情况下,vlan1为管理vlan。 (这项可不写) B.vlan-id取值范围1—-4094 undo management-vlan 恢复管理vlan的缺省配置 4.interface vlan vlan-id 创建vlan并进入vlan视图 undo interface vlan vlan-id |all all:删除除缺省vlan外的所有vlan 5.ip address ip-address ip-mask undo ip adddress 删除管理vlan接口静态ip地址 6.ip geteway ip-address 配置管理vlan接口网关 undo ip gateway 删除管理vlan接口网关 shutdown 关闭管理vlan接口 undo shutdown 打开管理vlan接口 VTY界面 1.user-interface vty 0 进入VTY界面视图 2.idle-timeout 7 配置用户超时退出功能 3.set authentication password 密码 设置Telnet用户登陆密码 Web界面 1.localuser 用户名 密码 用户级别(0-参观者 1-管理员) 配置web网管用户 eg:localuser GeisNetwork 123456 1 undo localuser 用户名 删除web网管用户 配置SNMP 1. snmp-agent sys-info version all 这部一定要加上,没加是捉不了包的 2. snmp-agent community write(读写) GeisNetwork(团体名) 3. snmp-agent trap enable standard authentication coldstart linkup linkdown
案例描述: 用户报告,服务器启动一段时间以后,无法建立数据库连接 重新启动几分钟以后,再次无法连接 系统无法正常使用.
RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数。对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置,但一般不建议这么用。本文描述RAC 环境下参数文件(spfile)的相关管理工作。
领取专属 10元无门槛券
手把手带您无忧上云