第45期 如何在GoldenGate下游配置中删除从源数据库接收到的源数据库上的归档
今天介绍一下如何在GoldenGate下游配置中删除从源数据库接收到的挖掘数据库上的归档日志。解决方案:从另一个数据库收到的归档日志被称为FOREIGN ARCHIVED LOG。从源数据库收到的归档文件被视为外部归档文件,可以通过在挖掘数据库上查询DBA_REGISTERED_ARCHIVED_LOG来检查外部归档文件的信息。SQL> select CONSUMER_NAME, THREA
第44期 使用什么命令能删除 FOREIGN ARCHIVED LOG
我在维护数据库时,发现alter日志报如下错误:Errors in file /app/oracle/diag/rdbms/ogg/ogg/trace/ogg_rfs_1315163.trc:ORA-19815: WARNING: db_recovery_file_dest_size of 214748364800 bytes is 100.00% used, and has 0 remainin
第43期 Oracle 19c 打补丁19.25.0.0报错Java1.7could not be located OPatch can
今天我们在给oracle数据库19c打补丁时,补丁要求升级到19.25.0.0.241015时,报错信息如下:[oracle@sit-db OPatch]$ ./opatch version./opatch: line 839: [: syntax error: `-lt' unexpected./opatch: line 839: [: syntax error: `-lt' u
第42期 MySQL存储过程报错noAccessToProcedureBodies
问题描述:在JAVA中调用MYSQL存储过程遇到以下报错:【Request Exception】请求终端:、请求客户端:10.2.15.63、请求路径:http://eap//definition/rate/uploadRateFile、请求入参:、Exception:org.springframework.dao.TransientDataAccessResourceException: Cal
第41期【技术人的故事】数据库ACE专家是如何沦落为水果奸商的
兄弟姐妹们,今天和大家一起聊聊我的技术人的故事,我的故事要从头到尾可以写一本书啊。哈哈。我现在在一家金融公司工作,是一名专职数据库管理员,2025年我被Oracle公司授予了ACEs的称号,Oracle ACE是Oracle公司为表彰在技术社区中持续分享知识、推动技术发展的专家而设立的全球性荣誉。获得该提名不仅是对个人技术能力的认可,更是对社区贡献的肯定。我的Oracle ACEs的链接🔗:htt
第41期 Oracle 数据库配置白名单
对于oracle数据库,是否有方法配置ip白名单以限制数据库用户登录?例如:用户A只能从客户端192.168.1.132登录到192.168.1.135数据库。解决方案:使用触发器来实现这个需求,是最方便,且最轻量级的方法。不会对数据库产生任何影响。有很多成功的案例已经使用这个方法。我们可以使用trigger的方式来实现这个功能,这个方法在11g和19c都
第40期 通过dbms_system.ksdwrt把日志写到alter文件中
有时候我们需要把自己的一些信息记录到oracle的alter告警日志中,我有一个这样的场景,要记录那些客户端ip地址访问了数据库服务器,并把这些信息记录到alter告警日志。定义一个存储过程,记录数据库的白名单信息,实现只有是白名单的客户,才能访问数据库,并且把访问的客户信息记录到alter告警日志中。在alter告警日志中,记录只有10.10.30.85的客户端才能访问数据库,并在alter告警
第39期 MySQL给邮箱,身份证类似的字段添加索引的方法
在我们开发系统过程中,我们系统经常会存储用户信息,用户信息中记录用户的身份证,邮件,手机号等信息,有时候系统在登录时,可以支持使用邮箱,身份证,手机号来登录信息系统。那么经常执行的sql语句就是select userid,email from myuser where email='xxxxx@mail.com'; 或者select userid,phone f
第38期 Oracle使用跨平台增量备份减少可传输表空间的停机时间之XTTS(使用rman方式)
一、XTTS简介1.1、简介XTTS(Cross Platform Transportable Tablespaces)属于跨平台迁移表空间,它是从Oracle 8i开始就引入的一种基于表空间传输的物理迁移方法,命名为TTS,经历各个版本的不断演进,从11gR2开始,在相对停机时间要求日益减少的情况,为了应对越来越大的数据量跨平台迁移,Oracle推出了新的解决方案—加强版TTS(以下简称XTTS
第37期 MySQL索引下推
索引下推(index condition pushdown ,ICP)是MySQL数据库优化器的一项优化技术,目的是为了提高通用索引检索数据的效率,尤其是在InnoDB存储引擎中。这项技术在MySQL5.6中引入,专门用于减少从表中读取不必要的行,提高查询性能。工作原理:在没有索引下推的情况下,当查询使用复合索引时,MySQL可能需要访问主表来评估不能完全通过索引条件确定的行。索引下推允许数据库存
第36期 MySQL开启optimizer trace功能
对于 MySQL 5.6 以及之前的版本来说,查询优化器就像是一个黑盒子一样,我们只能通过 EXPLAIN 语句查看到最后优化器决定使用的执行计划,却无法知道它为什么做这个决策。这对于一部分想知道为什么择选执行计划,而不选择其他执行计划的朋友来说简直是灾难:“我就觉得使用其他的执行方案⽐ EXPLAIN 输出的这种方案强,凭什么优化器做的决定和我想的不一样呢
第35期 在执行 Grid Infrastructure 配置之前如何安装 Grid Infrastructure 补丁
用途一些情况下,执行 root 脚本之前需要安装补丁以保证 root 脚本执行成功(例如 Document:1212703.1) 。本文档说明在配置 GI 之前(执行 root.sh 或 rootupgrade.sh 之前)如何安装 Grid Infrastructure 补丁(包括 GI PSU 补丁) 。如果是升级,该文档适用于在新的 GI 主目录安装补丁的情况,不适用于在已有(当前
第34期 CURSOR_SHARING和FORCE_MATCHING_SIGNATURE对SQL计划稳定性的局限性
在 Oracle 数据库中,CURSOR_SHARING 参数和 FORCE_MATCHING_SIGNATURE 是用于优化 SQL 语句共享和执行计划稳定性的工具。然而,它们在某些情况下存在局限性,尤其是在处理复杂或动态生成的 SQL 语句时。本文将探讨这些局限性,并分析它们对 SQL 计划稳定性的影响。CURSOR_SHARING=FORCE 的作用CURSOR
第33期 MySQL程序概述
MySQL 安装中包含许多不同的程序。本节将简要概述这些程序。后续章节将更详细地描述每个程序(NDB Cluster 程序除外)。每个程序的描述包括其调用语法和支持的选项。第 21.5 节“NDB Cluster 程序”将介绍与 NDB Cluster 相关的特定程序。大多数 MySQL 发行版都包含所有这些程序,除了那些特定于平台的程序(例如,Windows 上不使用服务器启动脚本)。例外情况是
第32期 NULL 不是零!
之前我写过一篇文章,讨论了 COUNT(*) 和 COUNT(column) 在语义上是不同的(链接)。如果被计数的列中包含 NULL 值,这些查询可能会返回不同的结果。这种差异源于 NULL 不是一个具体的值,而是一种状态,表示“值未知”或“未输入值”。 因此,如果你是 DBA 或数据库开发人员,最好理解 NULL 如何在你编写的SQL 的使用。
第31期 SQL中COUNT(*)与COUNT(column)区别
SELECT COUNT(*) 和 COUNT(column) 是不同的在SQL中,COUNT(*) 和 COUNT(column) 是两个常用的聚合函数,但它们的行为和结果可能会有所不同。理解它们之间的区别对于编写正确的查询非常重要。COUNT(*)COUNT(*) 用于计算表中的行数,包括所有行,无论列中的值是否为 NULL。它的作用是统计表中
第30期 SELECT * 对SQL性能不利的原因
今天讨论一下SELECT * 对SQL性能不利的原因有哪些,有时候我们应用程序并不需要查询所有的列,当我编写生产代码时,我在查询选择列表(投影)中都会明确指定感兴趣的列,这不仅是出于性能原因,也是出于应用程序可靠性原因。例如,当我们为表添加了新列或表中的列顺序发生变化时,应用程序的数据处理代码是否能正常运行,会不会突然中断?在本文中,我将只关注SQL性能方面。我们使用的是基于Oracle的示例,但
第29期 MySQL 1075 Incorrect table definition; there can be only one auto column
在MySQL中执行修改表结构的sql语句时,ALTER TABLE `mytable` ADD COLUMN `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '主键id' FIRST;报错1075 - Incor
第28期 Oracle LOB数据实际存储在哪里
If you create the LOB column with DISABLE STORAGE IN ROW, then the LOB data is always stored out-of-line. LOB index is always used. Only the LOB ID is stored inline, and the ID is looked up in LOB ind
第27期 Oracle在线重定义介绍
Oracle在线重定义介绍• Oracle 在线重定义(Online Redefinition)是一种功能,允许数据库管理员在不需要停止或显著影响数据库正常操作的情况下,对数据库表进行结构化修改。• 这个功能在大型企业级数据库环境中非常重要,因为停机时间可能导致业务中断和收入损失。• Oracle 在线重定义功能通过`DBMS_REDEFINITION` 包提供,允许在表数据仍在被查询和修改的同时