![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 72
程序员石磊
专注在职读研、云原生技术、室内定位技术分享!
展开
-
单表七千六百万数据量(oracle)进行实时汇总,sql很慢客户不能忍一下,该怎么办?
问题背景描述某省系统界面需要展示业务指标,该指标来自一张表如下图所示,数据量巨大。旧方案的统计逻辑是:java cron定时任务执行sql汇总插入汇总表,汇总频率一小时一次。在进行定时汇总的时候,由于需要统计历史所有数据,尽管sql已经优化避免全表扫描但是查询sql执行时间很久。导致:界面长时间没数据。限制因素数据库服务器配置一般,普通Pc配置(16g内存,500g硬盘,cpu不清楚),没有ssd;上集群、大数据分析、hadoop?想多了,估计没人会(除了我,这里不谦虚了),运维成本比较高,原创 2021-08-12 21:45:34 · 726 阅读 · 2 评论 -
oracle表数据量太大,expdp只导出部分
没什么讲的,上代码!expdp username/password@orcl directory=DMP DUMPFILE=hm_%U.dmp PARALLEL=8 query='T_TEMP_YWTJ_MX:"WHERE LRRQ>= TO_DATE('2021-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')"','TEMP_YWTJ_MX13:"WHERE LRRQ>= TO_DATE('2021-01-01 00:00:00', 'YYYY-MM原创 2021-07-18 18:22:48 · 1005 阅读 · 6 评论 -
oracle 创建超大表空间文件,不用担心表空间占用满了
在Oracle 10g中,推出了Bigfile tablespace的概念。表空间Tablespace从Oracle 10g以后就分为两个类型,smallfile tablespace和bigfile tablespace。过去一个表空间对应多个数据文件我们称为Smallfile Tablespace。所谓Bigfile Tablespace最显著的差别就是一个表空间只能对应一个数据文件。Bigfile Tablespace虽只对应一个数据文件,但数据文件对应的最大体积大大增加。传统的small data转载 2021-07-06 12:05:54 · 4542 阅读 · 0 评论 -
如何选择最佳存储解决方案
在构建系统时要进行设计考虑和权衡。1.介绍要选择正确的存储解决方案,需要以下考虑。关键因素数据结构查询模式您需要处理的数量或规模2.缓存解决方案如果您经常调用数据库或远程调用具有高延迟的独立服务,则可能需要[缓存](https://interviewdaemon.com/courses/design-concepts-a-to-z/lessons / caching /)您本地的一些数据。一些关键值缓存存储解决方案是Memcached,Hazelcast,Redis等大多数使用R原创 2021-05-08 13:09:19 · 653 阅读 · 0 评论 -
Oracle 性能优化技巧-获取真实执行计划
Oracle 性能优化技巧-获取真实执行计划1.背景在sql优化时候,我们经常采用执行计划,例如用navicat或plsql的解释计划,其实出来的结果只是一个预估值,所以会造成测试环境执行很快,到生产环境慢的情况。如下图:![image.png](https://img-blog.csdnimg.cn/img_convert/cf9a86688fe18c3c4ef155c57b0d5763.png#align=left&display=inline&height=433&ma原创 2021-01-02 09:17:08 · 966 阅读 · 0 评论 -
OGG ora-01403错误的快捷处理方案
OGG运维中有一个经典错误-1403。现象是目标端复制update或者delete操作导致复制进程abended,原因是update或delete时找不到目标数据。至于该数据为什么不在目标端有很多可能,比如人为删除、trigger没有禁用导致删除、级联外键删除没有禁用导致删除等等。通常我们的排查手段是确认目标端的trigger、级联外键删除、job是否启动了?如果启动了禁用它。然后再排查源端表是否有主键,主键在trandata中是否生效。上述排查都没有问题的话就开始做表级初始化吧,数据泵导出导入,同步变化…转载 2020-11-04 10:59:23 · 3348 阅读 · 0 评论 -
oracle查看被锁对象
相关sqlSELECT XIDUSN,OBJECT_ID,SESSION_ID,ORACLE_USERNAME,OS_USER_NAME,PROCESS from v$locked_object;SELECT d.OBJECT_ID, substr(OBJECT_NAME,1,20), l.SESSION_ID, l.ORACLE_USERNAME, l.LOCKED_MODEfrom v$locked_object l, dba_objects dwhere d.OBJECT_ID=l.转载 2020-10-27 13:23:31 · 475 阅读 · 0 评论 -
ogg源端目标端trail文件不对应缺失解决
错误2020-10-09 17:10:28 INFO OGG-00993 Oracle GoldenGate Capture for Oracle, PUMPHC.prm: EXTRACT PUMPHC started.2020-10-09 17:10:33 INFO OGG-01226 Oracle GoldenGate Capture for Oracle, PUMPHC.prm: Socket buffer size set to 100000 (flush size 30原创 2020-10-10 13:13:21 · 2040 阅读 · 0 评论 -
goldengate中添加同步表的操作
1.非异构同步:(1)先停止源端ogg的抽取和传输进程 stop exta01 (注意: 若有长事务需确认归档是否存在 info exta01 showch 查看recovery checkpoint 的记录,确保该条归档和其后的归档都在, send extract exta01,forcestop) stop dpea01(2)dblogin userid ggs,password ggs 登陆数据库 info trandata table_name 如转载 2020-09-27 17:58:50 · 813 阅读 · 0 评论 -
Oracle GoldenGate (OGG)新增表同步数据的流程
变更场景已同步的表结构变更,包括添加字段,删除字段,修改字段类型和字段长度新增同步表变更流程一、已同步表结构变更检查 ogg 目标端和源端的同步,确定没有延迟进入目标端 ogg 安装目录,运行 ggsci 命令进入命令操作Info all 查看所有的复制进程,看有没有时间延迟目标端停止复制进程进入 ogg 安装目录,运行 ggsci 命令进入命令操作Info all 查看所有的进程Stop extract xx(x xxx 是进程名),停止复制进程在目标端数据库中修改表结转载 2020-09-22 18:08:51 · 2610 阅读 · 0 评论 -
oracle复杂查询备忘
oracle wm_concat(column)函数实现查询相同id字段,内容以逗号分隔select id, wmsys.wm_concat(字段名)字段别名 from table group by idOracle分组查询取每组排序后的前N条记录OVER(PARTITION BY)函数原创 2020-05-14 15:14:41 · 410 阅读 · 0 评论 -
ORA-26947: Oracle GoldenGate replication is not enabled.
Solution:For Oracle DB versions 11.2.0.4 and 12.1.0.2 there will be a new init.ora parameter called ENABLE_GOLDENGATE_REPLICATION. In order for some of the Oracle GoldenGate functionality to work, t...原创 2020-03-30 15:25:24 · 1004 阅读 · 0 评论 -
mysql 按分数段,每个专业分数段统计人数
我的表结构student_infoidnameprofessionscoreid姓名分数专业按分数段统计400到500人数,300到400人数selectcount(case when score between 400 and 500 then 1 end) as 400到500,count(case when score between 300 ...原创 2020-03-13 10:56:16 · 3762 阅读 · 0 评论 -
Could not find archived log for sequence 587 thread 1 under default destinations SQL
最近遇到这个问题,其实提示很简单了。去oracle 论坛看下,有人回复了Extract was off for two long. All redo logs have been switched.You have to provide archive logs to Oracle default destination or configure destination in GG par...原创 2020-03-06 15:17:01 · 797 阅读 · 0 评论 -
oracle timestamp相减 计算差多少秒
CREATE OR REPLACE function timestamp_diff(a timestamp, b timestamp) return number is begin return extract (day from (a-b))*24*60*60 + extract (hour from (a-b))*60*60+ extract...原创 2020-01-04 20:12:03 · 2263 阅读 · 1 评论 -
最近大量trc日志产生 ORA-00600: 内部错误代码, 参数: [17059]
大量报错产生trc日志Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_10164.trc (incident=230262):ORA-00600: 内部错误代码, 参数: [17059], [0x2E0E6F0B0], [0x2E0E6F948], [0x2F69D37D0], [], []...原创 2019-10-29 14:39:46 · 1794 阅读 · 0 评论 -
oracle生成awr报告
Theawrrpt.sqlSQL script generates an HTML or text report that displays statistics for a range of snapshot IDs.To generate an AWR report: At the SQL prompt, enter: @$ORACLE_HOME/rdbms/admin/a...转载 2019-10-11 11:39:51 · 409 阅读 · 0 评论 -
Oracle多条重复id,查询时间最早的那条
SELECT T .ticket_id, ROW_NUMBER () OVER ( PARTITION BY tt.ticket_id ORDER BY tt.ACT_START_TIME ) AS GROUP_IDFROM T_TICKET TLEFT JOIN T_TICKET_TASK tt) ssWHERE ss. GROUP_ID = 1这个问题困扰...原创 2019-03-17 14:50:20 · 2287 阅读 · 0 评论 -
被ogg目标端禁用触发器坑了一把
最近出差,搞总局数据同步的事情,采用ogg实现数据同步,然后在目标端源表上建触发器,进行数据增量加工,一切准备就绪,等待实施完成,快2周了该回家了。但是晚上下班后进行部署,ogg断了,数据不能同步,惨吧!同事提醒:OGG12中默认禁用trigger,如果需要使用TRIGGER请配置参数DBOPTIONS NOSUPPRESSTRIGGERS但是触发器会引起锁表,导致ogg延迟,不建议使用,怎...原创 2019-03-23 09:52:29 · 2307 阅读 · 2 评论 -
oracle 判断字段相等,但类型不同引起的性能问题
最近做ogg数据同步,然后触发器加工数据放入另外一张表,由于数据量很大,一分钟几万条数据,由于一些条件字段类型不匹配,引起性能问题。请看下图:phmxxh是varchar2类型,note_id是integer类型,用to_char转换以后,性能提高60倍以后注意避免这样的问题...原创 2019-03-28 12:16:23 · 902 阅读 · 0 评论 -
ORA-12705: Cannot access NLS data files or invalid environment
There are two possible causes:An attempt was made to issue an ALTER SESSION statement with an invalid NLS parameter or value.The NLS_LANG environment variable contains an invalid language, territory...原创 2019-05-05 17:18:59 · 628 阅读 · 0 评论 -
oracle性能优化终极武器-awr
接上篇ogg,触发器加工数据,导致ogg延迟。最后了解到awr,真的是太管用了,让拖累ogg同步的性能低下的sql无处可逃!下面转载一个awr的介绍,真的很有用。原文地址:https://www.cnblogs.com/tenchina/p/8609448.html什么是AWR?一堆历史性能数据,放在sysaux表空间上,AWR和sysaux都是10g出现的,是oracle调...转载 2019-06-05 15:31:06 · 8116 阅读 · 0 评论 -
Oracle生产数据库insert插入较慢分析过程和解决办法
http://www.oracleplus.net/arch/1278.html以下是工具的用法Oracle 10046跟踪事件使用方法https://www.cnblogs.com/abclife/p/5295862.htmltkprof用法https://blog.csdn.net/babymouse1212/article/details/71078542...原创 2019-07-03 11:58:17 · 7434 阅读 · 0 评论 -
【ogg二】Oracle GoldenGate(ogg)安装经验大汇总,采坑总结,绝对干货!
一下是安装ogg过程中遇到的问题和解决办法,绝对良心干货,抽空会写更详细的安装教程。OGG-00685 begin time prior to oldest log in log historyhttps://blog.csdn.net/kiwi_kid/article/details/36184241goldengate 故障及解决方法汇总https://blog.csdn.ne...原创 2019-07-01 09:35:57 · 1837 阅读 · 0 评论 -
【ogg一】入门OGG(oracle golden date)详细部署 Oracle 11g
点击去百度云下载原创 2019-07-01 10:13:36 · 1697 阅读 · 2 评论 -
【ogg三】日常运维篇:清理归档日志,ogg进程注册服务,定期备份数据库
清理归档日志ogg使用需要开启归档日志,归档日志会随着时间的推移逐渐增多,占满空间,导致应用无法正常运行。如果归档日志满了会报错ORA-00257:archiver error解决办法检查flash recovery area的使用情况select * from V$FLASH_RECOVERY_AREA_USAGE;解决办法:使用rman ,采用定时任务,定时清理。定时任务脚本...原创 2019-07-24 10:24:27 · 1882 阅读 · 0 评论 -
[ogg四] ogg Source Trail的理解
The Extract process sequentially writes committed transactions as they occur to a staging file thatGoldenGate calls a source trail. Data is written in large blocks for high performance. Data that is ...原创 2019-07-31 10:27:44 · 1201 阅读 · 0 评论 -
Oracle trace文件的清理
删除trac日志进入D:\app\Administrator\product\11.2.0\dbhome_1\BIN双击输入PURGE -age 1440 -type trace删除一天前的trc,trm日志入下图所示:如果命令出现错误输入命令Show homes指定一个目录运行后再次执行PURGE -age 1440 -type trace...原创 2019-10-08 12:22:05 · 3491 阅读 · 0 评论 -
ORACLE in与exists语句的区别
业务问题大概可以这样描述,一个父表,一个子表,查询的结果是找到子表中没有使用父表id的记录,这种情况估计很多系统都会牵涉得到。让我们来举一个例子: 表一: 父表 parentIN 与NOT IN 的性能区别" alt="ORACLE IN 与NOT IN 的性能区别" src="http://www.examda.com/oracle/Files/2008-6/26/103626转载 2014-06-27 15:52:41 · 624 阅读 · 0 评论