- 博客(139)
- 资源 (12)
- 收藏
- 关注
原创 Java程序-OceanBase Connector/J 示例
根据下载的实际文件版本,将 OceanBase Connector/J 的 JAR 包解压后放入本地 /usr/share/java 路径中,JDBC URL实现方式中的负载均衡策略有三种:RANDOM随机(默认),SERVERAFFINITY加权随机,ROTATION轮询。数据库连接参数包含了访问数据库所需的参数信息,在验证示例代码前,可通过数据库连接参数验证登录数据库,保证信息正确。//新建表 t_meta_form。获得如下结果,说明数据库连接成功,示例语句正确执行。//查询数据,并输出结果。
2025-07-01 15:25:15
365
原创 postgresql-14 高可用(pgpool)部署
然后,我们在PostgreSQL主服务器(server1)的数据库集群目录中创建recovery_1st_stage和pgpool_remote_start,并添加执行权限。#为了使用在线恢复功能,需要pgpool_recovery、pgpool_remote_start、pgpool_switch_xlog等功能,因此我们需要在PostgreSQL server server1的template1上安装pgpool_recovery,以后新建数据库将自动安装pgpool_recovery插件。
2025-05-22 23:29:17
1015
1
原创 PostgreSQL14 +patroni+etcd+haproxy+keepalived 集群部署指南
Patroni接管PostgreSQL数据库的启停,同时监控本地的PostgreSQL数据库,并将本地的PostgreSQL数据库信息写入DCS。Patroni的主备端是通过是否能获得 leader key 来控制的,获取到了leader key的Patroni为主节点,其它的为备节点。如果主库(Primary)故障,Patroni把一个从库(Standby)拉起来,作为新的主(Primary)数据库, 如果一个故障PostgreSQL被抢救过来了,能够重新自动或手动加入集群。
2025-05-22 23:22:36
1217
原创 Postgresql14+Repmgr部署
repmgr 构建在 PostgreSQL 基础上,负责主从拓扑管理、复制配置、故障转移(failover)、主备切换(switchover)等功能。⚠️ 要实现自动 failover,必须启用 repmgrd,并配置好 promote_command 与 follow_command。上述过程为配置3节点间的postgres的用户的互信。注意:切换前要查看各节点同步状态,保证LSN唯一且相同,否则切换会失败并导致主库宕机。因为备库要通过repmgr同步来自主库的数据,所以要事先删除备库数据。
2025-05-22 22:20:10
911
原创 PostgreSQL 14 pacemaker 高可用集群
二、配置pacemaker数据库集群 [any one host] (一个节点配置即可,会自动同步到另外一个节点,master节点执行)Web UI + CLI 集群管理组件,简化 pcs 工具使用,提供节点认证与配置同步。集群资源管理器,负责数据库服务、VIP 等资源的启停与主备切换。宕机启动时,需要删除临时锁文件方可进行集群角色转换。宕机启动时,需要删除临时锁文件方可进行集群角色转换。,只需重启服务,软件会自动把数据库拉起。,只需重启服务,软件会自动把数据库拉起。数据库核心,负责数据存储与复制。
2025-05-22 21:31:30
801
原创 psotgresql18 源码编译安装
PostgreSQL 18 已转向 DocBook XML 构建体系(SGML 未来将被弃用)。# 请先将 postgresql-18beta1.tar.gz 放在当前目录下,本脚本中上传至/root目录下。echo "PostgreSQL 18 安装完成。根据需要,修改postgresql.conf和pg_hba.conf,修改完成后,启动数据库。# 1. 创建 postgres 用户(如已存在则跳过)# 一键安装 PostgreSQL 18脚本。数据库:postgresql18beta1。
2025-05-19 21:43:12
729
原创 PostgreSQL pgrowlocks 扩展详解
pgrowlocks 是 PostgreSQL 官方提供的扩展模块,用于查看指定表中每一行当前的。加锁事务对应的后端进程 PID 数组(可结合 pg_stat_activity 使用)在template1模版数据库中安装扩展,随后新建数据库自带pgrowlocks。锁模式(如 'For Update'、'For Share' 等)持锁事务的Transaction ID(主事务)多事务下所有持锁事务的事务 ID 数组。是否是多事务锁(即多事务持有此行锁)支持显示多事务共持一行锁的情况。
2025-05-15 17:06:31
996
原创 VACUUM FULL VS CLUSTER
在 PostgreSQL 中,VACUUM FULL 与 CLUSTER 都可以。查询结果可以发现,执行vacuum full回收表空间后,表没有重新进行排序。查询结果可以发现,执行cluster回收表空间后,表根据索引重新进行排序。,但它们的工作机制、排序方式、影响范围和使用场景有显著区别。✅ ACCESS EXCLUSIVE 锁,锁整个表。❌ 以上都不适用,可考虑 pg_repack。--执行cluster回收表空间。表数据不膨胀,仅优化访问路径。✅ 可以(但对大表不推荐)重写表,同时也回收空间。
2025-05-13 17:17:24
928
原创 PostgreSQL Patroni集群组件作用介绍:Patroni、etcd、HAProxy、Keepalived、Watchdog
在 PostgreSQL 高可用架构中,Keepalived 的主要作用是:通过 VRRP 协议提供高可用的虚拟IP(VIP)漂移机制,确保即使服务节点发生故障,客户端仍然能通过一个固定 IP 无缝访问数据库或中间件(如 HAProxy),实现 PostgreSQL 集群访问地址的高可用。它不是数据库本身,而是一个控制器,负责维护 PostgreSQL 的主从架构,并在主节点宕机时自动选择一个新主节点,保证服务连续性。+--- VIP 地址由 Watchdog 绑定在主 Pgpool 上 ---+
2025-04-30 13:03:44
1062
原创 PostgreSQL数据库版本升级
传统的把数据移动到新主版本的方法是先转储然后重新载入到数据库,不过这可能会很慢,所以使用 一种更快的方式pg_upgrade。查看已经编译的pg当时编译的编译选项, 可以使用 pg_config,这个工具特别有用于开发者和管理员,因为它能提供关于PostgreSQL如何编译、安装路径、编译时使用的选项以及库文件位置等信息。数据库升级分为两种,一种是小版本迭代升级,另一种是大版本升级。小版本升级很简单,你只需要简单地在服务器关闭时替换可执行文件并重启服务器,数据目录则保持不变,次要升级就这么简单。
2025-04-29 16:12:04
801
原创 表膨胀清理的常用工具
那么表和索引的膨胀会造成两个后果,第一是磁盘空间的占用,比如,某个几百G的大表delete删除后,并不会释放磁盘空间,并且在删除的过程中还会引发wal日志的膨胀,而数据库服务器的磁盘空间并不是无限的,第二个就是会使得表的查询和写入性能下降,也就是查询速度降低或者插入/更新速度明显下降。因此,我们在数据库的使用过程中,应该避免表膨胀,至少是将表膨胀控制在一个合理的,可接受的范围内,完全的避免表膨胀是确定无疑的不可能。第四,利用外部插件,例如pg_repack、是用Perl编写的,需要Perl DBI库。
2025-04-29 12:27:38
865
原创 PostgreSQL WAL 幂等性详解
PostgreSQL通过这些设计,确保即使在最坏情况下崩溃恢复,也能保证数据一致性和正确性。-> 如果 WAL LSN > Page LSN, 执行修改,更新Page LSN。恢复的核心流程就是不断**Replay(重做)**WAL记录,把数据库恢复到一致状态。-> 如果 WAL LSN <= Page LSN, 说明已经做过,跳过。恢复 -> 读取WAL record -> 找到要修改的Page ->CHECKPOINT;注:FPW是恢复的"大杀器",确保即使发生中间页损坏,也能恢复。
2025-04-27 11:21:11
915
原创 Zabbix 7.0下postgresql 16.6数据库监控配置
localectl set-locale zh_CN.utf8 #根据上条命令里显示的中文字符集的utf8设置。然后,回到浏览器,重新打开zabbix,在用户设置里,就可以看到里面的语言,中文选项就可以选择了。1、设置主机名称、选择模板:PostgreSQL by Zabbix agent2,选择主机群组。文件选择打开--选中zabbix-appliance-7.0.12.vmx文件,加载虚拟机。# cat /etc/locale.conf #这条同上,也可以看到区域。
2025-04-27 10:52:26
1303
2
原创 sysbench手动测试OceanBase v4.2.4集群
分布式场景( primary zone = 'RANDOM' ),这里只举一例(read_write),用来说明各统计信息的含义。JDK:建议使用 1.8u131 及以上版本。1、ocp(sysbench节点)2、ob集群1-1-1。
2025-03-06 12:02:22
726
原创 达梦DCA认证考题 考前复习
一般建议在数据库故障后,应立即执行归档修复,否则后续还原恢复将会导致联机日志中未刷入本地归档的 REDO 日志中而丢失,届时再利用本地归档恢复将无法恢复到故障前的最新状态。由于日志重做过程中,修改好的数据页首先存入缓冲区,缓冲区分批次将修改好的数据页写入磁盘,如果在此过程中发生异常中断,可能导致缓冲区中的数据页无法写入磁盘,造成数据的不一致,数据库启动时校验失败,所以表空间恢复过程中不允许异常中断。命令完成表空间的脱机还原,还原的备份集可以是联机或脱机生成的库备份集,也可以是联机生成的表空间备份集。
2025-02-22 16:25:58
1558
原创 oceanbase V4.2.2社区版集群离线部署
版本,选择是上传文件,包含oceanbase-ce、oceanbase-ce-libs、oceanbase-ce-utils。关闭时展示,为 OBProxy 集群的访问地址,仅用于生成租户的连接串,不影响实际使用,需要自主配置负载均衡,如果是 VIP 地址,还需要您自主申请并绑定到 OBProxy Server。集群配置选项卡—更多配置—更改系统内存保留选项,默认是30G,如果测试机内存只有16G,则需要调小,本测试调整为2G,这样ocp-server安装不会失败。自定义待管理的集群的名称。
2024-11-01 12:20:35
1206
原创 基于DMASM镜像的DMDSC共享存储集群部署
#通过修改 grub 配置,在 “GRUB_CMDLINE_LINUX=” 配置参数结尾加入 “transparent_hugepage=never”,可以永久关闭透明大页内存。将obs3上初始化库时产生的DSC1节点的配置文件(整个/dm/dmdsc/DSC1文件夹)复制到ocp机器的/dm/dmdsc/DSC1/目录下。与普通DMDSC环境相比,镜像环境中的DCR_DISK_LOAD_PATH不再指向具体的磁盘,而是DCRV磁盘所在的目录/dev_DSC_HDD。
2024-07-26 21:27:01
648
原创 基于DMASM的DMDSC共享存储集群部署
参考达梦官方文档:https://eco.dameng.com/document/dm/zh-cn/ops/DSC-installation-cluster.html#%E4%B8%80%E3%80%81%E4%B8%A4%E8%8A%82%E7%82%B9%20DSC%20%E9%9B%86%E7%BE%A4%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2。如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。
2024-07-25 17:45:32
1158
原创 encryption_method与hba中的method的相容性
如上所释,在这种情况下,指定的认证方法md5将自动切换到使用scram-sha-256方法,如果口令使用md5设置加密,那么它仅能用于md5和password认证方法说明(同样,后一种情况中口令以明文传输)。G为了简化从md5方法到新的SCRAM方法的转换,如果在pg_hba.conf中将认证方法设置为md5,但服务器上用户的密码是SCRAM 加密的,PG会自动选择基于SCRAM的认证,这样就给到了一个过渡时间。encryption_method与hba中的method的相容性。
2024-05-24 09:48:56
293
原创 达梦数据库dm8守护集群部署手册
注: MAL_HOST与MAL_INST_HOST在生产环境下要设置不同网卡不同IP地址,MAL_HOST用于对外服务地址,MAL_INST_HOST用于集群间的心跳通讯、数据同步。##通过修改 grub 配置,在 “GRUB_CMDLINE_LINUX=” 配置参数结尾加入 “transparent_hugepage=never”,可以永久关闭透明大页内存。对应 MAL_HOST,PORT 对应 MAL_DW_PORT。对应 MAL_HOST,PORT 对应 MAL_DW_PORT。
2023-12-08 16:14:11
3023
转载 PostgreSQL SQL执行流程
如像checkpoint进程,bgwriter进程,wal writer进程,autovacuum laucner进程,stats collector进程以及archiver进程等。PG是基于进程架构的,因此每个用户请求在后台都有一个专门的backend进程与之对应。除此之外,postmaster 还负责监听用户请求,将用户请求从监听端口中接收过来,fork出一个postgres进程,专门负责处理用户SQL语句。Main是整个后台的入口,基本上不处理任何逻辑,只是简单的分发处理逻辑。
2023-08-08 17:12:22
843
原创 postgresql数据库表膨胀之pg_repack安装及使用
pg_repack是一个可以在线重建表和索引的扩展。它会在数据库中建立一个和需要清理的目标表一样的临时表,将目标表中的数据COPY到临时表,并在临时表上建立与目标表一样的索引,然后通过重命名的方式用临时表替换目标表。环境:一、部署pg_repack--解压编译total 36--所在数据库安装pg_repack扩展(0 rows)(7 rows)--查看pg_repack包含的函数(26 rows)
2023-08-03 16:37:27
986
原创 postgresql表膨胀处理之pgcompacttable部署及使用
如果是源码安装的postgresql,则源码里包含了postgresql-contrib,因此,进行编译及安装即可。安装前需要安装pgstattuple插件,因为要基于该插件去查找膨胀的表,所以如果有大表的情况下,因为pgstattuple会扫全表,所以会比较耗时,这个在使用的时候一定要注意一下。从表的头部填充新的行,在普通vacuum时候,截断表末尾的空page,达到收缩空间的效果。不需要占用额外的空间,使得表文件更加紧凑。活的元组的总长度,以字节计。死的元组的总长度,以字节计。空闲空间总量,以字节计。
2023-08-03 16:36:06
1898
原创 使用goldengate 迁移Oracle到postgresql
2.7添加extract进程 抽取进程:负责抓取需要传输的数据(添加进程的时候为抽取点,而不是启动进程的时候) 从21开始OGG需要配置tns #查看当前数据库语言 SQL> select userenv('language') from dual;Driver=/postgresql/ogg/lib/GGpsql25.so #OGG安装目录下有内置ODBC驱动。mgr进程是这些进程的管理和守护进程,目标端的mgr进程还与源端进行通信。三、安装和配置OGG软件(目标端),以下操作都是在目标端操作。
2023-07-26 20:45:22
1749
原创 使用ora2pg 迁移oracle12.2到postgresql14.6
导入数据的sql默认是最后提交commit,如果前面的事务INSERT失败,后面的都会失败,所以可以在每个insert事务后面添加commit,这样保证每个事务的提交是独立的,即使报错也不影响其他事务数据的提交。默认情况下,Ora2Pg会查找/etc/ora2pg/ora2pg.conf配置文件,如果文件存在,只需执行:/usr/local/bin/ora2pg,也可以通过-c选项指定配置文件路径,如:ora2pg -c ~/ora2pg/config/ora2pg.conf。
2023-04-21 16:48:09
1940
转载 Data Blocks, Extents, and Segments
【代码】Data Blocks, Extents, and Segments。
2023-04-21 16:38:37
156
原创 dbms_metadata.get_ddl 的使用方法总结
set line 200set pagesize 0set long 99999set feedback offset echo off1)获得表、索引、视图、存储过程、函数的DDLselect dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;selec
2022-04-26 23:37:10
907
原创 关于centos6.8下Oracle11gRAC 设置本地归档目录,并配置nfs共享目录rman备份
1、修改目录将两个节点的归档修改到本地文件系统下节点1归档到/arch1节点2归档到/arch22、创建本地目录节点1:#mkdir -p /arch1#chown -R oracle:oinstall /arch1#chown -R 775 /arch1节点2:#mkdir -p /arch2#chown -R oracle:oinstall /arch2#chown -R 775 /arch23、修改归档(任一节点操作)SQL>alter system se
2021-12-15 15:04:00
1758
原创 使用rman备份到挂载的NFS目录,提示ORA-19504-27054报错
一、在AIX5.3下挂载NFS后,手动运行Oracle10g rman备份脚本1、报错信息如下:RMAN-03009: failure of backup command on ch1 channel at 05/08/2021 14:07:05ORA-19504: failed to create file "/rmbackup/bak_20140505_7fp7hu6o_1_1"ORA-27054: NFS file system where the file is created or
2021-10-16 12:36:39
1136
原创 aix5、aix6挂在本地ISO镜像方法
一、IBM AIX 5.3环境里挂载ISO文件步骤如下:1.创建一个LV,这个LV容量至少要大于ISO的容量.# mklv -y aix5312lv rootvg 102.使用dd命令将ISO文件写入LV#dd if=/software/aix5312.ISO of=/dev/aix5312lv bs=2M3.创建挂载点,也就是mount目录#mkdir /aix53124.挂载cdrfs#mount -rv cdrfs /dev/aix5312lv /aix5312..
2021-08-31 16:14:36
913
生成树协议配置的相关内容及参数介绍
2010-10-26
redhat/centos6.9 kmod-oracleasm/oracleasm-support/oracleasm rpm包
2023-03-07
oracle SQLplus命令集锦
2013-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人