- 博客(499)
- 资源 (15)
- 收藏
- 关注
原创 DBA搞钱之路
如今也是而且大部分都是,提供的岗位真多!就是搞数据库开发,比如周边的工具,或者包装下PG,MYSQL. 比如说PIGSTY工具包, 自然对你需要懂很多,尤其是商业眼光,懂C/C++语言的开发,系统内部原理. 首先你得先开发出来,然后有客户有市场,才能创业开公司.不要聚集在国内,放眼全球市场.那个啥,河北有个程序员翻墙给外网做了啥,结果获得300万都被没收了. 翻墙是不对的,是违法的,前提需要备案,然后中国电信提供翻墙业务,不能去淘宝买翻墙软件. 这对你要求很高,要有商业眼光,要有开发能力,要会英语交流!
2024-04-22 10:16:41 1282
原创 多线程C++更新MYSQL
4 AI 给了错误提示 循环启动线程,然后马上join() 导致主程序等待线程完成,再创建下个线程. 换成detach() 主程序就不等待了,立马把所有线程启动起来了. 可是这样主线程执行完后面的代码就结束了.主程序一结束立马把所有线程都杀了. 为此使用下面语句进行等待一段时间. 这就没有意思了。其实这英文单词取得很绕 join() 应该是wait() detach()应该是nowait()所以采用双循环模式,先把所有线程启动,运行,然后再另外个循环等待。调用线程库 这是C++的库.
2024-03-15 10:18:51 727
原创 如何锁定MYSQL内存在物理内存里?
如果不支持的话, 你又想锁定内存 那只有使用大页方式. 关于大页小仙我也实验了一篇。以下是CENTOS 7 接受运维搭建的MYSQLD 是通过SYSTEMD方式启动服务的.创建mysql用户来管理数据库 查看测试数据库 YUM 自动安装的MYSQL。新建个服务配置如下. 我这里直接用了上面初始化后的数据库,只不过使用不同的服务脚本而已。这个参数是啥意思呢?上面官网最后一句英文意思是启动的选项. 其实做进配置文件也是一样的.# 使新添加的mysqld服务开机启动。
2024-03-01 15:23:47 1085
原创 MYSQL C++链接接口编程
使用MYSQL 提供的C++接口来访问数据库,官网比较零碎,又不想全部精读一下,百度CSDN都是乱七八糟的,大部分不可用官网教程地址网上之所以乱七八糟,主要是MYSQL提供了3个接口两个包,使用两种语言交叉编程. 可以用GCC编辑C语言调用C++接口. 可以用C++语言调用C接口.分别是C 接口, C++接口 MYSQLX接口. 三个接口两个包.C包和C++包, C++包()里面从官网下载,而C包从MYSQL服务端包里抠出来.
2024-02-29 09:58:13 1046
原创 MYSQL分区NOW()不支持
发现此表是分区表,后面要求加上了分区时间,以便利用到分区裁剪技术. 因为需求是查近10天来到期还款的人和金额.就是今天应该还款的人, 一般还款周期是7天. 给个10天的范围挺可以的. 结果其中一个降低到1.4秒,另外一个始终是7秒.扫描800万.最近后空看它的执行计划,全分区扫描,没有使用分区裁剪技术,其实也用到了一点点分区裁剪技术,我们这个表按月分区的,现在是12月份,前面3月到12月它都扫描了,后面的明年1月份之后都没扫描,毕竟是0行记录.执行计划全分区扫描,换成NOW()函数也是这样的。
2024-02-08 09:25:38 407
原创 进程虚拟地址困惑
最后很大可能是 64程序逻辑地址,就是虚拟地址,也是进程虚拟地址,也是按照页表格式构成的虚拟地址. 那么物理地址偏移量,可能大概率是虚拟地址4K页,页内偏移量.我讲东,他们讲西,不在一个频道上. 他们不理解我的疑惑, 也许只能去看,去调试LINUX 内核代码,看LINUX如何加载可执行文件,给它分配虚拟内存地址空间!那么这个地址是哪个部分?我们程序运行过程中打印的变量地址, 函数地址,指针地址. 这些都是什么呢?静态读取可执行文件,发现有虚拟地址,物理地址,偏移量,文件大小,内存大小,权限,对齐等信息.
2024-02-05 09:37:26 912
原创 MYSQL LEFT JOIN 的怪异行为
如果LFET JOINBWHERE条件部分有B的条件,那么它跟主表不再是LEFTJOIN ,而是变成了 INNER JOIN!
2022-07-21 09:44:49 302 1
原创 使用PTONLNE改MYSQL分区表
上篇使用ALTER 来修改分区,对数据量很大的表会造成长时间的METEDATA LOCK 。因为COPY TO TMP TALBE 过程中 加锁了。其实这是没有必要的! ONLINE DDL 还没支持改分区表。有些业务没有停机维修的时间窗口,则需要用PTONLINE工具https://www.percona.com/downloads/percona-toolkit/LATEST/##01 安装在CENOTS7上tar -zxvf .....yum -y install perl-.
2021-09-06 18:24:25 428
原创 MYSQL 5.7 普通表在线转分区表
当MYSQL流行5年后,表的数量达到500万,RDS运行时很多SQL都会超过2秒.在如今互联网业务中,一个页面展现超过10-15秒人们就觉得慢,感觉不耐烦,除非你是GOV的,否则都抛弃你公司,转而使用竞争对手的产品。为此落实在数据库端的SQL响应时间就缩短到1-5秒时间范围。目前一个简单的DML操作是规定在1秒之内,而查询一般规定在5秒之内。也就是说给DBA的时间不多了!很显然JAVA开发同学都是赶业务的,开始都是简单地搞起来,哪里想得到日后数量大的情况呢?为此我们必须上分区。MYSQL也有分.
2021-09-01 11:04:52 445
原创 C 语言的标准时间封装
C语言处理时间有很多函数和结构体类型完成,并且涉及到时间戳,标准时间,本地时间的转换。学习起来感觉头大,外加上小写并且简写函数名称,就难以理解。代码中解释#include<time.h>#include<string.h>#include<stdio.h>#include<sys/time.h>typedeftime_tTimeStamp; //旧的时间戳类型 给他其个新名字typedefstructtmscTime; ...
2021-03-14 23:35:37 338
原创 Java 通用DB链接字符串解密方法
这种方式是主要是利用了spring加载顺序,因为在加载c3p0加载之前先对配置文件中的密码进行相应的解密,并且注入到属性password中,这样在创建c3p0连接的时候,用的密码就是明文密码了/*注意,这里有个先后顺序的问题,<propertyname="properties">必须要在前面${env}是环境变量开发,测试,生产,灰度*/<beanid="C3p0DataSource"class="com.zns.tool.C3p0DataSource">...
2020-08-09 18:15:45 969
原创 LINUX C++读配置文件
重温C++这篇最后部分的代码只是完成了OCCI接口的实现,可以向多个ORA数据库批量执行指定的SQL;这次我们完成读取配置文件,就是多个数据库连接信息的配置文件。类似以下的格式 KEY=VAULE 并且换行来区分不同的数据库连接信息,里面使用#来表示注解dbname=sharkdbclassA=TESTclassB=PLPMclassC=JNuser=scottpasswd=12...
2019-12-10 22:23:31 1348
原创 重温C++
C++1 子函数可以把定义放在MAIN函数前, 实现在MAIN函数后2 函数之间的值传和地址传方式 call() { vector<string> name; string lastname who_is(&name,&lastname); cout<<name<<endl; } void who_is(vector&...
2019-12-09 22:35:07 329
原创 DBA与架构师
有一天跟DBA探讨下AB表设计的事情, DBA说这个嘛,根本不需要AB表,可以采用分区,交换分区来实现,架构师说分区并不是所有数据库都有,交换分区是ORACLE特有,其他关系型数据比如Sqlserver,Sqlite,PostgreSQL,Mysql,MariaDB。不一定都有,也就是说交换分区通用性差。可DBA说“如果不知道有这个分区特性,作为开发架构设计人员,也只能说不及格”架构师瞬间惊讶了...
2019-09-21 21:32:01 756
原创 A B 表的设计思路
AB表设计以前在一家第三方结算的公司做运维DBA,在一次与开发人员探讨某个表的数据运维。那时我头脑想到AB表来切换使用,比如当A表写满后,就切到B表,那么A表就可以做运维工作。看到系统有管理,业务,日志WEB页面,我想应该有个数据运维页面,在页面上点击个按钮就改变应用程序从读A到读B的操作。当然没实现,比较在一个成型的系统不好做。去年面试个小额贷款公司,就被问到跨年问题,该表如何设计跨年。。。当...
2019-09-21 21:29:55 1084 1
原创 Could not connect to Redis at 127.0.0.1:6379: Connection refused
这个要是在redis服务器上使用遇到的话,先使用 netstat -tlun查看端口绑定去哪里了?netstat -tlunActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp ...
2019-01-01 00:23:17 4822 3
原创 MYSQL的恢复
MYSQL备份恢复就简单多了! 只要执行该备份文件就行了,该备份文件是SQL哦!恢复完全备份mysql -uroot -p < backup.sql就这么简单!恢复增量备份mysqlbinlog MySQL-bin.000002 … | MySQL -u root -p注意此次恢复过程亦会写入日志文件,如果数据量很大,建议先关闭日志功能增量恢复也是怎么简单的哦!...
2018-11-02 17:04:14 1299
原创 MYSQL备份
数据库的备份是非常重要的事情,危机来的时候可用于恢复。如同旱情的时候的水塔,粮荒时候的粮仓!那么我们的MYSQL的备份就相当的重要了!话说备份有很多种,什么冷备,热备的;什么逻辑备份和物理备份的。还有什么单表备份,全库备份,全实列备份。估计学习并理解起来有点复杂和吃力,很多时候根本用不着,学了也白学了。MYSQL的备份跟ORACLE备份有点区别!ORACLE 备份使用RMAN工具,备份...
2018-11-02 17:01:00 1273
原创 LINUX SSH 密钥认证登陆配置
给公司阿里云的ECS配置SSH认证,中间遇到一些问题,主要是概念不很清楚。ECS服务器OS 是CENTOS 7 自带OPENSSH服务netstat -ntlp | grep 22 就可以看到 22端口 和服务SSHD SSHD服务的配置文件在/etc/ssh/sshd_config。先讲下认证过程一般先在客户端上生成密钥,我在windows 上生成,自然是我的工作电脑上。...
2018-10-16 19:02:48 2286
原创 完整的WICKET6 HELLO WORKD WEBAPP
web.xml 位于 项目/src/main/webapp/WEB-INF/web-app> display-name>Wicket Testdisplay-name> filter> filter-name>HelloWorldApplicationfilter-name> filter-class>org.apache.wicket.protocol
2018-01-23 18:52:32 491
原创 WICKET 6 重新定位HTML所在的目录
比如时候我把HTML 放在 webapp下的HTML 子目录下。。。。 WICKET 要点 1 该子目录下可以根据包名系列来查找,意味着说,要在该目录建立同样的包目录结构,跟JAVA下的包一样。 2 不能放在WEB-INF目录下一般项目目录结构是 项目/src/main/(java,resources,webapp) 项目/src/test 项目/targetJAVA代码在
2018-01-23 18:25:04 484
原创 首个WICKET HELLOL World 报错Can not determine Markup. Component is not yet connected to a parent.
今年头次使用WICKET 来开发个WEB 网站来玩玩,从APACHE 网站下载了WICKET 8.0,然后下载对应的PDF官方文档,照抄HELLOWROLD列子,发现牛头不对马嘴。8.0不支持文档里的IMPORT包! 奇怪奇怪真奇怪。或许这也是WICKET 无法火起来的原因吧! 为啥还要使用WICKET呢? 那是因为我是老DELPHI,C++BUILDER RAD工具使用者以及VB使用者,对
2018-01-23 17:26:52 920
原创 Oracle优化新常态
第一章 前言 1.1 作者简介 本人小凡仙,真姓为曾凡坤,一个很普通的人。 于2004年去了东莞工作,在一家台湾工厂干程序员活。主要是用C++BUILDER工具和微软SQL SERVER数据库,开发工厂的信息系统。其实就是简化各个车间文员的工作,以及比较好的让各部门领导查看数据而已。虽然叫ERP系统,实际就是个MIS信息管理系统!2005年来到了深圳,开始在一家软件公司为证券信息公司开发
2017-06-15 23:52:50 1907
原创 ORA-20000:DBMS_TABCOMP_TEMP_UNCMP
今天查看数据库的信息发现如下报警 Thu Mar 23 22:00:02 2017 Thu Mar 23 22:00:09 2017 GATHER_STATS_JOB encountered errors. Check the trace file. Errors in file /u01/app/oracle/diag/rdbms/orcl_pd/orcl/trace/orcl_j003
2017-03-24 10:01:38 3163
原创 索引范围扫描
上篇说的是唯一扫描我们继续在上面的表和唯一索引上做DEBUG三检查信息 1 对象ID select object_name,object_id,data_object_id from dba_objects where owner=user and object_name in (‘ZFK’,’ZFK_PK_OBJID’); OBJECT_NAME OBJECT_ID DATA_OBJ
2017-03-07 18:11:37 1980
原创 索引唯一扫描
一 创建表和数据 create table zfk select * from dba_objects; create table ZFK ( object_name VARCHAR2(128), object_id NUMBER not null, data_object_id NUMBER, ) pctfree 10二创建唯一索引 alter tabl
2017-03-07 18:08:45 2039
原创 理解AWR性能报告中的Execute to Parse%指标
这个是我生存库的指标,感觉指标好低啊! 这个指标的意思是说 执行次数与解析次数的对比. 按这个意思来说,如果解析1次执行1次 ,这个比例应该为100%。 带着这个理解,解析1次执行1次基本上算是硬解析。而我的系统里面绑定变量的SQL也蛮多的啊,这个指标应该高于100%。 这个指标公式 Execute to Parse %: dscr , round(100*(1-:prse/:exe),2)
2017-03-07 18:06:21 3035
原创 理解UNDO-4 总结
写了前面3章后,感觉还鱼尾,感觉不完整样!有鱼头和鱼尾的问题没有得到解决. 好像吃了一条鱼,只吃了鱼身,没有看到鱼头和鱼头之疑惑是 读一致性: 当一个查询找到该块,如何通过行来发现该行的是否被修改提交过. 怎么样找到ITL里面 哪个事务槽影响了该行?实际上它不需要通过行来判断是哪个事务ITL, 而是把整个块中ITL里面已提交的SCN 来对比,凡是大于查询回话开始的SCN 就要回退. 也就是说IT
2017-03-07 17:59:10 1813
原创 理解UNDO-3 事务提交
从前面文章得知,当事务提交后会在数据块中的ITL该XID 标帜字段FLAG 打上C,并在SCN/FCN字段上打上自己提交的SCN.如果说当一个事务更新了1万个块,更新时间比如说30分钟. 这个时候会因为DBWR把被更新的数据块写回磁盘中. 假如提交的时候已经有8千个块写入了磁盘.那么做提交命令的时候,需要把块上的XID信息修改下,如上面的动作一样,还有解除行上的锁字节. 那么是否要把写进磁盘的8
2017-03-07 17:55:51 1821
原创 理解UND0-2 事务
我们从上篇 理解UNDO-1 当中了解到 事务必须先到UNDO表空间里搞定个事务ID 才能开始干活. 拿到了事务ID编号,同时拿到了一块UNDO块来保留旧数据,就可以向目标数据块ITL槽申请位置. 这样我们有一些对像来协调工作了.它们就是 1 UNDO 段块中的事务表 2 UNDO 块里面,旧数据记录 3 数据块 上面的ITL 4 数据块的 ROW 先看第一个,段头块回顾图事务表的段信
2017-03-07 17:54:47 1965
原创 理解UNDO-1
2017-02-23 曾凡坤-小凡仙 曾凡坤一小凡仙 UNDO在ORACLE 里面是非常重要的组件,也是ORACLE能竞争过MSSQL,IBM等数据库的重要优势.后来MYSQL数据库的 innodb引撑也加入了UNDO特色.UNDO是什么? 业界的叫法很多,中文名词也很多,然后对于理解它反而造成了混乱. 什么前滚,撤销,回滚.实际上UNDO 就是UNDO .它只是暂时保存下过去的东西而已, 一个表
2017-02-28 17:41:26 2570
原创 运维+DBA需要了解的技术分类
微信文章 最近一个年轻的朋友,刚毕业不久,面试的时候面对面试官提的各种技术名词,都不知所云。被面试官搞得头昏脑涨!IT 行业技术日新月异,淘汰很快,新技术,新名词重出不穷!从以前的单一 到现在的开支散叶。从简单的架构变成复杂的架构体系了。 有必要了解下目前BS网站的使用到的技术体系关系型数据库有:ORACLE MYSQL MSSQL DB2 POStgresql 非关系数据库有:REDIS
2017-02-16 16:33:13 1817
原创 初学风水-某商务中心店铺
风水 是我们老祖宗,祖先们在5千年当中实践总结出来的一套理论。虽然该理论不那么科学,也没现代科学经得起反复实验和验证!外加千年来的迷信欺骗成分做乱,还有些神棍风水师混饭吃。 当这些都无法遮住风水的核心光芒,它好比是没有提炼出来的金矿石! 风水和中医一样属于我民族在千年级别上生活实验总结出来的,大部分行之有效的经验论。只不过这些经验论,借助了 金,木,水,火,土行星运行原理,阴阳两级,周易
2016-12-08 16:07:57 2150
原创 ASM中的几个迷魂的概念
2016-09-23 Shark 华仙教先知小凡仙海鲨金融科技 ASM中的几个概念: ASM磁盘,故障组,磁盘组 冗余 条带 AU EXTENT 文件.1 ASM 磁盘 磁盘:可以是分区,磁盘,LUN逻辑盘,裸设备.2 ASM 磁盘组(disk group) 作为管理一组ASM 磁盘集合的一个逻辑单元。3 条带作用把数据平均分配到各个ASM 磁盘上. 条带有粗和细两个粒度,粗为1个
2016-09-27 09:36:01 3315
原创 ORACLE RAC 共享存储设备 UDEV
2016-09-22 shark 华仙教先知小凡仙海鲨金融科技 在使用ORACLE LINUX 6 或者是RED HAT LINUX 6的时候 不需要ASMLIB来搞ASM盘了. 假如你用ORACLE公司的VBOX 虚拟机? 并且使用SCSI总线共享磁盘 那么使用下面的脚本 1.首先确认是 Linux 6.0以上版本[root@vrh6 dev]# cat /etc/issue Oracle
2016-09-26 12:13:18 3968
原创 巧遇ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr]
下午开发人员说测试数据库起不来了, 呵呵 开发和测试数据库,我向来不管的,反正JAVA工程师是万能,啥都会! 问他是咋回事呢? 他说是停电了, 欺负我书读的少呢? 上午还给你修改了数据库占用内存的大小.下午整个办公司都没停过电啊? 他也支支吾吾下说不清楚. 我也难去理他. 数据库是安装在VMWARE虚拟机上的. 这个虚拟机又是安装在WIN7上面的,WIN7安装在高档的PC电脑上的. 情
2016-09-05 17:26:50 5995
ORABBIX4 支持ZABBI4
2019-03-11
深入LINUX虚拟内存管理中英文
2016-05-30
LTOM系统监控
2016-05-27
oracle dul10
2014-08-28
oswatch301
2012-09-28
个人收支分析系统
2011-12-30
Oracle 10g RAC GCC 需求包
2011-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人