Author Archives: Alfred Zhao
永远不要轻易设置Oracle的隐藏参数,哪怕是DRM
这篇文章可能会存在较大争议,甚至颠覆一些人的固有思维。 因为关于Oracle的隐藏参数,江湖上一直都有两派对立的观点: – 1.不要设置任何隐藏参数,只有当遇到特殊问题时在售后指导下临时使用,在问题解决后还要及时去掉 – 2.这一系列隐藏参数是众多客户踩出来的最佳实践,上线前必须要设置,才能避免重复踩坑,确保系统运行稳定 两派观点各有各的依据,不针对具体客户场景其实也很难讲谁对谁错。 原厂通常是偏向前者,第三方服务厂商则更多是后者,而且这个最佳实践的参数设置通常还被视作宝贵的技术财产。 但是最难的实际上是客户,客户往往会感到困惑。有时甚至被洗脑,认为某些隐藏参数的设置就是金科玉律。 因为历史10g版本刚推出DRM特性时bug确实比较多,有些极端场景造成的业务中断等影响也比较大,所以给很多从业者留下了些许阴影。最终流传出一个经验,DRM一定要关闭。而DRM的关闭就是需要设置一些隐藏参数,笔者也曾深陷于那个时代,也记录了很多“金科玉律”: –10g RAC关闭DRM特性 alter system set “_gc_affinity_time”=0 scope=spfile sid=’*’; alter system set “_gc_undo_affinity”=FALSE scope=spfile sid=’*’; 有些系统不能马上重启,于是还有这样的手段经验,先动态设置应急下: –10g RAC可以设置另外2个动态的隐含参数,来达到从”事实上“关闭DRM的目的: _gc_affinity_limit=250 _gc_affinity_minimum=10485760 然后到了11g,关闭DRM的隐藏参数: alter system set “_gc_policy_time”=0 scope=spfile sid=’*’; alter system set “_gc_undo_affinity”=false … Continue reading
您好,2025!
2025的目标是继续精进。 因此整体目标框架依然不变,只是个别部分有微调。 回顾2024,经历了很多变化和考验,自己保持初心,问心无愧,展望2025,要继续保持终身学习的心态精进自己。 工作&学习篇: 1.博客园继续保持更新;(已成为习惯) 2.从用户视角重新认识全栈技术,重点项目用心做;(需要主动性) 3.重点产品XD深入学;(软硬件等) 4.典型国产DB代表多了解;(OB架构设计、版本迭代) 5.PPT功底继续提升;(软技能) 6.英语能力全面提升;(软技能) 7.思考AI的落地场景;(主动学习AI相关技能) 生活篇: 1.锻炼身体逐步达成目标;(游泳健身) 2.自驾游探亲;(计划今年暑假时期) 3.出国旅游;(可选) 工作&学习篇: 1.博客园继续保持更新;(已成为习惯) 2023依然坚持,且开始同步微信公众号,文章开始注重故事性叙述,降低阅读门槛,增强趣味性。 2024完成继续保持目标。【连续10年更新】 2025会继续精进。【连续11年更新】同时会选取精品文章发公众号。 2.从用户视角重新认识全栈技术,重点项目用心做;(需要主动性) 2023有重点项目在进行中; 2024持续支持有价值的项目,实现双赢。 2025会继续精进。从更高维度看待项目本质,不局限于表面交差。 3.重点产品XD深入学;(软硬件等) 最新的X10M软硬件情况有过了解,后续关注更广的维度,将XD作为DBA了解硬件和扩展知识体系的方式。 2024会继续深入,包括但不限于独特特性,相关专利,关于白皮书中可量化的性能指标等。 2025会继续精进。完成“祛魅”。 4.典型国产DB代表多了解;(OB架构设计、版本迭代) 2023因为精力分配问题,了解不够多,只是粗浅的案例层面; 2024会加强这方面的学习,可以参考OBCP的课件做整体了解,并关注最新版本发展情况。 2024并没有完成,2025开始加强。国产发展趋势和关键技术了解。 5.PPT功底继续提升;(软技能) 目前满足工作需求; 2024如果有时间会精进,但不作为重点关注点。 2025会继续精进。借助合适的模版清晰表达核心观点。 6.英语能力全面提升;(软技能) 目前提升ing,没有量化的指标,不给具体的压力。 2025会继续精进,专注于表达,熟悉英语思维和逻辑,并总结学习经验。 口语带孩子互动练; … Continue reading
Exadata X6支持的最新image和19c数据库版本?
如题,有客户咨询这个问题:Exadata X6支持的最新image和19c数据库版本? 直观感觉,看到X6这个型号就觉得是很老的机器了,毕竟现在最新都X10M了。 首先,去查MOS文档: – Exadata Database Machine and Exadata Storage Server Supported Versions (Doc ID 888828.1) 在Exadata System Software Requirements for Exadata Database Machine Hardware章节可以看到X6 支持的 image版本: – Exadata 12.1.2.3.1 through 24.1 这也就是说支持最新的image到了24.1这个版本,而这个版本的image,连最新的Oracle 23ai数据库都能装! 23ai Long Term Release => … Continue reading
Exadata系列之配置利器OECA
Oracle Exadata Configuration Assistant (OECA) 是一款简便的配置工具,用于快速生成Exadata系统的推荐配置方案。它根据用户的需求和负载特点,自动推荐合适的硬件和存储配置,简化配置过程,并确保性能和可扩展性最佳。 1.OECA工具下载并准备就绪 2.使用OECA配置Exadata X7-2 HC 八分之一配置 3.使用OECA配置给上述配置增加HC存储节点 4.使用OECA配置Exadata X10M-2 HC 八分之一配置 5.使用OECA配置Exadata X10M-2 HC 四分之一配置 1.OECA工具下载并准备就绪 OECA工具官方下载地址: – https://www.oracle.com/database/technologies/oeca-download.html 需要登录Oracle账号,然后勾选同意标准条款并点击下载: 首先下载到的是一个下载工具,比如我MAC的环境就是这个包: – Oracle_SSN_DLM_11120313.dmg 选择下载路径: 成功下载OECA的压缩包: – V1045466-01.zip 解压之后,可在web文件夹下找到index.html,双击在浏览器中打开: 在浏览器中的打开的初始效果如下: 因为此时还没有输入任何有效配置信息,所以Rack Validity Status显示红色的Rack Config is NOT … Continue reading
Oracle的用户如何优雅地达成软件合规目标
企业一旦发展到了一定规模,就会衍生软件100%合规正版化的需求。 而对于使用到Oracle的用户,当然,具体核定的购买数量和off等商务问题,需要客户管理层直接和对应的Oracle销售代表进行商务谈判。 理想情况下,一旦用户面临这个场景,就需要安排自己的技术负责人提前梳理清楚公司目前到底都用了哪些付费选件和管理包,并清楚Oracle计算价格的规则。 因为Oracle是Paper license,很多中小客户早期很可能都没这个意识,所以一旦在某个重要节点被提出来合规要求,都显得有些手足无措,尤其对Oracle一系列复杂的细分产品选件细节定义顿感头痛。 有些客户也会选择邀请我们专门给他们培训解释这些规则。为了让更多有需求的客户能在未来正式的商务谈判中不至于太被动,优雅地达成合规正版化。 这里介绍下如何下功夫先自行梳理一番,做到自己心中有数。 好在这些产品定义信息并不是秘密,规则也都是公开透明的,甚至连列表价都是公网可查的: Oracle Technology Global Price List 目前能查到的最新版本,发布时间是June 13, 2024,在公网也能直接搜索到。这里贴出最普遍的Oracle数据库部分来举例说明: 细节在官方文档有非常清晰的描述,比如Oracle数据库的所有license细节都可以在这篇文档中找到依据: Database Licensing Information User Manual https://docs.oracle.com/en/database/oracle/oracle-database/23/dblic/Licensing-Information.html 本文挑重点部分聊下,通常有哪些困惑和常见的误解。 1.Partitioning是指分区?分区还收费? 2.RAT是指啥?咋小老鼠还收费呐? 3.ADG中链路压缩还需要高级压缩选件? 4.高级安全都有啥? 5.In-Memory的免费使用条件? 6.Diagnostic Pack是必选项? 7.Tuning Pack能不用吗? 彩蛋1:Oracle产品是都按照Core收费吗? 彩蛋2:警惕那些看起来人畜无害的小参数! 1.Partitioning是指分区?分区还收费? 是的,就是针对表或索引的各种分区,都是算Partitioning这个选件中的。 很多用户会很容易认同RAC、ADG这种看着就很大的功能,作为Option还很好理解,而误以为分区是数据库内部很基础的功能,应该归属于DBEE的功能中,但实际上,它也是在DBEE之外,作为一个独立的付费Option。 参考官方文档内容: These … Continue reading
英语疑问句倒装特征以及从句的正常语序
上一篇介绍了英文中的五大基本句型,在进一步介绍句子如何在五大句型之上如何各种添枝加叶变得复杂之前,我们先来搞懂英语疑问句倒装特征以及从句的正常语序。 这是至关重要的一件事,但其实太多初学者都给忽略了,在懵圈中苦学了很久,结果在实际应用时产生了各种混乱,事倍而功半。 本文想通过举例的方式,来试图讲清这个事情,让更多英语初学者能事半而功倍,若能让困惑已久的小伙伴们可以豁然开朗,那笔者也会为你开心。 1.疑问句倒装特征 2.疑问词引导的名词性从句 3.其他常见词引导的名词性从句 1.疑问句倒装特征 先举个简单的例子,看这样一个问答: 中文: – 你喜欢什么颜色? – 我喜欢红色。 英文: – What color do you like? – I like red. 我们发现,在答句部分,中英文都是陈述句,很好理解。 但是在这个问句中,中文是正常语序,而英文是明显倒装了的。 众所周知,上面这个问句属于特殊疑问句。 回答也是要根据问的具体内容来做具体回答。 而如果是一般疑问句,简单讲就是可以使用Yes/No的开头来回答的问句,比如下面例句: 中文: – 你喜欢红色吗? – 是,我喜欢。 – 不,我不喜欢。 英文: – Do you … Continue reading
搞懂英语的五大基本句型
在句子结构分析中,看过太多不同说法,今天先聊下最核心的五大基本句型(简单句),打好英语句子结构的地基。 五大基本句型简写如下: S + V S + V + C S + V + O S + V + O + O S + V + O + C S、V、O、C 这些字母是常用的缩写,用来表示句子中的不同成分,这些缩写帮助我们更清楚地理解句子的结构和功能。 但是一旦翻译起来,各种流派就会出现分歧,甚至给初学者造成困惑。 本文具体讨论: 1.S、V、O、C的含义 2.五大句型的结构解释 1. S、V、O、C的含义 我们先来单独看这些概念都代表啥? S – … Continue reading
使用触发器来审计表的DML、DDL操作
最近帮客户排查某问题时,因为怀疑应用对某张配置表有变更,所以需要对这张表的所有操作进行审计。 原本Oracle对某张表的审计是非常方便的,一条命令就可以实现,也不需要费心自定义审计表。 — 启用对表DEPT的插入、更新和删除操作的审计 AUDIT INSERT, UPDATE, DELETE ON DEPT BY ACCESS; — 查看对DEPT表的所有审计记录 SELECT * FROM DBA_AUDIT_TRAIL WHERE OBJ_NAME = ‘DEPT’; — 停用对表DEPT的审计 NOAUDIT INSERT, UPDATE, DELETE ON DEPT; 但不幸的是,因为客户当前环境已经把默认开启的audit_trail给关闭了。(默认开启,默认值是DB,关闭就是NONE) 笔者已经在实验环境验证过: – 1.audit_trail必须开的情况下,对表进行审计才会有记录; – 2.audit_trail是静态参数,如果修改,需要重启数据库才可以生效。 尤其注意要检查这个参数的设置情况,因为这里比较坑的一点是,上述审计命令,即便你关了这个参数,开启表审计的命令执行也并不会报错,只是实际上无法记录。 相信大家都知道,生产环境的重启申请流程非常麻烦,因此只能用手工的方式,比如自定义触发器的方式来监控这张表的DML操作。 还好因为这个配置表正常情况下,并不会被频繁修改,所以使用触发器也不会带来什么性能问题。 下面就进入到hands-on环节,我们模拟下这个客户的需求,假设dept这张表: … Continue reading
MongoDB安装、基础操作和聚合实例详解
虽然MongoDB这些年很流行,但笔者之前没研究过,现在有需求研究这类NoSQL的数据库,是为了验证其是否可被替换。 MongoDB是很轻量的文档数据库,简单测试也懒得专门准备虚拟机环境了,直接在macOS上安装测试下其基础功能。 1.使用 Homebrew 安装 MongoDB 2.启动/停止 MongoDB 服务 3.启动 MongoDB Shell 4.体验 MongoDB 基本操作 5.体验 MongoDB 聚合操作 1. 使用 Homebrew 安装 MongoDB # 添加 MongoDB 存储库 brew tap mongodb/brew # 安装 MongoDB 社区版 brew install mongodb-community 2. 启动/停止 MongoDB … Continue reading
Operational Property Graphs到底是个啥?
Operational Property Graphs,中文通常译为“操作属性图”。 作为23ai中被官方highlight出的新特性之一,我们先看下官方的原文描述: Operational Property Graphs in SQL Developers can now build real-time graph analysis applications against operational data directly in the Oracle Database, utilizing its industry leading security, high availability and performance capabilities. 简单说,开发者可以直接在Oracle 23ai中进行实时图分析,而不需要额外的图数据库。 为了不纯扯概念,更好的直观体验,下面我们直接按照官方文档给出的一个简单示例来动手练习体验下: 本次测试环境: Oracle … Continue reading