informix技术
请叫我曾阿牛
宅男,技术控
展开
-
最近是遇到了CKPT(BLOCKED)
onstat -l 发现所有的逻辑日志都是U------状态,都没有备份,原来是逻辑日志耗尽了。数据库处于CKPT(REQ) CKPT:BLOCKED状态。远程登录查看,这个时候就没有所谓的安全不安全了,都可以远程了。半夜被电话吵醒,数据库不可用了,无法交易。ontape -a -d 逻辑日志备份。发现tap目录已经没有了。原创 2023-02-27 15:49:02 · 870 阅读 · 1 评论 -
函数索引的使用例子
return v_c;原创 2023-01-17 15:20:03 · 297 阅读 · 0 评论 -
DBUPSPACE 环境变量解释
(1) 8192指占用磁盘的排序空间为8192K,缺省是1M;(3) 3指可以使用索引中的信息来排序生成统计更新信息;(2) 50指申请50M的内存排序空间,缺省是15M;原创 2022-12-22 20:51:14 · 196 阅读 · 0 评论 -
datafile文件权限引起的数据库启动失败
GBase8s的chunk文件要求必须是660的权限,而且属主和组都是gbasedbt。原创 2022-12-15 15:48:40 · 157 阅读 · 0 评论 -
权限引起的数据库启动失败
客户发现数据库启动无法查看数据库状态,也启动失败。原创 2022-12-15 15:38:26 · 135 阅读 · 0 评论 -
最近处理了一个CPU 100%的情况
有4-5个操作系统的CPU都是100%的情况原创 2022-12-15 14:15:15 · 199 阅读 · 0 评论 -
dbload使用示例
经常使用dbload,但是有些细节记不住了,需要记录一下原创 2022-11-13 22:57:46 · 382 阅读 · 0 评论 -
如何高效的分析online.log
online.log原创 2022-06-23 11:58:18 · 539 阅读 · 0 评论 -
PDQ环境变量
PDQ原创 2022-06-05 11:42:34 · 207 阅读 · 1 评论 -
linux中没有uudecode命令
[root@DEMO ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 .原创 2022-05-29 12:32:38 · 324 阅读 · 0 评论 -
查看onbar已注册的备份列表
在sysutils数据库中创建一个视图,其中包含来自bar_action、bar_instance和bar_object目录表的信息。在视图中包括以下字段:Backup_ID:内部生成的备份 ID 类型:定义备份是整个系统备份、dbspace 备份还是逻辑日志备份。 Object_Name:备份对象的名称。 Ifx_Time:创建对象的时间。对于 dbspace 备份,启动备份的检查点时间。对于逻辑日志,日志变满的时间。 CopyID_HI:用于在存储管理器中定位对象的 ID 的高位部分。 C原创 2022-05-28 17:44:48 · 140 阅读 · 0 评论 -
Could not insert new row into the table -271
客户现场的现象如下:查看表的相关信息:oncheck -pt dbname:tabname明显是发现数据页已经用尽了为什么会用尽呢?继续排查查看数据分布的直方图信息:dbschema -d dbname -hd tabname -ss明显是最近几天的数据量暴涨导致了数据页的用尽。...原创 2022-05-20 20:52:38 · 878 阅读 · 0 评论 -
数据库连接异常的问题处理
某大大大客户生产环境,云平台+HDR集群。故障现象:1、正常情况一切OK;2、后来突然发现连接数据库异常27001的报错3、已经建立的连接是OK的4、此时备节点是可以查询的,建立连接是OK的5、主节点关闭,备节点接管交易,刚开始正常,过半天也就报出了27001的错误6、一线工程师无从下手处理过程:1、登录主节点之后,确实发现了27001的错误2、vmstat 1 操作系统IO正常、内存使用正常、CPU状态正常3、onstat 一通查看,发现数据库各种正常原创 2022-05-04 09:44:12 · 4473 阅读 · 0 评论 -
数据库国产化的那些事儿----2
最近看到很多国产数据库厂商都是基于开源某斯库来的,而且还可以高举信创大旗,甚至有十几家都开始拥抱某开源社区。要知道是人家商业数据库还在开发和迭代呢。以我国产数据库的经验来看,国产数据库最难的迁移和适配工作,需要应用或数据库开发商做大量的妥协。我突然有一个恐惧的想法:当下大家都依赖开源社区开源生态把某斯做起来了,生态也起来了,数据库也迁移和适配过来了。你们那里来的技术底气和商务功夫保证自己的数据库不被平滑的迁移和替换掉???想到这里,突然感觉有人在下一盘大棋,好大好久远的一盘棋,很原创 2022-04-23 22:54:34 · 797 阅读 · 0 评论 -
数据库国产化的那些事儿----1
最近在参与数据库国产化的相关工作,热火朝天,忙忙碌碌,也发现数据库国产化的一些怪事儿。很多很多的甲方和应用开发商都要求必须适配某某数据库,或兼容某某特性,否则这个项目就黄了,或换数据库适配。貌似一听也很有道理,毕竟应用开发商是有一些开发的工作量在里面的。不过反过来想想也挺有意思的:1. 到底是数据库是基础软件还是应用软件是基础软件;2、莫非你原来运行在windows上的C程序还让linux改造以支持你的应用程序?3、数据库这个基础软件本来就是百花齐放的,去看看db-eng原创 2022-04-01 20:59:31 · 1150 阅读 · 0 评论 -
理解NULL
不要把NULL与空字符串混淆。NULL值意指缺少值,它不是空字符串。如果指定""(两个双引号之间没有任何内容),这在NOT NULL中是允许的。空字符串是一个有效值,它不是没有值。NULL值是通过NULL关键字指定,而不是通过空字符串指定。...原创 2022-03-26 22:41:42 · 1087 阅读 · 0 评论 -
表连接的几种方式
自连接:能够在单独一条SELECT语句内多次引用同一个表。select prod_id,prod_namefrom productswhere vend_id = ( select vend_id from products where prod_id='DTNTR')select prod_id,prod_namefrom products p1,products p2where p1.vend_id =.原创 2022-03-26 21:18:54 · 3071 阅读 · 0 评论 -
表的关联查询,哪种写法效率更高?
方法1:嵌套子查询select col1,col2 from tab1where id in (select 2_id from tab2 where order_num in ( select order_num from tab3 where prod_id='AAA'))方法2:无嵌套子查询select col1,col2 from tab1,tab2,tab3wh原创 2022-03-26 20:28:28 · 1987 阅读 · 0 评论 -
alter 增加主键
informix的主键约束alter table t1 add constraint primary key(id) constraint pk_t1;oracle的主键约束:alter table t1 add constraint pk_t1 primary key(id);原创 2022-03-24 21:24:44 · 2195 阅读 · 0 评论 -
禁用启动数据库管理员访问数据库
1. NS_CACHE 的时间间隔降低,目的是为了快速生效2. passwd -l informix #锁定用户,客户端无法访问3. passwd -u informix #解锁用户,恢复客户端访问原创 2022-03-14 18:16:36 · 730 阅读 · 0 评论 -
数据库启动失败
某个数据库许可到期,更新数据库的介质之后,数据库启动成功我就撤出了。很快客户联系我说数据库宕机了无法启动成功。给了我很多重启数据库的信息,基本上都是共享内存已经有了,无法分配新的共享内存信息。我登录之后发现:1. ipcs 确实有没有释放的共享内存ipcrm 干掉2. oninit -v 启动数据库可以成功,但是很快就宕机了,报错如下初步怀疑是sysadmin的问题cd $INFORMIXDIR/etc/sysadmintouch stoponinit -v原创 2022-03-04 13:39:30 · 526 阅读 · 0 评论 -
数据库可以连接正常,但是无法打开
通过客户端或dbaccess连接数据库打开数据库的时候报出了 211和103的错误,如果下图:通过排查发现权限没有问题,online.log有大量V段频繁申请的日志。初步怀疑是GL_USEGLU 的问题。后来设置GL_USEGLU=1之后问题解决。...原创 2022-03-04 10:42:28 · 1006 阅读 · 0 评论 -
ER同步中NTP的配置方法
1.关闭防火墙和selinux 客户端和server端都需要执行:systemctl stop firewalldsystemctl disable firewalld setenforce 0编辑/etc/selinux/configSELINUX=disabled2. yum install ntp ntpdate -yserver/client都需要安装3. server端编辑/etc/ntp.confserver 127.127.1.0 ER...原创 2022-03-02 23:22:37 · 271 阅读 · 0 评论 -
text数据类型在网页查询中失败
现象:同样一个数据库,测试环境的网页可以查询,但是生产环境的的网页查询就报出了IO 权限的错误。对于页面内容特别少的,可以查询成功,稍微大点就查询失败。Determines the buffer size for large object data that is fetched from the database server Possible values are:A number greater than 0The maximum number of bytes is alloca原创 2022-03-01 00:10:18 · 393 阅读 · 0 评论 -
ER使用中两个闹心的问题
1. 在ER中修改数据库的日志模式发现是非常麻烦的,哪怕是你cdr del repl ; cdr del server 仍然是无法修改的仍然会提示188的报错信息最后我没有办法了,直接用0级备份进行恢复,然后重建ER2. 某个节点加入ER集群cdr define server -I -S ... 这个是OK的cdr list repl 可以发现复制,但是没有参与复制cdr change repl -a .... 发现可以加入成功,但是复制都是inactived状态,cdr s原创 2022-03-01 00:07:28 · 472 阅读 · 0 评论 -
近日遇到一个诡异的现象---同一个数据库实例居然可以启动成功两次
某个数据库最近总是出现很多诡异的现象: 1、长时间BLOCK(CKPT) 2、逻辑日志备份失败 3、数据库监听没有启动 4、数据库可以通过dbvisual连接和访问,并且还可以做业务 5、onsrtat -l 看到逻辑日志都是U-B的状态,但是online.log却提示逻辑日志已经满了 最终在online.log中发现,数据库居然被启动了两次且两次都启动成功了,不过是后面启动的那次没有获取到监听端口罢了。...原创 2022-02-17 21:06:50 · 442 阅读 · 0 评论 -
索引失效喽
还是建议索引的长度搞的短一点吧,省的给自己找麻烦原创 2022-02-14 13:51:58 · 192 阅读 · 0 评论 -
Informix 数据监控 Onstat 集合
原创 2022-02-06 12:31:42 · 456 阅读 · 0 评论 -
数据库锁表的查询和处理
如果遇到数据库锁表,通常需要用如下方法处理:查看表的partnum情况:oncheck -pt shjz_mzb:baf01|grep -i partnum这个里面包含了多个分区的partnum,也包含了索引的partnum。 Partition partnum 12584018 Partition partnum 12584029 Partition partnum...原创 2022-01-26 12:26:35 · 2244 阅读 · 0 评论 -
ISAM error: no free disk space故障分析处理
数据库可能会报出上错误,数据库空间不足,解决空间不足的几种可能性:1、onstat -d 查看free是否有0的情况,如果有,增加chunk文件,给dbspaces空间扩容即可2、如果没有,情况就有点复杂了如果onstat -d 没有free=0的情况,说明应该是某个表达到了上限表达到上限的情况有很多种:a> oncheck -pt dbname:tabname 表上的页数达到了某个限制比如1600万个页b>extent的数量达到了上限3、我还遇到过一个非常隐..原创 2022-01-24 10:39:58 · 2064 阅读 · 0 评论 -
Informix 14.10:复制性能改进
抽象的由于更高的时钟速度和可用内核数量,当前 CPU 的处理能力得到提高,Informix 部署产生了更高的事务吞吐量。在 12.10 及更早的产品中依赖逻辑日志重放(HDR、RSS、SDS)的复制技术达到了设计限制,在峰值负载下,辅助实例可能需要大量时间才能赶上主实例。在 14.10 中,对逻辑日志传输和重放机制进行了彻底改革,从而大大提高了速度,现在支持无延迟复制,与以前的 Informix 版本(12.10.xC12 和更早版本)相比,事务率高达 5 - 8 倍.另一个受影响的领域是崩溃恢复——.原创 2022-01-21 19:53:57 · 2114 阅读 · 0 评论 -
分布式系统如何保证强一致性
为了解决去中心化系统中冗余数据一致性的问题,David K.Gifford提出了NWR算法。大致原理如下:如果冗余数据存放在N个节点上,且每次写操作成功写入W个节点(其他N-W节点讲异步的同步数据),而读操作则从R个节点中选择并读取出正确的数据,只要确保 N+R>N,同一条数据的读写操作就不能并发执行,这样客户端就总能读到新写入的数据。特别是当 W>N/2时,同一条数据的修改必然是顺序执行。这样分布式系统就具备了强一致性这也是NWR算法的由来。如果N为3,则设置W和R未2时,原创 2022-01-15 19:53:27 · 1112 阅读 · 0 评论 -
用linux 火焰图来分析IDS的性能瓶颈
1、yum install -y perf安装perf工具git clone --depth 1 https://github.com/brendangregg/FlameGraph.git下载FlameGraph2、perf record -F 99 -p 29873 -m 4 -g -a -- sleep 60每个参数详细的解释见 linux perf Examples3、perf script > out.perf将二进制信息转换为ASCII格式的文件4、./Fl原创 2022-01-14 17:20:20 · 465 阅读 · 0 评论 -
数据库备份失败处理
故障现象:数据库0级备份报错如下:故障处理过程:1、初步怀疑是数据库监听出了问题onstat -g ntt 发现有一个数据库监听是正常的2、查看sqlhosts,发现里面需要有两个数据库监听3、仔细比对发现sqlhosts文件中有一个监听的IP地址写错了4、修改sqlhosts,重启数据库5、备份恢复正常...原创 2022-01-14 15:30:51 · 2283 阅读 · 0 评论 -
sshkey信任设置
1. 在不同的主机上执行 ssh-keygen2. 复制公钥到其他服务器上 ssh-copy-id -i ./.ssh/id_rsa.pub username@XXX原创 2022-01-14 14:26:50 · 473 阅读 · 0 评论 -
informix HQ监控的安装过程
informix HQ 目前不提供单独的下载介质,是集成在了14.10 SERVER的安装包里面。可以最低支持12.10版本的数据库,再低的版本就不再支持了。正常通过./ids_install安装数据库SERVER之后,在$INFORMIXDIR/hq 目录下的内容就包含了HQ的全部内容(非常简洁)。informixhq-server.jar :是HQ SERVER启动WEB服务需要的JAR包;informixhq-server-example.properties:HQ SERVER的原创 2022-01-12 21:26:49 · 731 阅读 · 0 评论 -
informix 监控工具HQ功能 展示
此为粗略展示,并没有做特别多的使用和研究。另外: 数据库集群的拓扑没有展示出来,不知道是否我配置的问题。原创 2022-01-12 17:16:01 · 451 阅读 · 0 评论 -
linux密码映射的问题
pwunconv #关闭密码映射到/etc/shadow,这时候密码存储在/etc/passwd中pwconv #关闭密码映射到/etc/passwd,这时候密码存储在/etc/shadow中没搞懂,一个用户认证体系搞这么复杂做什么。在云平台上好像需要考虑这个问题但是在物理机或虚拟机上貌似不需要考虑。...原创 2022-01-12 10:13:43 · 329 阅读 · 0 评论 -
查询分片表的规则
测试表和数据:drop table if exists employee ;drop table if exists employee3 ;CREATE TABLE employee (emp_id INTEGER, name CHAR(32), dept_id CHAR(2), mgr_id INTEGER, ssn CHAR(12)) partition BY expression partition p0 (emp_id < 100) in dbs1, PARTITION原创 2022-01-07 12:17:45 · 718 阅读 · 0 评论 -
数据库运行在NUMA架构服务器上的调优思路
总则:如果数据库服务器遇到了2个、4个或8个节点的NUMA。1、使用numactl -H来查看服务器NUMA的分布情况假定发现如下:节点 0 CPU:0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46节点 0 大小:195269 MB2、informix尽量使用NUMA中的一个节点,但是对于4个或8个节点的NUMA明显是浪费的。这个时候可以使用两个节点的NUMA,但是不建议超过2个。3、numac原创 2022-01-06 18:50:00 · 2390 阅读 · 0 评论