- 博客(56)
- 收藏
- 关注
原创 Oracle临时段管理
从Oracle 7.3开始,推出了新的临时段算法用于管理临时表空间,即使用存储于共享池的SORT EXTENT POOL来管理临时段的使用与释放。使用临时表空间的临时段之前,进程获得SORT EXTENT POOL LATCH之后将会从SORT EXTENT POOL中分配空闲的EXTENT,并标注可用状态。永久表空间中的临时段主要用于在创建对象(如表格、索引)的过程中临时使用,对象创建完成之后临时段就会变成对象所属的段类型,但如果在创建过程中异常退出,则会由SMON进程负责清理永久表空间中的临时段。
2024-05-24 09:56:20
510
原创 关于组织召开数据安全治理会议
数据是新经济时代的新石油,一种新型战略性资产,具有永不磨损、无限复制、价值放大、无限增值等特点;一家企业拥有的数据规模、活性及分析能力将成为其综合竞争力的核心组成部分。现在的数据泄露事件,往往会导致成千上万人的个人信息曝光,严重打击企业的良好形象,社会影响巨大。本次会议主要探讨在各个主要行业中,在Oracle数据库、MYSQL数据库及国产数据库上如何实现数据安全?7、数据的采集、传输、存储、处理、交换、销毁全生命周期。3、敏感数据的自动全量、增量的识别、发现;6、表级别的增、删、改、查控制,行数控制;
2024-05-20 10:50:04
231
原创 Oracle表空间管理
假设某张表的PCTFREE为20,PCTUSED为40,这就表示当一个BLOCK的空间使用率达到80%(100-PCTFREE)时,这个BLOCK就不再被允许INSERT新的数据了,而保留下来的这20%(PCTFREE)空间将会被预留为UPDATE可能发生的空间扩展,同时该BLOCK从FREE LIST中移除。需要注意的是,Oracle 9i创建表空间时默认使用手动段管理方式,Oracle 9i及之前的低版本中自动段管理方式还有较多BUG,所以不推荐使用。此外只有本地管理的表空间才能使用自动段管理方式。
2024-05-19 20:09:45
895
原创 Oracle数据库空间的管理与监控
但“尺有所短,寸有所长”,相关的运维注意事项和知识点不可能面面俱到,读者如果有疑惑可以参考Oracle官方文档《Concepts》,其内容详实,浅显易懂,值得每位DBA仔细研读。因此,数据库容量的大小在某种程度上决定着数据库的性能,所以数据库的空间管理一直是数据库运维过程中最重要的一项工作。不可预测的故障指的是突发性的故障,如数据库性能的急剧恶化、硬件故障等。过大的数据库,在极端情况下还会影响数据库的打开和关闭时间,因为数据库在正常打开或关闭时需要校验数据文件头内容,过多的数据文件会影响校验速度。
2024-05-19 20:02:02
383
原创 解析Oracle文件头内容
ub2 kscnwrp @488 数据文件头的SCN高2字节值,这是数据文件头中最重要的SCN,如果数据库无法OPEN,有时需要使其和其他数据文件保持一致,或者手动将其增大。ub2 kcrbabof @508 数据文件当前写的REDLOG BLOCK中的偏移量,数据库无法OPEN时,有时需要将其置为0或者修改成和其他数据文件一致的值。ub4 kccfhfsz @44 数据文件的大小,该值和保存在操作系统头中的数据文件大小一致,其值不包含操作系统头。0x0b表示数据文件头的块类型,0x06表示数据块类型。
2024-05-17 21:43:23
440
原创 组织数据架构与治理实践专场会议
2023年11月18日,我作为出品人,在上海组织了现代数据架构分会厂。大会大概有50多人参加。1、在大数据背景下数据治理的困境及解决方案。3、在Oracle数据库中数据质量治理实践。2、在国产数据库中数据质量治理挑战。4、若干数据治理案例分享。
2024-05-17 18:09:15
132
原创 影响Oracle数据库打开速度的因素
所以在启动数据库时,首先会由服务器进程进行实例恢复(CRASH RECOVERY,又叫前滚),即服务器进程扫描ONLINE REDOLOG,在BUFFER CACHE中重构未写进数据文件的脏块信息之后,会通知DBWR进程将脏块写进数据文件。当Oracle发起一个事务需要更改数据时,如果所涉及的数据块不在BUFFER CACHE中,那么Oracle服务进程首先会将相关数据块从数据文件中读进BUFFER CACHE进行更改(直接路径读除外),更改后的数据块称之为脏块(DIRTY BLOCK)。
2024-05-17 15:32:39
225
原创 Oracle CHECKPOINT和REDO LOG
在线日志切换会触发CHECKPOINT操作。为了避免不必要的CHECKPOINT,配置合理的在线日志大小和组数就显得尤为重要。LGWR进程在写在线日志之前,要确保该在线日志所对应的脏块已经写入到数据文件中,当在线日志过小或者组数不够时,则容易导致LGWR进程写日志等待,从而导致性能问题。不得不提,当警告日志出现以上内容不一定表示数据库性能缓慢。如果数据库出现性能缓慢,则需要考虑调整日志文件大小和组数了。
2024-05-17 15:24:30
302
原创 数据库技术与应用探索活动
数据库作为企业数据存储、管理与价值挖掘的核心,正日益成为企业数字化转型的关键支撑。然而,面对日益复杂多变的业务需求和数据规模的不断扩大,传统数据库已难以满足企业对于高效、稳定、安全的数据处理需求。因此,寻求一种性能卓越、灵活可扩展且安全可靠的数据库解决方案,成为众多企业迫切需要解决的问题。3月26日,在上海。我作为活动发起人,组织了《数据库技术与应用探索深度探索》沙龙活动。会议吸引了大概50人左右参加,以下为现场活动照片。
2024-05-16 14:35:39
136
原创 Oracle中全量CHECKPOINT和增量CHECKPOINT的区别与作用
全量CHECKPOINT和增量CHECKPOINT对用户都是透明的,而增量CHECKPOINT只不过是将全量CHECKPOINT要写的脏块分时间分批次写到数据文件中而已,此操作可以极大地减少对数据库性能的影响。
2024-05-16 09:04:07
329
原创 Oracle数据库的CURRENT SCN
数据库的CURRENT SCN是Oracle当前最大的SCN,可以通过多种方法获取该SCN:1、直接从内存中获取。由于当前最大SCN存储在fixed sga中,因此可以通过Oracle debug工具DUMP kcsgscn结构体获取内存中的最大SCN。在下面的程序中,BA371为16进制显示,转换成10进制就是762737:2、从VDATABASE视图中获取。从Oracle10g开始,内存中的最大SCN可以从V。
2024-05-15 17:17:11
357
原创 Oracle事务开始时的SCN
Oracle为每一个事物都分配一个唯一的SCN值,事务开始时的SCN可以从V$TRANSACTION.START_SCNB+ START_SCNW中查询,如下所示:SQL> update t2 set obj#=1 where rownum=1;1 row updated.SQL> select XIDUSN,START_SCNB,START_SCNW from vtransaction2whereSESADDR=(selectSADDRfromvtransaction 2 where SES_AD
2024-05-15 17:16:15
296
原创 Oracle 日志文件头中的SCN
日志文件头中的SCN主要分以下3类:KaTeX parse error: Expected 'EOF', got '#' at position 25: …RY.FIRST_CHANGE#̲列查询,如下所示:SQL> …
2024-05-15 17:14:29
481
原创 Oracle数据块之数据块事务槽中的SCN
如果一个数据块有多个事务槽,表明允许有多个事务对数据块进行并发更改,当其中一个事务发生变化时,会在相应的事务槽登记变化时的SCN。
2024-05-15 17:11:56
348
原创 Oracle数据块之数据行中的SCN
从Oracle 10g开始,如果在表级别打开ROW DEPENDENCIES,业务数据行发生更改时会在数据块中进行登记。可以通过DUMP数据块来观察上述SCN:(1)创建测试表,插入3条测试数据,插入一条提交一次。
2024-05-15 17:10:35
415
原创 ORA-12547的故障解决思路
(1)检查操作系统内核参数是否无误,并检查当前会话的资源限制。(5)使用操作系统跟踪命令跟踪sqlplus连接过程,然后观察跟踪文件。ORACLE_HOME/bin/oracle和。GRID_HOME/bin/oracle和。当出现上述错误时,通常需要检查以下内容。文件的权限是否有问题(在。的文件大小,如果大小为。
2024-04-08 13:49:33
1604
原创 【会议】Oracle自动化运维峰会
Oracle自动化运维能力是Oracle 19c自动化运维体系中非常重要的一环,自动化索引、自动化SQL优化、资源隔离等技术能够非常好的提升运维效率和资源利用率,并使数据库系统的可弹性扩展和稳定性可靠性得到提升。2023年7月21日,杭州。我组织了Oracle自动化运维峰会,大约有20人左右参加会议。本次峰会聚焦于企业级运维效能提升所要拥抱的新技术、创新方法与实践。
2024-04-08 11:54:21
354
原创 如何查看Oracle控制文件中的SCN
Oracle控制文件中的SCN很多,最重要的有3类:数据库SCN、数据文件SCN和Checkpoint progress record中的SCN。数据库SCN和数据文件SCN可以分别从V$DATABASE和V$DATAFILE视图的相应列中找到,它们的值通常在全量CHECKPOINT时由CKPT进程更新。CHECKPOINT PROGRESS RECORDS中的SCN可以从V$THREAD.LAST_REDO_CHANGE#列中找到,其值也是由CKPT进程每隔3秒更新一次。
2023-05-16 09:42:55
1475
原创 关于Oracle SCN的最大阈值
external_scn_rejection_threshold_hours为静态参数,根据这个参数的字面意思再结合它的作用来看,可以理解它就是“拒绝外部SCN”的阈值,其对于数据库自身产生的SCN递增是没有影响的。这也就意味着如果系统的CURRENT SCN和阀值SCN相差小于24小时,数据库的CURRENT SCN值递增的时候则会容易出现ORA-19706错误。比如B库的CURRENT SCN值高于A库,当A库通过DBLINK查询B库的表时,A库就会递增本库的CURRENT SCN值,使其跟B库一样。
2023-05-15 13:37:14
662
原创 如何通过命令行删除Oracle 数据库
从以上的警告日志中,可以看到drop database命令仅仅删除了数据库,并没有删除与实例zhoul的相关配置,这会导致不能用DBCA图形化工具创建相同实例名字的数据库。--查看控制文件位置。注意 在数据库open状态下删除数据文件,数据文件的句柄(handle)还会存在。--查看数据文件位置。
2023-05-15 13:36:05
1475
原创 通过命令行创建Oracle RAC数据库
(5)依次执行下列脚本创建数据字典:catalog.sql、catproc.sql、utlrp.sql、pupbld.sql、catclust.sql。(2)设置实例相关参数,其设置格式为ORACLE_SID.参数名。(1)设置RAC数据库全局参数,这些参数对所有实例可用,尤其需要设置cluster_database、cluster_database_instances参数。命令行创建Oracle RAC数据库和3命令行创建单节点数据库的方法类似。(7)将参数文件拷贝至2号节点,启动2号节点数据库。
2023-05-15 13:33:14
672
原创 通过命令行创建和删除Oracle数据库
简单地讲,Oracle的安装分两大块:一块是Oracle软件的安装,另一块是数据库的安装。命令行安装比DBCA建库更加可控,也适用于图形界面无法启动的主机环境,研究命令行安装能比较清楚地知道创建数据库的来龙去脉。事后调查发现,这个数据库上线之后,Oracle参数从未进行过调整,也就是说在安装数据库的时候,参数配置就存在问题,安装数据库的工程师过大地设置了Oracle SGA参数。现象就描述到这里,有经验的工程师估计能判断出故障的原因了——很可能是系统内存紧张,产生大量交换,从而引起了系统性能下降。
2023-05-15 11:22:39
700
原创 Oracle监听的优化思路
注意 ping命令调用的是ICMP/IP协议,而非TCP/IP协议,且不在节点之间传输TCP数据。用ping命令监测服务器之间的网络环境,其响应时间的快慢并不能真实地反应出网络环境。如果ping速度比较快,只能说明服务器通过各种路由能够快速到达对端服务器而已。
2023-05-13 19:08:47
714
原创 中国南方Oracle用户组活动:Oracle 19c如何高效、安全、稳定运行?
如何在灾难场景下实现零数据丢失的快速恢复是长久以来困扰Oracle DBA的问题,Oracle 19c的新特性有效解决了这一难题,显著提升了Oracle数据库稳定性,极致接近实现RTO
2023-05-12 17:23:09
140
原创 中国南方Oracle用户组沙龙活动:大环境下的Oracle数据库的机遇与挑战
2023年03月12日(周六)下午1:30在杭州索菲特西湖大酒店 (浙江省杭州市上城区西湖大道333 号),中国南方Oracle用户组创始人之一:周亮(zhou liang)组织举办了主题为《大环境下的Oracle数据库的机遇与挑战》活动,大约有50名左右的人员参加了本次会议,大家反响热烈!1、数字化创新与Oracle数据库最佳实践应用场景。1、现在决定未来,谈谈Oracle的技术优势。2、数据库微服务在某金融行业关键业务的应用。3、Oracle微服务如何服务企业级用户。
2023-05-12 16:38:29
435
原创 Oracle数据库坏块类故障
(1)如果损坏的是INACTIVE状态的在线日志,则启动数据库至MOUNT状态,然后使用CLEAR LOGFILE命令重新生成该日志文件,这样就可以正常打开数据库。在线日志损坏也就意味着丢失数据,数据库就无法正常打开,所以需要引起读者足够的重视,千万不要在数据库运行时,关闭主机或者存储。(2)如果不能MOUNT数据库,则使用操作系统命令strings命令提取控制文件的数据文件,在线日志文件位置和路径,然后按照重建控制文件的格式以NORESETLOGS选项重建控制文件。(2)物理备份整个数据库。
2023-05-12 14:48:09
978
原创 Oracle数据误操作类故障的处理思路
(2)如果表被误删除(DROP),且Oracle版本为10g以上,则查看回收站中是否存在误删除表。(4)表闪回版本查询特性依赖于保存在UNDO中的前映像数据,如果表闪回查询失效,则可以尝试使用logmnr工具挖掘归档日志恢复误删除的数据。(3)如果数据被误删除(DELETE),则使用表闪回版本查询特性查看是否能挽救误删除的数据。(1)如果数据库有备份,则评估恢复时间和数据丢失率,如果两者都可以接受则考虑恢复备份。数据误操作故障指的是表误删除、数据误删除等。
2023-05-11 09:21:35
53
原创 Oracle数据库性能故障处理建议
(2)登录到主机,查看主机的资源消耗情况,主要使用top、vmstat、iostat等常见的操作系统命令。观察主机资源的消耗情况时主要查看是否因CPU资源耗尽而产生了大量的运行队列、是否因I/O资源耗尽而产生了大量的阻塞队列,以及是否因内存资源耗尽而产生了大量的系统交换。本节主要讲的是当数据库发生性能故障时笔者的分析思路,以及收集现场数据的方法。(3)登录到数据库,查看活动状态的会话数,确认是否存在排队效应。(1)了解主机的硬件情况,业务系统的拓扑架构,了解业务最近是否发生了变动。
2023-05-10 11:25:51
191
原创 Oracle数据库HANG类故障处理思路
当Oracle系统HANG住,无法使用一切方法登录时 (包括 sqlplus -prelim / as sysdba),可以使用gdb调试工具来对Oracle做系统DUMP,然后就可通过系统DUMP的信息来判断具体HANG的原因了,具体使用方法可以参考MOS文章 273324.1。全局性HANG指的是数据库级别的HANG,局部性HANG指的是部分业务会话HANG。如果数据库全局性HANG,首先要做的就是收集数据库HANG时的状态,只有收集到了相应状态,抓住故障现场,才可以进一步分析故障产生的可能原因。
2023-05-10 11:08:51
544
原创 Oracle数据库连接类故障处理思路
当主机资源紧张时,出现的就不仅仅是数据库连接问题了,还可能会引起LATCH争用,SQL语句执行缓慢等数据库性能问题,在RAC系统中甚至会由于发生脑裂(Brain Split)而发生主机重启等严重故障。数据库的连接故障(不能连接或者连接缓慢)非常常见,除了配置文件有问题,还有很多因素导致数据库连接问题,但只要掌握了处理方法,处理起来还是比较简单的,本节主要跟读者分享笔者遇到该类问题时的处理思路。提示在处理数据库连接类故障时,我们不能局限于检查数据库服务端故障,有时候也需要检查客户端,如客户端的高。
2023-05-09 10:41:30
1240
原创 实时数据仓库专题行业研讨会
过去30年间,传统的数据仓库和商业智能方法因响应太慢而受到挑战,减少转化价值的时间已是现代数据体系结构的基本目标。于是,实时数仓走上时代舞台,以存算分离、实时弹性扩缩容、资源控制粒度细为特征的新一代弹性数仓架构,有效解决了大数据分析场景下的复杂性问题。希望通过现代化数据架构设计,有效解决大数据分析场景下的数据孤岛、数据难以复用和互通、平台复杂度高、存储和计算成本居高不下等问题。5、为了缩短数据处理链路、简化数据架构,企业进行了哪些策略及方案上的改变?6、从业务变化的角度来看,实时数仓带来了哪些影响?
2023-05-08 21:00:12
121
原创 Oracle技术沙龙-如何提高Oracle数据库实战技能
疫情结束后时代,中国南方Oracle用户组在杭州举办了一场如何提高Oracle数据库实战技能的技术沙龙活动,活动主要分线上和线下2场,大约有近百人参加。本次活动邀请了周亮(Oracle ACE DIRECTOR),白玉山(Oracle ACE)为大家讲解Oracle知识。
2023-05-08 11:18:48
141
原创 Oracle数据库故障的诊断方法与分析思路-数据库安装类故障
理论派的DBA由于缺乏故障处理经验,所以碰到问题时就会觉得棘手,缺乏必要的诊断手段,可见经验和解决问题的思路对一个合格的DBA来说是非常重要的。虽然本章仅仅提供了一些解决的问题思路,但笔者认为问题的解决思路如同写作时的灵感,有了灵感之后,成稿就是水到渠成的事情。随着操作系统版本的更新换代,在安装Oracle的过程中往往会出现一些兼容性问题,所以即使是经验丰富的工程师也不能保证在数据库安装过程中不会出现错误。在本节主要跟大家分享笔者自己或所了解的经验教训,希望大家引以为戒,不要像当时的我一样犯同样的错误。
2023-05-08 10:34:20
258
原创 维护Oracle数据文件注意事项
数据文件相关的知识点比较简单,理解起来也相对容易,可以通过查询DBA_DATA_FILES视图了解数据文件的各种属性。但维护时还是需要考虑很多东西。本节主要根据笔者的实践经验,总结了相关注意事项
2022-08-25 13:41:14
463
原创 如何自动化分析Oracle SQL执行计划
如果用户发起一条SQL,在SQL的解析过程中,Oracle会在SHARED POOL中申请持有一系列的LATCH, 该解析过程又分软解析(SOFT PARSING)、软软解析(SOFT SOFT PARSING)和硬解析3种。软解析的目的是最大程度地重用保存在LIBRARY CACHE中的LCO信息,所以经常可以看到软解析高的系统里SHARED POOL的利用率不高,图8-26中的AWR数据来自某客户数据库。硬解析的消耗代价不仅仅是容易引起LATCH的争用。产生一个新的SQL执行计划也需消耗大量的资源。
2022-04-17 10:47:30
646
原创 自动化分析Oracle buffer cache的优化思路
解决BUFFER CACHE的数据块争用问题主要有以下两种思路:重新设计应用。前面已经提到过,如果有1000个并发进程同时对一张表的同一个块进行扫描,那么要彻底解决“热”块问题就只能通过修改应用来解决。利用已有的数据库技术,减少“热”块对系统性能的影响。减少“热”块对系统性能产生影响的一个核心思想就是让数据块中的数据尽可能地分散。一般来讲主要有以下几种分散数据的技术:(1)从Oracle 9i开始,Oracle允许在同一个数据库中存在不同块大小的数据块,为了将数据尽可能地分散到不同的数据块中,可以
2022-04-17 10:42:33
724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人