自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(193)
  • 收藏
  • 关注

原创 pg的mvcc机制

如果回卷前,比较事务id大小即可知道先后顺序,如果发生了回卷,小的id可能比大的id更时间靠后。解决回卷的问题,最早和最新的事务最多差231,超过就会把旧事务换成特殊的事务id,也就是FrozenTransactionId=2,冻结的事务id,再做比较,就会认为正常的事务id比冻结的id更新。所以数据库系统第一个正常的事务ID是从3开始的,然后连续递 增,达到最大值后,再从3开始。第一种:写新数据时,把原数据移到一个单独的位置,如回滚段中,其他用户读数据时,从回滚段中把原数据读出来。

2024-04-25 09:22:05 694

原创 pg的两阶段提交

3.各台数据库收到prepare transaction命令后,返回成功,数据库将自己处于如下状态:确保后续被要求commit、rollback的时候可以commit和rollback,2.事务协调器,连接每台数据库,通知他们准备提交(第一阶段的开始),pg中一般是调用。5.在第二阶段,如果有的数据库第一阶段失败,则事务协调器会发送回滚命令“1.各台数据库做操作,不提交事务。应用程序调用事务协调器中的提交方法。如果数据库无法完成此事务,它会直接返回失败给事务协调器。4.事务协调器接收所有数据库的响应。

2024-04-25 09:16:51 406

原创 pg用户、角色、权限

INHERIT|NOINHERIT:如果创建的用户拥有某个或某几个角色,这时若指定INHERIT,则表示用户自动拥有相应角色的权限,否则该用户没有相应角色的权限。·IN ROLE role_name [,...]:指定用户成为哪些角色的成员,请注意,没有任何选项可以把新角色添加为管理员,只有使用独立的GRANT命令才行。·LOGIN|NOLOGIN:创建出来的用户是否有LOGIN权限,可以临时禁止用户的LOGIN权限,此时用户无法连接到数据库。当然只有超级用户才能创建超级用户。

2024-04-25 09:14:29 411

原创 sql server非域控alwayson搭建

Power Shell 脚本: New-Cluster -Name hzmc.noad.com -Node WIN-150,WIN-151,WIN-152 -StaticAddress 192.168.238.153 -AdministrativeAccessPoint DNS(需要修改的,具体情况具体分析,跑之前记得确认前面改完机器名有没有。既然节点没有加入域,那么就不能用域认证,只能用证书认证,因此需要创建证书和端点。节点上都添加一个用户,且用户名以及密码每个节点都一致(在计算机管理里设置)

2024-04-18 16:41:33 635

原创 oracle rac节点重构(增删节点)的常见报错

跑addNode.sh过程中一般会碰到2个常见报错。PRKC-1025 : Failed to create a file under the filepath /oracle because the filepath is not executable or writable 。Exception java.lang.OutOfMemoryError: Java heap space occurred.. java.lang.OutOfMemoryError: Java heap space

2024-04-18 15:11:49 403

原创 oracle gpnp介绍

功能是保存需要访问的gpnp profile文件的客户签名信息,当客户访问gpnp profile时通过wallet中的签名信息进行验证,确保只有指定的客户能访问profile文件。如果本地的gpnp profile丢失,可以通过OLR中的信息重新构建gpnp profile。gpnp profile中部分信息是集群信息(集群名称、公网私网定义等等),那么这些信息改变后,如何实现信息的同步?表示集群的私网信息。1)将集群的基本配置信息保存在本地,以便在启动集群时能够从本地文件中获得足够的信息,而。

2024-04-16 17:45:41 1256

原创 oracle control file sequential read处理

