- 博客(48)
- 资源 (7)
- 收藏
- 关注
原创 ASM磁盘nomal在线扩所容盘大小不一致咋个办?
在使用asm磁盘进行扩缩容的时候,往往建议新磁盘的大小和就磁盘保持一致(特别是在normal、high级别模式下)。但是,往往由于底层存储、操作系统的一些计量单位误差,可能导致给到我数据库磁盘的大小并不能完全和原磁盘保持一致,从而造成报错。今天,我就在19c数据库遇到了这个问题,那么在主机、存储不介入的情况下,该如何解决问题呢?
2024-05-21 16:01:39
555
原创 统计信息和AUTO SQL TUNING任务重合引发的Library Cache Lock血案
Automatic SQL Tuning是11g引入的一个特性,它可以根据我们数据库的i/o、cpu等负载识别需要调优的sql。在任务设定时间内,则会对识别出的sql进行自动调优,生成sql_profile。当发现有统计信息丢失或者过期的时候,则会通知GATHER_STATS_JOB进行统计信息收集。然后对新的sql_profile进行效率测试。测试通过,则会执行新的profile。
2024-05-21 09:23:52
790
1
原创 Mysql数据库“消失”的对象校验
最近在配合系统开发商进行上线的过程中,遇到了一个问题,从这个问题上,可以看到mysql数据库中虽然尽可能的想要为我们提供一些更加安全、便捷的功能,但是貌似却仍然存在一些不合理之处。
2024-03-15 10:56:39
773
原创 学习记录---kubernetes动态卷使用---storageClass及驱动安装(nfs驱动)
kubernetes中,在存储层面,我们常用到的两个资源是pv和pvc,其中pv是实际创建出来的一致性卷,我们可以通过pv将容器中的数据进行持久化保存,而pvc则可以理解为pod使用pv的中间控制器,通过pvc将pv绑定到pod上。但是在生产环境下,我们需要按照顺序先创建pv,再创建pvc,然后在pod中进行绑定。此外,在某些场景下,我们甚至需要在对应的pod所在的目录上创建目录,但是由于kubernetes的调度规则是黑盒制度,一般情况下,不好进行控制。
2023-12-08 14:49:23
281
原创 学习记录---kubernetes中备份和恢复etcd
ETCD是kubernetes的重要组成部分,它主要用于存储kubernetes的所有元数据,我们在kubernetes中的所有资源(node、pod、deployment、service等),如果该组件出现问题,则可能会导致kubernetes无法使用、资源丢失等情况。因此,我们还是要对该组件进行定期备份。
2023-12-07 16:27:26
316
原创 学习记录---Kubernetes的资源指标管道-metrics api的安装部署
Metrics API,为我们的k8s集群提供了一组基本的指标(资源的cpu和内存),我们可以通过metrics api来对我们的pod开展HPA和VPA操作(主要通过在pod中对cpu和内存的限制实现动态扩展),也可以通过kubectl top的方式,获取k8s中node和pod的cpu及内存使用情况。
2023-12-06 23:18:31
309
原创 通过互联网代理部署Docker+Kubernetes 1.28.1
在公司环境中,我们往往都是无法直接连接外网的,之前写过一篇文章,是通过外网自建的中转机器下载需要的离线包,并在内网搭建一个harbor,通过harbor的方式搭建了一个kubernetes,但是这种方式还是有点费事。本次,在公司的环境中,我们搭建了一个互联网代理服务器,通过互联网代理直接让机器下载镜像、进行配置,快速的搭建一个kubernetes集群。虽然,通过互联网代理,虽然在获取资源时候方便了很多,但是在整个搭建过程中还是遇到了一些坑,这里也是mark一下。
2023-11-25 11:22:23
771
原创 挖掘PostgreSQL事务的“中间态”----更加严谨的数据一致性?
PostgreSQL在进行事务操作时候,为了保证事务的一致性,会有一个事务的“中间态”,这里我打个比方,即这个“中间态”保证了PostgreSQL同一个事务中的操作“一荣俱荣,一损俱损”。即在一个事务中,我们可能会存在多个dml操作,而当其中的一个操作失败后,整个事务中的操作都会失败,并且需要手动回滚,而不会存在部分成功部分失败。
2023-11-16 17:14:28
542
原创 关于oom:GC overhead limit exceeded问题的分析与疑问
应用运维人员通过granfna监控软件发现某主机内存在某一时刻内存使用率达到了90%以上,应用系统部分业务收到影响。此时应用人员通过应用日志查看,在异常期间,出现大量的out of memory:GC overhead limit exceeded的错误。找到应用厂商进行分析后,得出结论,告知是我们的应用启动参数maxPermSize设置过小导致(该参数设置大小为1G),需要增加-XX:MaxPermSize的大小。
2023-05-16 15:00:50
203
原创 Oracle的rwp之旅
虽然,Oracle数据库在国内的市场份额减少了不少,但是一些数据库的内容和原理也是有相通的地方,所以rwp的培训,如果有机会,还是建议大家可以听一听。
2023-05-15 17:00:59
639
原创 【K8S学习二】在新建的kubernetes上创建pod,deployment和服务(测试案例)
根据上一篇学习文章,我们已经得到了一个kubernetes集群,那么要如何将应用部署在这个集群上并对外提供服务呢?kubernetes又如何才能做到应用高可用呢?下面将主要通过部署一个nginx作为案例来进行学习。
2023-04-10 15:11:36
1007
原创 【K8S学习一】基于rhel7的k8s+harbor离线安装部署及测试使用全过程
kubernetes的兴起与应用不仅为容器的发展推波助澜,也成就了云原生技术的火爆。同样,金融行业也逐步涌现出很多上云的系统。为了保证我行后期上云更加容易,更容易上手,因此对k8s及云原生技术也开展一些学习和实验。实验才是掌握知识最快的方式,开展k8s的相关学习,我也是选择从安装部署开始,拥有一套自己的kubernetes集群,然后带着疑问进行研究学习,后期也会通过书本进行一些系统的了解和学习,希望自己能够坚持下去。下面则通过离线的方式基于RHEL7搭建一套k8s集群。
2023-04-06 22:29:46
5541
原创 以优雅的方式对oracle分区表进行分区拆分操作
当分区存在maxvalue的分区时候,是无法通过alter table add partition的方式来增加分区的。Oracle推荐的方式则是alter table split partition从maxvalue的分区中进行拆分,但是血的教训告诉却我们通过split partition的方式拆,如果使用时机不正确的时,则可能会给我们带来极大的风险。那么我们该如何优雅的对oracle分区表进行拆分才能减小甚至消除该操作带给我们的风险呢?
2023-03-24 15:49:15
3407
原创 NGINX代理返回代码499问题分析与处理
我们通过nginx作为互联网代理服务器,通过它实现我行内部系统向互联网系统的接口访问及调用;但是在使用过程中,不时的会出现大量返回代码为499的问题(正常访问返回为200),甚至有时候部分系统在报499的错误时,会影响到某一业务的正常使用。此时,我们也会怀疑nginx代理出现了问题,于是重启或者重新加载nginx服务。但是比较奇怪的是,如果nginx整个出现了问题,那么为什么会出现某个业务异常而不是在nginx上的所有服务异常呢?于是,我们则需要对为什么nginx会返回499错误代码展开分析和研究。
2023-01-27 21:26:05
12938
原创 逻辑备份数据导入原分区表遇到的那些事儿
通过expdp导出数据,由于业务需要,将该导出数据恢复至原表,整个过程中遇到了三个问题:1.impdp造成大量的enq: TM -contention阻塞;2.impdp导入备份表造成原表索引失效;3.交换分区出现ORA-14097;那么产生这些问题的原因是什么?最终针对这一场景又有什么好的建议呢?
2023-01-14 17:43:43
365
原创 我的Redis哨兵为什么不切换?
今天在值班空闲之余,正好想起在前几天遇到的一个奇怪的redis问题,顺便就记录一下,如果大家能看到也可以为大家做个避坑参考。
2022-10-05 00:59:40
2593
原创 通过nginx的upstream配置域名进行http/htts的访问最佳实践方案(406/404问题解决)
记一次nginx代理通过upstream配置域名,访问http/https的最佳实践方案,最终成功解决nginx返回的406问题
2022-08-05 00:39:49
18166
4
原创 Oracle 19.7 SYSAUX空间暴增异常分析和处理(oracle 19.7 ASTS功能)
今天某客户进行求助,告知其数据库中CDB的SYSAUX空间近期一直暴增,当前已经将空间加到60G;在一般情况下,我们不会将sysaux等系统表空间增加这么大,于是在客户的需求下,进行了分析。由于问题现象是数据库的sysaux暴增,所以我们首先需要想办法确定的是在sysaux中有什么对象占用的空间比较大呢?我们可以通过以下语句进行确认:select sum(bytes)/1024/1024/1024 gb from dba_segments where tablespace_name='SYSAUX';
2021-05-11 17:19:11
826
原创 sqlplus登录问题慢分析过程及解决小记
一、问题描述今天,在某客户现场进行巡检,发现有一个系统在进行sqlplus / as sysdba登录的时候特别缓慢。多次测试,最长时间可以达到近10s才能成功登录;此时,对主机的cpu、内存、io以及网络等参数进行查看,发现使用率均不高,远远没有达到瓶颈,且在登录之前和登录之后,所有操作均非常顺滑,没有丝毫卡顿。因此,判断该系统就是在sqlplus登录的时候才可能出现卡顿。由于客户的业务并未反馈使用有问题,所以当时仅将该问题记录到日常错误处理日志中。但是过了几天后,突然客户的业务使用人员说,他们
2021-05-10 10:50:16
537
原创 基于postgresql流复制的容灾库架构设想及实现
一、前言这几天在对postgresql流复制的架构进行深入的研究,其中一个关键的参数:recovery_min_apply_delay引起了我的注意,设置该参数的大概意思是:在进行流复制的时候,备库会延迟主库recovery_min_apply_delay的时间进行应用。比如说,我们在主库上insert了10条数据,那么不会立即在备库上生效,而是在recovery_min_apply_delay的时间后,备库才能完成应用。另外,我们知道,在postgresql中,其mvcc的机制并不像oracle或者m
2021-01-25 16:20:27
270
原创 postgresql12的同步流复制搭建及主库hang问题处理和分析
一、前言主备流复制,是postgresql最常用最简单的一种高可用、读写分离的形式,类似于oracle的adg,主库用于读写,备库可以只读;postgresql流复制,有两种方式,分别是同步流复制和异步流复制;异步流复制模式中,当备库出现异常,主库可以正常的进行读写;同步流复制模式中,当备库出现异常,主库则可能会hang住(dml、ddl);这两天,根据需求,需要搭建一套同步流复制库,但是在搭建过程中遇到了一些小问题,所以记录下来,作为备忘以及指导,帮助大家避坑。二、基本环境本次搭建,我的po
2021-01-17 23:39:08
740
1
原创 barman备份的配置使用(备份+恢复)
前言上次分享了barman备份的安装部署过程,这次将继续分享一下barman备份恢复工具的使用过程。barman是目前postgreSQL数据库的比较成熟的一款备份工具,是基于postgresql的一款物理备份工具。与oracle数据库中的rman较为类似。其简单的工作原理即为:物理全备+归档备份(WAL日志备份),从而达到任意时间点的恢复。即恢复全备后,通过指定WAL日志的时间点、LSN等即可恢复到数据库的任意时间点。barman备份主要分为三类:1.仅流复制;2.ssh/rsync;3.
2020-12-08 12:08:48
4118
14
原创 barman备份软件离线安装渡劫文
一、前言Barman是postgreSQL数据库的一款比较好用的备份软件,目前网上很多安装部署都是以Online的模式进行安装部署的,其相关的package也可以被自动的安装部署,所以相对简单。但是,在离线模式下,安装却有很多"坑",今天总结的这篇文章,可以帮助离线安装的小伙伴们渡劫。二、环境描述基础环境:redhat-7.5 x86_64软件版本:barman-2.12官方在说明文档描述,部署barman-2.12的时候对环境有以下要求:• Linux/Unix• Python >=
2020-11-24 23:37:19
611
原创 记一次library cache lock/library cache pin导致的函数编译hang住分析及处理过程
一、前言业务在进行alter function my_function_name compile的时候,正常来说会非常快(不涉及无法访问的dblink时),但是今天一大早,业务就告诉跟我说,他们有两个函数编译无法通过,现象就是会hang住,需要我进行分析并处理下问题。二、问题排查看到这个问题的时候,最初就是认为,数据库肯定是有锁了,导致这个编译过程的语句,执行无法通过。所以,第一时间检查了下数据库中是否存在行锁:SQL> @blockno rows selected可以看到,此时并没有
2020-11-10 15:27:45
263
原创 postgresql性能分析工具-pgstatpack-2.3.3.1
一、前言数据库日常运行过程中的性能监控和状态判别,是数据库日常的运行维护工作中重要部分之一。也是我们平时对数据库进行性能问题排查、系统优化的一个重要凭证。Oracle数据库,通过AWR报告、ASH报告对数据库的某个时间段的运行状态及性能进行信息的收集和统计,然后判断这段时间的数据库运行性能瓶颈。究其根本,Oracle会在每隔1s(默认)收集当前数据库的非空闲等待事件信息、会话信息等,并存放于相关的ASH视图中。AWR报告则是每小时(默认、可设置),对数据库的运行情况保存一个快照信息,在进行性能分析的时候
2020-11-06 17:24:39
1658
2
原创 一次完整的expdp/impdp逻辑迁移
在前段时间,进行过一次expdp/impdp的逻辑迁移。但是也没有进行过非常详细的总结。这一次,终于想要把整个迁移过程和遇到的问题、解决方式都从头到尾的总结一下,用来以后给以后的迁移过程做个参考模板。一、明确迁移目标:本次迁移是通过expdp/impdp的方式,将业务用户数据用expdp导出到NFS上,然后再通过impdp导入到新数据库中。二、主机存储操作1.挂载NFS将存储划分到其中1个节点,并制作为文件系统,然后将该文件系统通过NFS配置共享出去:vi /etc/exports#NFS s
2020-06-09 13:56:55
1569
原创 学习笔记-事务与回滚段
1.常用事务操作Oracle相关事务的SQL操作主要包含insert:数据插入update:数据更新delete:数据删除merge:合并操作select …for update:锁定选择数据2.事务的ACID原则:1)A:原子性—事务是原子级的、不可分割的有机体,这意味着,事务过程修改是不能分割的,即过程修改或者全部执行成功,或者全部执行失败回滚,不能存在部分成功部分失败的场景;...
2020-03-11 00:06:37
1398
原创 GaussDB的Roach工具中vaildate功能不能再单机下使用原因研究与分析
通过对Roach的py代码分析和使用方法发现,Roach的validate动作只能在集群中使用,不支持单机使用,具体原因如下:首先以help的命令+提示进行validate操作来对日志进行跟踪,发现异常出现在GaussRoach.py的这三行出现的报错所以我们可以到py脚本中看看这三行代码:501行,这里我们可以看到这个报错代码已经跳转到init_cluster_info()函数中了,可以...
2020-02-27 23:54:46
316
原创 Oracle集群环境中更换私网IP
参考:Doc ID 2103317.11.对数据库所有节点备份profile.xml配置文件su - gridcd $ORACLE_HOME/gpnp/hostname/profiles/peercd $ORACLE_HOME/gpnp/hostname/profiles/peercp -p profile.xml profile.xml.bak2.确保集群中所有节点都已启动并正常运行...
2020-02-27 23:48:01
441
AIX与windows下为文件共享(以NFS方式进行挂载
2016-01-14
条形码扫描录入系统(Labview)
2013-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人