- 博客(274)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注

原创 oracle自动化巡检报告
作为dba,有时候我们会遇到大量的巡检工作,之前我们都是手动去给客户做巡检,一般都是通过awr、ash等生成一些巡检报告,那么面对如此重要但是很繁琐的工作,如何才能提高我们的巡检效率,或者换句话说有什么工具可以自动完成巡检工作 并且生成漂亮的巡检文档呢,基于以上因素,自己尝试使用go自己写一套oracle自动巡检报告,于是在利用自己闲暇时间,历经2个多月的时间,终于完成了一般巡检报告,这里我暂时称作oracle自动巡检v1.0版本,使用的语言是go语言其中使用gohtml、gocharts等工具,具体的就简
2022-06-14 11:06:26
1320
1
原创 ORA-31626 ORA-31637 ORA-6512 ORA-39080 ORA-4021 ORA-6508 Errors from Data Pump Export
于是按DBMS_AQADM_SYS AQ$_QUEUES AQ$_QUEUES_TABLES 这几个关键词检索,突然发现几个关键信息。于是抱着试试的态度,查找是不是有名称system的同义词,结果发现数据库里面确实有个叫system的同义词。但是试了无效,但是问题原因大致知道了,一定是系统某些试图或者package出现了问题。于是把上面的system 同义词删除之后,再次执行expdp ,一切都ok。mos上找了相关报错信息,试了几种方式,比如重建datapump。
2024-05-14 00:08:25
282
原创 TiDB 利用binlog 恢复-反解析binlog
另外reparo 支持print 和mysql 两种模式,print只做解析打印到标准输出,不执行 SQL,mysql:是直接再下游数据库执行SQL。我们知道TiDB的binlog记录了所有已经执行成功的dml语句,类似mysql binlog row模式。至此完成将数据重新插入到业务库里面,即可完成恢复。
2024-04-29 15:59:40
521
原创 PRVF-4007 : User equivalence check failed for user “grid“
一开始以为是ssh互信做的有问题,于是仔细的检查了一下,发现没有问题,于是又重新做了一次ssh互信,发现还是不行。于是官网上查了一下,好像是和openssh版本太高有关系。redhat7.9 搭建RAC的时候,执行命令检查。再次执行发现校验就通过了。
2024-01-24 11:41:18
538
原创 redis集群密码认证
注意这里config rewrite 是将密码写入到redis.conf 里面,如果不执行改步骤,那么下次重启redis之后需要重新添加密码认证。1.如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志。这时候查看7001 端口的redis.conf 会自动加了下面两行。2.各个节点的密码都必须一致,否则Redirected就会失败。第一种方式:修改配置文件。第二种方式:使用命令。
2023-12-05 11:18:38
360
原创 MySQL limit导致索引选择(选择的并不是最佳索引)案例分析
2.SQL 中必须有 order by limit 从而引导优化器尝试使用 order by 字段上的索引进行优化,最终因代价问题没有成功。1.优化器先选择了 where 条件中字段的索引,该索引过滤性较好;字段上的索引进行优化,最终因代价问题没有成功。也就是上面看到的执行计划里。可以选择过滤性好的索引。
2023-12-05 11:08:02
589
原创 MySQL-含json字段表和与不含json字段表查询性能对比
其中20200729json_test 标准ID、MANAGER_NO、PHONE_NO 为非json字段。EP_USER_PICTURE_INFO_2:不含json字段表。2个表中MANAGER_NO、PHONE_NO都创建了各自的索引。20200729json_test:含有json字段表。含json字段表和与不含json字段表查询性能对比。2、带条件查询(不包含json字段)3、含有json字段查询对比。4、只包含json字段查询。data为json字段。给非json表加索引。
2023-12-05 11:03:32
1085
原创 MySQL frm 解析利器-mysqlfrm
sku_name` varchar(255) COLLATE `utf8mb4_general_ci` NOT NULL comment '货品八位码名称',`sku_code` varchar(16) COLLATE `utf8mb4_general_ci` NOT NULL comment 'sku编码',`gri_code` varchar(16) COLLATE `utf8mb4_general_ci` NOT NULL comment '货品五位码',
2023-07-17 10:43:59
1248
原创 mysql check slow_log造成锁-waiting for table level lock
结论:在做check table的时候 要把slow log 关闭,不然就会出现今天遇到的这种情况,有的时候我们执行一些操作需要在经过认证之后才可以,不然很容易踩坑。我们在生产环境使用mysql的时候开启了slow_log 记录表,但有的时候由于记录数据过大,造成该表损坏。于是kill掉执行操作,发现回滚特别慢,最后在生产环境下我们做了主从切换,才避免了一次严重 的生产事故。1.先执行check table ,再关闭慢查日志。2.先关闭慢查日志 在做check table。
2023-07-11 09:39:20
370
原创 flask +vue3 cas 单点登录(sso)
大致逻辑就是,假如后端判断统一认证不通过,则前端通过 window.location.href = res.data.toString();1.通过平台登录之后 调用子系统的时候 就直接把ticket 带过来,然后后端通过ticket来验证,获取到用户信息,登录成功。2.不通过平台 登录,直接登录子系统,这时候子系统会跳转到 统一认证界面,然后输入账号密码,点击登录 ,会把ticket 传给子系统,子系统再做验证。这是针对vue3+flask 做的单点登录的配置情况,如果有更好的方法,还请指教。
2023-07-03 13:21:11
1558
原创 使用kafka connect结合debezium的方式采集oracle数据,如何配置连接器的信息呢?
之前也写过关于debezium采集oracle 的一些内容,但是没有提及到kafka-connector 如何去配置,是为了让相同的连接器下的所有表都放在一个topic下,而如果不加这段配置,那么默认就会每个表生成一个topic。这里就贴一下我的一些配置信息。
2023-06-02 09:02:06
371
原创 debezium oracle-cdc :CREATE TABLE <table> AS select <column list> FROM <other> is not supoort
当表使用:CREATE TABLE AS select FROM java.lang.NullPointerException at io.debezium.connector.oracle.xstream.XStreamChangeRecordEmitter.getColumnValues(XStreamChangeRecordEmitter.java:59)
2023-05-24 16:20:51
484
1
原创 mysql8.0性能对比以及新特性
那么这时候对于测试表中的’小张’用户来说,有两条create_date完全一样的数据那么在row_number()编号的时候,这两条数据却被编了两个不同的号理论上讲,这两条的数据的排名是并列最新的。dense_rank()的出现是为了解决rank()编号存在的问题的,rank()编号的时候存在跳号的问题,如果有两个并列第1,那么下一个名次的编号就是3,结果就是没有编号为2的数据。并且这些操作都是原子性的,表示中间过程出现错误的时候,是可以完整回退的。还是同样的表,看看下面的查询。
2023-05-06 17:03:24
1461
1
原创 flink cdc oracle xstream报错:oracle.jdbc.OracleDatabaseException: ORA-00942: 表或视图不存在
如果还是不行可以在加上'debezium.database.out.server.name' = 'DBZXOUT1'原来flink cdc oracle的时候默认使用的logminer,如果想使用xstream 需要加上。在研究flink cdc oracle 的时候,想使用oracle xstream 抓取源端数据,DBZXOUT1就是配置xstream 中CREATE_OUTBOUND的server_name。后来根据flink FAQ 查找。
2023-03-30 13:03:30
854
1
原创 oracle 创建job两种方法
目前支持三种类型:PL/SQL块: PLSQL_BLOCK,存储过程: STORED_PROCEDURE,外部程序: EXECUTABLE (外部程序可以是一个shell脚本,也可以是操作系统级别的指令)job_action:根据job_type的不同,job_action有不同的含义,这里我们指定的是存储过程类型,这里就写的是相对应的存储过程名字。job_name:顾名思义给job起个名字,相比较用dbms_job创建job使用数字代表job,schedule_job更具可读性。comments:备注。
2023-01-12 11:16:35
7317
原创 sql server查询中文乱码问题解决
加N前缀指定后面的字符串为UNICODE常量, SQL Server 的 Unicode 数据类型是基于 SQL-92 标准中的国家字符数据类型。中文乱码的问题,在mysql或oracle中也经常遇到基本上都会字符集设置有关系,那ms server如何解决呢?有没有更加简便的方法呢?在使用Navicat Premium 连接ms server,查询文件使用情况的时候,发现中文出现乱码。带者上面的疑问,有没有不改字符集的方式更方便解决乱码的问题了吗?说白了还是字符集的问题,只不过这里将。
2022-12-14 14:49:03
6398
原创 gopsutil 下调用disk.IOCounters 报错:The system cannot find the file specified
利用golang对windows server做监控,采集磁盘 、网络、CPU、内存等监控数据。
2022-12-09 09:55:04
807
原创 MySQL自动化巡检报告-v1.0
作为dba,有时候我们会遇到大量的巡检工作,之前我们都是手动去给客户做巡检,那么面对如此重要但是很繁琐的工作,如何才能提高我们的巡检效率,或者换句话说有什么工具可以自动完成巡检工作 并且生成漂亮的巡检文档呢,基于以上因素,自己尝试使用go自己写一套mysql自动巡检报告,于是在利用自己闲暇时间,终于完成了一般巡检报告,这里我暂时称作mysql自动巡检v1.0版本,使用的语言是go语言其中使用gohtml、gocharts等工具,具体的就简
2022-10-31 15:51:05
950
2
原创 Linux资源管理之cgroups 初窥-简单测试
Linux Cgroups 的设计还是比较易用的,简单粗暴地理解呢,它就是一个子系统目录加上一组资源限制文件的组合。而对于 Docker 等 Linux 容器项目来说,它们只需要在每个子系统下面,为每个容器创建一个控制组(即创建一个新目录),然后在启动容器进程之后,把这个进程的 PID 填写到对应控制组的 tasks 文件中就可以了。
2022-10-26 10:21:38
870
原创 pt-archiver 遇到特殊字符 --表情包报错(LOAD DATA LOCAL INFILE)--修正版本
pt-archiver 归档遇到特殊表情包 报错
2022-10-25 10:53:20
1491
原创 (tidb)将kafka数据落库
tidb可以通过drainer 抽取数据同步到kafka,那么有的时候我们需要对kafka 中的数据进行落库操作,这时候需要怎么处理?我们想到的就是通过消费kf 然后把数据往数据库里插入,那有更加方便的方法吗,这里就介绍tidb 提供的。数据就会同步到对应的数据库中去,这里要注意的地方是 数据库和表要提前创建好,不然会提示报错。编辑arbiter.toml。工具来实现上述的功能。填上对应的信息即可。
2022-10-19 16:41:10
614
原创 pt-archiver 遇到特殊字符 --表情包报错(LOAD DATA LOCAL INFILE)
在使用pt-archiver工具对mysql 表进行归档操作的时候,有时候会遇到特殊表情,比如emoji表情等情况,这时候如何去处理。
2022-10-17 10:31:49
1275
1
原创 SQL Parse:对SQL文件进行指纹输出
golang mysql 慢日志解析工具_雨丶花丶石的博客-优快云博客之前做了一个mysql slowlog的解析工具,那么有时候需要将慢查询进行入库,然后进行分析、或者制作报表、趋势图等;
2022-10-11 11:19:41
1483
1
原创 golang mysql 慢日志解析工具
我们知道mysql慢日志解析工具有很多种,比如我们常用的mysqldumpslow、pt-query-digest等,这些都是比较有效的解析工具,今天介绍的是基于go写的一款实时解析日志工具以上就是使用golang 实现mysql 慢查日志解析的工具,当然后面可以把慢查日志落入表里,实现慢查日志中心库,这个功能后面继续实现。
2022-09-20 11:15:17
801
原创 python 将Excel导入到oracle
实现功能:指定数据库连接信息->指定要导入的文件路径->指定要导入的表->动创建表->将execl文件导入到表里面。使用语音:python。
2022-09-08 09:51:26
1796
原创 oracle 简易客户端上使用rman
在$ORACLE_HOME/rdbms/admin 下将recover.bsq复制到客户端对应的目录下。在$ORACLE_HOME/rdbms/mesg 下将rmanus.ms*复制到客户端对应的目录下。在$ORACLE_HOME/bin下面 把rman复制到客户端对应的目录下。下面介绍,不需要安装oracle software的情况下,使用rman。在我们安装简易客户端上之后,想使用rman工具,这时候怎么办,找台已经安装好的带有rman的oracle 的机器。
2022-08-24 11:47:36
708
原创 tidb在使用pt-archive工具进行归档过程中,删除数据和插入数据问题不对等,
tidb在使用pt-archive工具进行归档过程中,删除数据和插入数据问题不对等,测试场景一:--bulk-insert --bulk-delete && i=created_date_channel。最终结果是源端删除了1076706条数据,目标端插入了1076672,最终归档结果是归档数据丢失了34条数据。tidb在使用pt-archive工具进行归档过程中,删除数据和插入数据问题不对等,在源端查询这34条数据中取.........
2022-08-11 17:12:06
729
mysql 慢查日志实时解析工具
2022-09-20
Oracle 12c Active Data Guard Far Sync
2018-04-11
oracle DG(搭建+swithover+failover(flashback恢复)+broker(fsfo)
2017-02-17
failover dg 恢复
2016-11-08
python dg 监控
2016-11-08
truncate 表恢复
2016-11-08
dbca和netca
2016-11-08
sql server 2008 移植到oracle11g
2016-07-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人