从异常时间点和正常时间点AWR中对比control file 相关evvent waits和IOStat by Filetype summary, 发现正常时1小时也有800多万次wait,但是平时AWR 控制文件读avg time为300 us, 所以判断问题时是I/O 比平时慢了。(block#) 40 * (confile file block size) 16k/ (_asm_stripewidth) 128k=5. 第1条带的第5个AU 上,第1个128k.

2024-04-16 09:00:00 385

原创 pg-源码方式本地升级,装高版本make失败

大概率是之前编译过程留下的状态,导致后续编译失败。清理之前的编译结果,然后重新开始编译过程。

2024-04-15 10:05:51 150

原创 pg-本地升级完跑收集统计信息脚本失败

因为服务还没起来pg_ctl start -D /pg/pg13/data。

2024-04-15 10:03:43 288

原创 ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O(添加asm磁盘,rebalance)

添加磁盘的时候碰到的,rebalance到最后,时间0,但是就没成功,asm日志报错了。等待,大约20+分钟才成功。不需要重启集群和实例。

2024-04-12 12:05:42 306

原创 ORA-24001: cannot create QUEUE_TABLE, SYS.KUPC$DATAPUMP_QUETAB_1 already

5、到此没有无效组件,如果有,重启实例,继续报错。2、删除datapump queue表。无效对象中有datapump组件。

2024-04-12 11:57:10 207

原创 ORA-00445:backaround process “w000“ did not start after 120 seconds

在oracle中,多个进程共享相同地址的共享内存,特别是父进程派生出子进程的时候,父进程告诉子进程的内存对象地址,应该是一致的。启用了ASLR,如果是不同的进程读取,就会给随机的offset偏移量,导致不同的进程,即使是同一个对象,得到的地址是不同的。linux系统有个内核新特性ASLR,是一种针对缓冲区溢出的安全保护技术, 内存地址随机化机制,当内存不足的时候就会出现预警,查看数据库服务器发现64G内存紧张时只剩几百兆,结论为数据库内存不足时导致数据库hang住,无法处理新的进程,导致卡住。

2024-04-12 11:50:53 519

原创 sql server Alwayson查看传输进度

log_send_rate:主副本实例在上一个活动期间(kb (KB)。log_send_queue_size:主数据库中尚未发送到辅助数据库的日志记录量 (KB)。redo_queue_size:辅助副本的日志文件中尚未重做的日志记录量 (KB)。redo_rate:在给定的辅助数据库上重做日志记录的平均速率(kb (KB)。在给定的辅助数据库上重做日志记录的平均速率(kb (KB)。主数据库中尚未发送到辅助数据库的日志记录量 (KB)。辅助副本的日志文件中尚未重做的日志记录量 (KB)。

2024-04-11 14:17:52 166

原创 TiDB-Binlog的使用及缩容

TiDB-Binlog的使用及缩容

2024-04-11 10:32:49 401

原创 TiDB-Binlog的部署方法

先自己br同步,然后指定tso进行应用。

2024-04-11 10:30:11 439

原创 TiDB-Binlog的适用场景

tidb到mysql、tidb、kafaka、binlog直接存储(relay log) 等等等等。多个pump分散抽取tidb的binlog,drainer合并抽取的binlog,发送给下游。3.将binlog提供给drainer,由drainer合并,提交给下游。2.每个pump只存上游的部分binlog,并且在自己这排序,pump存在高可用性,drainer(只有一个)没有。并不是只记录sql语句,而是参与的行的变更都会记录。1.是集群,非单个,高可用,可扩展。回滚的不记录,只记录提交的。

2024-04-11 10:29:34 114

原创 OceanBase转储个人理解

转储的概念就是做小版本冻结(minor freeze),冻结memtable(frozen memtable)直接flush为mini sstable,mini sstable个数由minor_compact_trigger参数决定,冻结memtable(frozen memtable)被清空重用。mini sstable写到minor sstable里,每次转储会将memtable数据与前一次转储的数据合并(merge),转储文件最终合并到sstable中。数据层级多,查询链路长,查询性能下降。

2024-04-10 09:15:00 302

原创 TiDB-TiCDC的使用方法

-soft-engine capture进程读取changelog,并且本地排序,排序过程在内存、本地、先内存,不够了在本地,分别对应memory/file/unified。④ 报错——正常 执行changefeed resume恢复,并且也会自己一直尝试推进,直至normal。⑦ 暂停——失败 停滞时间超过gc-ttl设置的时长,从暂停(stopped)转为failed,不可恢复。⑧ 报错——失败 自动恢复过程中发生不可恢复的错误。⑥ 正常——完成 达到预设的tso,同步自动停止。

2024-04-10 09:00:00 1109

原创 TiDB-TiCDC适用场景、部署方法

每个tikv都会有changelog,ticdc的capture组件会读取changelog,并且在本地排序,排序完后,这个ticdc会把changelog传送给owner的ticdc,由。------索引汇总不存在虚拟生成列(virtual generated columns)2.只能同步最少存在一个有效索引的表(简单来说,就是要有。3.不支持单独使用rawkv的tikv,必须是整个数据库。------索引每一列在表结构中明确定义非空。mysql、tidb、卡夫卡、。-满足下列条件的唯一索引为有效索引。

2024-04-10 08:45:00 339

原创 TiDB-Data Migration(DM)扩容、缩容、销毁

tiup dm display dm-testtiup dm scale-in dm-test -N 172.31.0.175:8262编辑扩容配置文件,加入一个worker节点vi dm-scale.yamlworker_servers: - host: 172.31.0.175使用扩容配置文件进行扩容tiup dm scale-out dm-test dm-scale.yaml -uroot -p再次查看状态tiup dm display dm-test 成功停止tiup dmctl --master

2024-04-09 09:03:45 142

原创 TiDB-Data Migration(DM)使用方法

filter-rules: ["store-filter-rule", "sale-filter-rule"] # 应用于该数据源的 binlog event filter 规则。block-allow-list: "log-bak-ignored" # 应用于该数据源的 Block & Allow Lists 规则。extra-args: "--consistency none" # dump 处理单元的其他参数,不需要在 extra-args。

2024-04-09 09:02:16 1064

原创 TiDB-Data Migration(DM)适用场景、部署

Dm worker对上游数据源是一对一的,其中一个dm worker出问题,free的会顶上去。Dm master做管理,调度。如果有10个分片,那起码要11个worker。1.兼容mysql迁移同步数据,全量+增量。worker数据量要大于源实例。Tidb5.4后支持gbk字符集。3.源端、目标端异构表同步。2.分表分库合并同步。大于等于10.1.2。

2024-04-09 09:00:54 312

原创 pg mvcc(以及clog)

如果回卷前,比较事务id大小即可知道先后顺序,如果发生了回卷,小的id可能比大的id更时间靠后。解决回卷的问题,最早和最新的事务最多差231,超过就会把旧事务换成特殊的事务id,也就是FrozenTransactionId=2,冻结的事务id,再做比较,就会认为正常的事务id比冻结的id更新。所以数据库系统第一个正常的事务ID是从3开始的,然后连续递 增,达到最大值后,再从3开始。第一种:写新数据时,把原数据移到一个单独的位置,如回滚段 中,其他用户读数据时,从回滚段中把原数据读出来。

2024-04-08 15:38:22 862

原创 tidb-sync-diff-inspector(2)(数据校验)部署、使用

schema-pattern = "test" # 匹配数据源的库名,支持通配符 "*" 和 "?table-pattern = "table-[1-2]" # 匹配数据源的表名,支持通配符 "*" 和 "?table-pattern = "table-3" # 匹配数据源的表名,支持通配符 "*" 和 "?table-pattern = "table-*" # 匹配数据源的表名,支持通配符 "*" 和 "?# 如果开启,若表存在不一致,则输出用于修复的 SQL 语句。

2024-04-08 13:55:19 798

原创 tidb-sync-diff-inspector(1)(数据校验)概念、适用场景

5.比对源端和目标端的chunk切片的校验核checksun(类似md5),如果某个chunk的校验核不一样,trunk拆分开,再次校验,以此类推(二分法),直到一个比较小的范围,然后逐条比较。并进行检查点存储,每10秒进行记录一次,防止sync-diff-inspector异常宕机,下次继续,可以直接从检查点继续。sharding参数,默认会去比对分片,想比较test1.haha1和test2.haha2,会自动把test2.haha2也拉进来一起和目标端比。

2024-04-08 13:53:51 308

原创 oracle重启节点的OCSSD无法重新加入集群

node 2, , has a disk HB, but no network HB, DHB has rcfg 220023549,wrtcnt gipchaLowerProcessNode: no valid interfaces found to node for 16010 ms [GIPCDMON][4080068352] gipcdMonitorSaveInfMetrics: inf[ 0] eth4 - rank 0, av

2024-04-07 10:35:10 437

原创 oracle gipcmodNetworkProcessBind: slos dep : Address already in use (98)

gipcmodNetworkProcessBind: slos dep : Address already in use (98) gipcEndpoint : localAddr 'mcast://224.0.0.251:42424/192.168.0.1 --> 42424 is the port

2024-04-07 10:12:08 481

原创 tidb-备份恢复技术的比对与选择

备份时可读写,备份速度快,适合大数据量的数据。备份集可读,可做异构恢复,备份速度较慢。数据量比较小,用逻辑备份。主库可运行,逻辑备份。

2024-04-07 09:30:00 98 1

原创 tidb-物理备份(2)-BR部署、使用

-ratelimit 128M/s 每个 TiKV 执行恢复任务的速度上限(单位 MiB/s)确认前一份的lastbackupts,位置也是前一份的位置(全备or增量)--storage s3是亚马逊外部存储,也可以本地存储。必须先有个全备,和上面一的备份一样。增量放的位置不要和之前的备份放一起。

2024-04-07 09:15:00 896

原创 tidb-物理备份(1)-BR概念、适用场景

a为BR备份源端,b为BR恢复目标端(ticdc的源端),c为ticdc的备库。聚簇索引(tidb_enable_clustered_index)版本兼容问题(check-requirements)3.不推荐多个br备份、恢复同时进行。全局临时表(BR v5.3.0)3.tikv到外部存储各取所需。2.不提供业务使用的环境恢复。1.br找pd(元数据)3.备份到本地/外部存储。1.br找pd(元数据)

2024-04-07 08:45:00 186

原创 oracle plsql工具获取awr报告

不要用plsql里的导出成html,直接复制出来到txt,然后改html即可。4个值,第一个dbid,第二个不管,最后2个snapid。

2024-04-06 13:44:55 158

原创 oracle rac traceroute规律性丢6个包

oracle rac traceroute规律性丢6个包 1 * * *2 * * *3 * * *4 * * *5 * * * more /etc/resolv.conf

2024-04-06 13:27:30 260

原创 oracle添加列(极速版)

改完后,后续的新行,该列值都自动有了,但是老的还是null的,如果想加not null约束,需要把老的null值全update掉。AND table_name = 'YOUR_TABLE_NAME' -- 替换为你的表名。WHERE owner = 'YOUR_SCHEMA' -- 替换为你的模式名。NOVALIDATE是暂时抛开约束(这里是not null)加快执行。在线重定义(我感觉稳妥,就是麻烦)(

2024-04-03 11:32:58 1437

原创 oceanbase ERROR 1235 (0A000): tenant primary zone span regions when GTS is on not supported

创建租户的时候的报错,主要问题是,primary zone必须是同个region,我zone1 2是一个region,zone3是一个region。

2024-04-03 09:15:32 482

原创 pg index-only scans散记

为加快vacuum清理速度,并且降低对io的影响,pg8.4.1之后为每个数据文件夹了"xx_vm"文件,称为可见性映射表文件,简称VM文件。,如果可见,就不同访问行来判断可见性了。这种查询的执行计划被称为index-only scans。不用再去表上查一遍了。而pg9.2之后通过可见性映射表(visibility map)(xx_vm)。如果对部分事务可见,部分不可见,那也会是index-only scans。pg索引上没有mvcc信息,即使select的列全是索引列,pg9.2之前,也要去表上查一次。

2024-04-03 09:12:22 252

原创 pg重启服务报错无权限

建议给data路径 770或者750权限,我给了777权限,反而不行。

2024-04-01 10:31:55 250

原创 tidb-逻辑备份(7)-分库分表合并

target-table 目标端表名。table-pattern 原始表名。target-schema 目标端库名。schema-pattern 原始库名。

2024-04-01 10:29:46 108

原创 tidb-逻辑备份(6)-lightning导入工具的部署、使用

服务器宕机之类的,可以通过断点续传继续,但是如果数据因不可恢复的错误报错,重启时不会使用断点,会直接报错离开。# 2. 考虑到与旧版本的兼容性,依然可以在本配置项设置 `true` 和 `false` 两个布尔值,其效果与 `required` 和 `off` 相同。从 v4.0.8 开始,checksum 的默认值由此前的 "true" 改为 "required"。# 若 driver = "mysql",此参数为数据库连接参数 (DSN),格式为“用户:密码@tcp(地址:端口)/”。

2024-04-01 10:28:44 697

原创 tidb-逻辑备份(5)-lightning要求、并行

建议单独配置lightning,因为有多少cpu就跑满多少。混合部署设上这个参数。

2024-04-01 10:25:20 122

原创 tidb-逻辑备份(4)-lightning工具导入的场景

读取dump,转成键值对,存在本地临时文件,排序好。连库,跑sql,可追加导入,允许表内有数据。只支持亚马逊的aurora parquet。刚装完,没建库,不跑业务,全力导入,快。速度慢,可追加导入,支持同时业务使用。专门tidb之间的逻辑导入导出。连库导入,就是直接执行sql。不连库,直接向tikv导入。不连库,直接向tikv导入。5.4之前不能导入gbk。检验完,统计信息收集、无法正常对外提供服务。

2024-04-01 10:24:30 227

oracle监控oswatch详细使用教学

oracle监控oswatch详细使用教学

2024-01-29

个人整理,oracle访问路径(全表扫描、回表、索引范围扫描等等)

个人整理,oracle访问路径(全表扫描、回表、索引范围扫描等等)

2023-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除