通过shell脚本添加备库日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 今天下午的时候,准备顺手写一个简单的脚本,但是发现很多事情较真起来真是寸步难行。在写脚本的过程中碰到了太多的问题,很多时候感觉像要实现的功能更通用,就得做更多的检查,更多的校验也就意味着有更多的预先条件,这些条件里面有些是规范和建议,有些是按照已有的配置情况,尽管如此,自己感觉还是缺少了太多的检查。
今天下午的时候,准备顺手写一个简单的脚本,但是发现很多事情较真起来真是寸步难行。在写脚本的过程中碰到了太多的问题,很多时候感觉像要实现的功能更通用,就得做更多的检查,更多的校验也就意味着有更多的预先条件,这些条件里面有些是规范和建议,有些是按照已有的配置情况,尽管如此,自己感觉还是缺少了太多的检查。
  先来说说今天尝试的简单脚本,就是给主库添加standby logfile,这个需求听起来非常简单,都甚至在我的半自动化脚本中隐去了,但是把这个需求要落到纸面上来,简直了。
首先这个需求会涉及到下面的几个数据字典。

V$LOGFILE里是最全的信息,可能有online logfile或者standby logfile,V$LOG里面是在线日志的信息,V$STANDBY_LOG里面是备库日志的信息。
要添加备库日志,有很多的场景,比如已有了备库日志,那样的话是在已有的基础上添加,如果没有则需要按照建议的树目来添加,而添加的备库日志组成员是1个还是2个,这个不同的系统可能会差别很大,可以在v$logfile里面查看。
而如果日志组参差不齐,同一个数据库有的日志组有1个成员,有的有2个成员,这种情况如果判断,难度又得加大,而这个部分我是直接跳过了,因为这个得按照规范来,而不是脚本来满足这种特殊的场景。所以就如同我在开始所说的那样,很多预备条件是规范和建议,有些需要参考已有的配置情况。
当然在实现的过程中,因为有一些判断条件,所以自己就尝试使用PL/SQL来实现,同时又需要包装在shell里面,感觉难度不是大了一点。在实现的时候最终还是发现理论上不可行,
因为需要添加多个日志组,而且要根据日志组成员的情况来动态生成SQL,这种二次动态的情况转换过来也就是不满足范式, 每一列都是不可分割的原子数据项,所以最后调用的时候有些问题,转而使用了shell的方式,当然过程中也碰到了很多问题。
首先是得到日志文件的下标,当前最大的日志组号和需要添加的日志组数

然后尝试了下面的来调用shell和PL/SQL

这样会抛出错误。
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 6
一种改进的思路就是下面的方式,分而治之,使用函数来循环迭代。

这种方式就会生成递增的日志创建语句,当然思路完成了,还得细化。
相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
438 1
|
监控 安全 Shell
防止员工泄密的措施:在Linux环境下使用Bash脚本实现日志监控
在Linux环境下,为防止员工泄密,本文提出使用Bash脚本进行日志监控。脚本会定期检查系统日志文件,搜索敏感关键词(如"password"、"confidential"、"secret"),并将匹配项记录到临时日志文件。当检测到可疑活动时,脚本通过curl自动将数据POST到公司内部网站进行分析处理,增强信息安全防护。
321 0
|
关系型数据库 MySQL Shell
如何用shell脚本获取mysql的binlog日志
如何用shell脚本获取mysql的binlog日志
229 1
|
存储
优秀开源日志平台GrayLog5.0一键安装脚本
优秀开源日志平台GrayLog5.0一键安装脚本
353 0
|
Kubernetes Shell Linux
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
381 0
|
12月前
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
176 1
|
11月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
275 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
376 6