- 博客(490)
- 资源 (15)
- 收藏
- 关注

原创 本鲨的公众号,日后大部分技术文章将发表在微信手机端上
本鲨的公众号,日后大部分技术文章将发表在微信手机端上.公众号有ORACLE 技术文章, MYSQL的,LINUX 系统的,也有投资方面的. 还有养身方面的. 欢迎订阅, 欢迎分享朋友圈,欢迎留言,欢迎打赏. 祖仙教一小凡仙 公众号: 可以加入微信群
2016-07-25 09:59:51
2855
1
原创 MYSQL LEFT JOIN 的怪异行为
如果LFET JOINBWHERE条件部分有B的条件,那么它跟主表不再是LEFTJOIN ,而是变成了 INNER JOIN!
2022-07-21 09:44:49
199
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
309
原创 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
338
原创 C 语言的标准时间封装
C语言处理时间有很多函数和结构体类型完成,并且涉及到时间戳,标准时间,本地时间的转换。学习起来感觉头大,外加上小写并且简写函数名称,就难以理解。代码中解释#include<time.h>#include<string.h>#include<stdio.h>#include<sys/time.h>typedeftime_tTimeStamp; //旧的时间戳类型 给他其个新名字typedefstructtmscTime; ...
2021-03-14 23:35:37
288
原创 Java 通用DB链接字符串解密方法
这种方式是主要是利用了spring加载顺序,因为在加载c3p0加载之前先对配置文件中的密码进行相应的解密,并且注入到属性password中,这样在创建c3p0连接的时候,用的密码就是明文密码了/*注意,这里有个先后顺序的问题,<propertyname="properties">必须要在前面${env}是环境变量开发,测试,生产,灰度*/<beanid="C3p0DataSource"class="com.zns.tool.C3p0DataSource">...
2020-08-09 18:15:45
547
原创 LINUX C++读配置文件
重温C++这篇最后部分的代码只是完成了OCCI接口的实现,可以向多个ORA数据库批量执行指定的SQL;这次我们完成读取配置文件,就是多个数据库连接信息的配置文件。类似以下的格式 KEY=VAULE 并且换行来区分不同的数据库连接信息,里面使用#来表示注解dbname=sharkdbclassA=TESTclassB=PLPMclassC=JNuser=scottpasswd=12...
2019-12-10 22:23:31
1297
原创 重温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
306
原创 DBA与架构师
有一天跟DBA探讨下AB表设计的事情, DBA说这个嘛,根本不需要AB表,可以采用分区,交换分区来实现,架构师说分区并不是所有数据库都有,交换分区是ORACLE特有,其他关系型数据比如Sqlserver,Sqlite,PostgreSQL,Mysql,MariaDB。不一定都有,也就是说交换分区通用性差。可DBA说“如果不知道有这个分区特性,作为开发架构设计人员,也只能说不及格”架构师瞬间惊讶了...
2019-09-21 21:32:01
724
原创 A B 表的设计思路
AB表设计以前在一家第三方结算的公司做运维DBA,在一次与开发人员探讨某个表的数据运维。那时我头脑想到AB表来切换使用,比如当A表写满后,就切到B表,那么A表就可以做运维工作。看到系统有管理,业务,日志WEB页面,我想应该有个数据运维页面,在页面上点击个按钮就改变应用程序从读A到读B的操作。当然没实现,比较在一个成型的系统不好做。去年面试个小额贷款公司,就被问到跨年问题,该表如何设计跨年。。。当...
2019-09-21 21:29:55
935
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
4765
3
原创 MYSQL的恢复
MYSQL备份恢复就简单多了! 只要执行该备份文件就行了,该备份文件是SQL哦!恢复完全备份mysql -uroot -p < backup.sql就这么简单!恢复增量备份mysqlbinlog MySQL-bin.000002 … | MySQL -u root -p注意此次恢复过程亦会写入日志文件,如果数据量很大,建议先关闭日志功能增量恢复也是怎么简单的哦!...
2018-11-02 17:04:14
1255
原创 MYSQL备份
数据库的备份是非常重要的事情,危机来的时候可用于恢复。如同旱情的时候的水塔,粮荒时候的粮仓!那么我们的MYSQL的备份就相当的重要了!话说备份有很多种,什么冷备,热备的;什么逻辑备份和物理备份的。还有什么单表备份,全库备份,全实列备份。估计学习并理解起来有点复杂和吃力,很多时候根本用不着,学了也白学了。MYSQL的备份跟ORACLE备份有点区别!ORACLE 备份使用RMAN工具,备份...
2018-11-02 17:01:00
1237
原创 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
2237
原创 完整的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
473
原创 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
451
原创 首个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
883
原创 Oracle优化新常态
第一章 前言 1.1 作者简介 本人小凡仙,真姓为曾凡坤,一个很普通的人。 于2004年去了东莞工作,在一家台湾工厂干程序员活。主要是用C++BUILDER工具和微软SQL SERVER数据库,开发工厂的信息系统。其实就是简化各个车间文员的工作,以及比较好的让各部门领导查看数据而已。虽然叫ERP系统,实际就是个MIS信息管理系统!2005年来到了深圳,开始在一家软件公司为证券信息公司开发
2017-06-15 23:52:50
1870
原创 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
3109
原创 索引范围扫描
上篇说的是唯一扫描我们继续在上面的表和唯一索引上做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
1961
原创 索引唯一扫描
一 创建表和数据 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
1998
原创 理解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
2873
原创 理解UNDO-4 总结
写了前面3章后,感觉还鱼尾,感觉不完整样!有鱼头和鱼尾的问题没有得到解决. 好像吃了一条鱼,只吃了鱼身,没有看到鱼头和鱼头之疑惑是 读一致性: 当一个查询找到该块,如何通过行来发现该行的是否被修改提交过. 怎么样找到ITL里面 哪个事务槽影响了该行?实际上它不需要通过行来判断是哪个事务ITL, 而是把整个块中ITL里面已提交的SCN 来对比,凡是大于查询回话开始的SCN 就要回退. 也就是说IT
2017-03-07 17:59:10
1777
原创 理解UNDO-3 事务提交
从前面文章得知,当事务提交后会在数据块中的ITL该XID 标帜字段FLAG 打上C,并在SCN/FCN字段上打上自己提交的SCN.如果说当一个事务更新了1万个块,更新时间比如说30分钟. 这个时候会因为DBWR把被更新的数据块写回磁盘中. 假如提交的时候已经有8千个块写入了磁盘.那么做提交命令的时候,需要把块上的XID信息修改下,如上面的动作一样,还有解除行上的锁字节. 那么是否要把写进磁盘的8
2017-03-07 17:55:51
1801
原创 理解UND0-2 事务
我们从上篇 理解UNDO-1 当中了解到 事务必须先到UNDO表空间里搞定个事务ID 才能开始干活. 拿到了事务ID编号,同时拿到了一块UNDO块来保留旧数据,就可以向目标数据块ITL槽申请位置. 这样我们有一些对像来协调工作了.它们就是 1 UNDO 段块中的事务表 2 UNDO 块里面,旧数据记录 3 数据块 上面的ITL 4 数据块的 ROW 先看第一个,段头块回顾图事务表的段信
2017-03-07 17:54:47
1939
原创 理解UNDO-1
2017-02-23 曾凡坤-小凡仙 曾凡坤一小凡仙 UNDO在ORACLE 里面是非常重要的组件,也是ORACLE能竞争过MSSQL,IBM等数据库的重要优势.后来MYSQL数据库的 innodb引撑也加入了UNDO特色.UNDO是什么? 业界的叫法很多,中文名词也很多,然后对于理解它反而造成了混乱. 什么前滚,撤销,回滚.实际上UNDO 就是UNDO .它只是暂时保存下过去的东西而已, 一个表
2017-02-28 17:41:26
2550
原创 运维+DBA需要了解的技术分类
微信文章 最近一个年轻的朋友,刚毕业不久,面试的时候面对面试官提的各种技术名词,都不知所云。被面试官搞得头昏脑涨!IT 行业技术日新月异,淘汰很快,新技术,新名词重出不穷!从以前的单一 到现在的开支散叶。从简单的架构变成复杂的架构体系了。 有必要了解下目前BS网站的使用到的技术体系关系型数据库有:ORACLE MYSQL MSSQL DB2 POStgresql 非关系数据库有:REDIS
2017-02-16 16:33:13
1800
原创 初学风水-某商务中心店铺
风水 是我们老祖宗,祖先们在5千年当中实践总结出来的一套理论。虽然该理论不那么科学,也没现代科学经得起反复实验和验证!外加千年来的迷信欺骗成分做乱,还有些神棍风水师混饭吃。 当这些都无法遮住风水的核心光芒,它好比是没有提炼出来的金矿石! 风水和中医一样属于我民族在千年级别上生活实验总结出来的,大部分行之有效的经验论。只不过这些经验论,借助了 金,木,水,火,土行星运行原理,阴阳两级,周易
2016-12-08 16:07:57
2132
原创 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
3282
原创 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
3917
原创 巧遇ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr]
下午开发人员说测试数据库起不来了, 呵呵 开发和测试数据库,我向来不管的,反正JAVA工程师是万能,啥都会! 问他是咋回事呢? 他说是停电了, 欺负我书读的少呢? 上午还给你修改了数据库占用内存的大小.下午整个办公司都没停过电啊? 他也支支吾吾下说不清楚. 我也难去理他. 数据库是安装在VMWARE虚拟机上的. 这个虚拟机又是安装在WIN7上面的,WIN7安装在高档的PC电脑上的. 情
2016-09-05 17:26:50
5943
原创 ORACLE DATABASE LICENSES 计算方法和收费
Oracle的License许可购买有两种:按照用户数和CPU个数(即无线用户版)。 购买oracle时的用户数怎么算?Oracle数据库按照用户数授权,是指最终端的连接到Oracle数据库的用户数。按照用户数来买的时候只能用于一个系统,不允许在多台机器上安装。每一个访问Oracle数据库的用户,无论是自然人还是设备,都算作一个用户 (Named User)。如果是B/S架构,那么是指连接到中间件
2016-08-17 17:09:02
8407
原创 Linux_x86_64BIT内存管理与分布之数据库场景之一
从Linux系统看内存的使用情况和分布情况着实一片混乱. 为此我们接着上篇<<部分SWAP 内存知识>> http://blog.csdn.net/zengmuansha/article/details/51776899 部分内容继续讲解 FREE -M 这个命令显示的结果 着实不太友好 要是变成下面这样子就好看多了,我把第二行-/+buffer/cache 变成了MEM
2016-07-08 14:47:43
5270
原创 通过DG来升级duplicate方法不合适
按照正常的流程成功地做成了第三个DG出来,主库的版本是11.2.0.1.0; 第三个DG的版本是11.2.0.4.0.SQL> SELECT NAME,OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,SWITCHOVER_STATUS,DB_UNIQUE_NAME FROM V$DATABASE;NAME OPEN_MODE PROTECTI
2016-06-29 18:25:52
4546
原创 部分SWAP 内存知识
[root@ZHXDB2 ~]# free -m total used free shared buffers cached Mem: 16050 15567 483 0 202 5240 -/+ buffers/cache:
2016-06-28 16:24:37
3211
原创 每天邮寄回系统情况的SAR脚本
!/bin/bashedit by ZengMuAnSha 2016-01-19 http://blog.csdn.net/zengmuanshaLogName=”/var/log/sa/sadate --date='yesterday' +%d”LOGFILE=/home/oracle/dbscripts/logs/Auto_SAR_date +%F_%H_%M_%S.txt exec >>
2016-06-28 09:56:39
3253
原创 ORACLE 11G 备库传备库级联传递(cascade dg) 的配置方法
01: 与做备库一样,配置好 监听文件 密码文件 网络文件 并且动好监听. 注意必要的目录结构.然后从主库,备库1 都能用SYS用户登陆到备库2 表示通道是联通有效的.02: 从主库生成个最新的INIT.ORA文件,复制到备库2 修改参数文件的参数.然后 启动 并且生成SPFILE文件再启动 dg2: startup nomount pfile='/home/oracle/initdg.ora'
2016-06-24 17:32:25
8093
2
原创 本鲨单实列日常巡检脚本涉及部分DG 代码超长.
只要修改部分就可以 开头部分#修改export ORACLE_BASE=/u01/app/oracleexport ORACLE_SID=orclexport SERVICE_NAMES=orcl_pdexport DBUNAME=orcl_pdexport HOST_NAME=oraclemainexport ORACLE_HOME=$ORACLE_BASE/product/11.2
2016-06-16 14:43:50
11889
1
原创 JAVA CLOB作为参数传给ORACLE后台
工作中遇到了个小问题,有这样的SQL SELECT * FROM STUDENS WHERE ID IN (:1,:2,:3,.....:1000); 这里面的参数个数是动态变化的, 由用户界面上不同的选择后的数据进行批量处理. 比如说选择英语低于60分的去进行校外劳动. 学校的学生最大数量为1000. 同时ORACLE IN 也最大1000个值. 那么这样就会产生1000个S
2016-06-13 14:47:57
4907
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关注的人