自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shell脚本编程笔记(十一)—— sed进阶

xxx

2020-12-31 01:21:48 2206

转载 Oracle 11gR2 新技术 Cardinality Feedback

有很多地方可以设置定时任务,比如:Windows的计划任务,Linux下的crontab,各种开发工具里的timer组件。SQL Server也有它的定时任务组件 SQL Server Agent,基于它可以方便的部署各种数据库相关的作业(job)。一、作业历史记录作业的历史记录按时间采用FIFO原则,当累积的作业历史记录达到上限时,就会删除最老的记录。1. 作业历史记录数配置所有作业总计记录条数默认为1000,最多为999999条。单个作业总计记录条数默认为100,最多为99999..

2020-12-26 22:34:18 2254

原创 应用连MySQL 报错ERROR 1129 Host is blocked because of many connection errors

在应用程序中时不时出现错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'一、 原因  同一个ip在短时间内产生太多中断的数据库连接(超过mysql数据库max_connection_errors设置)而导致的阻塞。二、 解决方法1. 提高允许的max_connection_errors数量查看max_connection_errors,默认为10.

2020-12-23 17:52:47 13483 2

原创 MySQL 客户端报错 no operations allowed after connection closed

这个报错一般是客户端连接已经被中断了,但客户端不知道,还想重用该连接,在重用的时候就会遇到no operations allowed after connection closed。通过show processlist命令可以看到部分应用连接空闲时间很长(command字段为sleep,time为空闲时间)。一、 可能导致该报错原因数据库中 interactive_timeout 参数设置过短[10-86400] 数据库中 wait_timeout 参数设置过短[1-3153600...

2020-12-22 18:08:13 14196

转载 pt-online-schema-change

pt-table-checksum使用须知1、根据测试,需要一个即能登录主库,也能登录从库的账号;2、只能指定一个host,必须为主库的IP;3、在检查时会向表加S锁;4、运行命令之前需要从库的同步IO和SQL进程是YES状态5、pt-table-checksum是当前MySQL主从数据库数据一致性校验比较好的工具,但也会对服务器性能造成影响,尽管影响的范围有限,在进行每个chunk检查校验时会对chunk中涉及的表行加锁,所以,检验还是尽量在业务低峰期进行操作;6、pt-table-che

2020-12-20 18:22:45 2556

原创 druid 连接池报错 GetConnectionTimeoutException

业务方反馈凌晨应用出现报错,无法连接数据库:### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 5000, active 0, max

2020-12-19 18:28:18 22381 5

原创 shell脚本编程笔记(十二)—— gawk程序

gawk 程序虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制。通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据。这正是gawk能够做到的gawk程序是Unix中的原始awk程序的GNU版本。 gawk程序让流编辑迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令。在gawk编程语言中,你可以做下面的事情:q 定义变量来保存数据;q 使用算术和字符串操作符来处理数据;q 使用结构化编程概念(比如if-then语句和循环).

2020-12-19 00:08:29 2808

原创 shell脚本编程笔记(十)—— 正则表达式

一、定义正则表达式是你所定义的模式模板 (pattern template),利用通配符来描述数据流中的一个或多个字符。Linux工具(比如sed或gawk)能够在处理数据时用它对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;否则,它就会被滤掉。2 正则表达式的类型使用正则表达式最大的问题在于有不止一种类型的正则表达式。 Linux中的不同应用程序可能会用不同类型的正则表达式。这其中包括编程语言(Java、 Perl和Python)、 Linux实用工具(sed、ga..

2020-12-13 20:22:01 1882

原创 shell脚本编程笔记(九)—— 初识流编辑器 sed

一、 简介sed编辑器被称作流编辑器(stream editor),和普通的交互式文本编辑器恰好相反。在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式地插入、删除或替换数据中的文本。流编辑器则会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。 sed编辑器会执行下列操作。一次从输入中读取一行数据。(这个很重要)(2) 根据所提供的编辑器命令匹配数据。(3) 按照命令修改

2020-12-13 00:48:51 2484 1

原创 shell脚本编程笔记(八)—— 脚本函数

函数是一个脚本代码块,可以为其命名并在代码中任何位置重用。要在脚本中使用该代码块时,只要使用所起的函数名就行了(这个过程称为调用函数)。一、 基本的脚本函数1.创建函数有两种格式可以用来在bash shell脚本中创建函数。函数名必须是唯一的,否则可能会有问题。如果重定义了函数,新定义会覆盖原定义,且不会产生任何错误消息。第一种格式采用关键字function,后跟分配给该代码块的函数名。function name {commands}第二种格式更接近于其他编程语言中定义函数的方.

2020-12-12 14:17:39 2442 1

原创 shell脚本编程笔记(七)—— 信号处理与作业控制

一、处理信号Linux利用信号与运行在系统中的进程进行通信。可以通过对脚本进行编程,使其在收到特定信号时执行某些命令,从而控制shell脚本的操作。默认情况下, bash shell会忽略收到的SIGQUIT (3)和SIGTERM (15)信号(因此交互式shell不会被意外终止),但是会处理收到的SIGHUP (1)和SIGINT (2)信号。有时候,忽略这些信号可能会不利于脚本的运行,要避免这种情况,你可以脚本中加入识别信号的代码,并执行命令来处理信号。二、生成信号b...

2020-12-11 23:51:07 2873 1

原创 shell脚本编程笔记(六)—— 输出处理

一、标准文件描述符Linux将每个对象当作文件处理,包括输入和输出进程。Linux用文件描述符(file descriptor)来标识每个文件对象,文件描述符是一个非负整数,可以唯一标识会话中打开的文件。每个进程一次最多可以有9个文件描述符,bash shell保留了前3个(0,1,2),这三个被称为标准文件描述符。1. STDINSTDIN文件描述符代表shell的标准输入,对终端界面来说,标准输入是键盘。许多bash命令能接受STDIN的输入,当在命令行上只输入cat命令时,它会从键盘.

2020-12-10 23:35:12 5604 1

转载 Oracle 透明网关创建到 SQLServer dblink

一、 情景介绍业务中有两个不同的系统,分别使用的是 Oracle 和 SQLServer 数据库,现需要在Oracle 数据库中直接查询SQLServer 数据库的数据。Oracle、网关和 SQL Server 可以分别安装在任意主机上,只要满足网络互通就可以。想要在 Oracle 中直接查询 SQL Server 中的数据,需要完成以下步骤:下载并安装透明网关 配置透明网关 配置 Oracle 数据库的 TNS 配置 配置 SQL Server,使其能够远程连接(若已.

2020-12-10 01:24:20 2843 1

原创 Navicat执行sql报错 [Err] 1055 - Expression # 1 of ORDER BY clause is not in GROUP BY

一、 问题描述开发反馈Navicat无论执行什么语句都会有以下报错,不过实际能执行成功。[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause;

2020-12-10 01:02:38 3958 1

原创 Navicat 清空表 vs 截断表,望文生义惹的祸

一、 故障经过1. 故障现象收到告警mysql服务器剩余空间突然变成0了,赶紧登上去看了下,发现binlog突然增长10几G,由于服务器磁盘本身不大,就被占满了。登录mysql发现有两个可疑的全表delete慢sql:delete from tabname 在执行,恰好开发来问业务表删除特别慢怎么办,基本确定了是由于开发全表delete数据导致的问题。2. 故障处理把delete语句kill掉;手动清理几个binlog释放空间;待从库同步后清理异常增长10几G的大binlog。之后故障恢复。

2020-12-09 21:49:36 8030

原创 JDBC连接Oracle报错 ORA-01882: timezone region not found

开发反馈jdbc连接oracle时遇到报错java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found。并且只有这一台应用服务器有这个问题,别的都是正常的。网上搜索发现,通常是由于:Oracle数据库与应用的时区不一致导致的。一、 常规解决方案查看下JVM的时区,编写一个简单的CheckTz.javaimport java.uti.

2020-12-09 19:32:26 7268

转载 Oracle Database 21c(原20c) 十大新特性一览

Oracle 已经在官网上线了关于 Oracle Database 21c 的在线文档,这让所有关于 Oracle 数据库的用户心中一惊,转眼 2020年已经接近尾声,Oracle 数据库又将进入下一个版本周期。然而我们必须和大家进一步梳理一下,Oracle的版本变化,并且明确:Oracle 21c 其实就相当于 Oracle 20c,因为 20c从未进入公众可用的版本发布。在官方的版本计划中,20c 已经被移出,并做出如下声明:考虑到2020年我们的客户将面临前所未有的经济和业务中断,我们决定不

2020-12-09 19:13:54 4802 1

转载 MySQL 定期新增分区脚本

#!/bin/bash#按年分区,每年的12月份执行该脚本table=tablexxxmysql=/usr/local/mysql/bin/mysqluser=xxxpassword=xxxx#MySQL添加分区的时候,不需要指定字段名称str_0="alter TABLE $table add partition ("str_1="PARTITION p"str_2="VALUES LESS THAN (unix_timestamp('"str_4=") ENGINE = Inn.

2020-12-08 18:33:20 1934

原创 postgresql源码学习(一)—— 源码编译安装与gdb调试入门

一、postgresql源码编译安装因为只是用来调试的测试环境,把基本的软件装好和库建好就可以,一切从简。1. 创建用户和目录mkdir -p /data/postgres/base/mkdir -p /data/postgres/etcmkdir -p /data/postgres/home/postgresmkdir -p /data/postgres/toolsmkdir -p /data/postgres/pg5432/datagroupadd -g 502 dba..

2020-12-06 15:27:23 4844

原创 SqlServer 报错 The login packet used to open the connection is structurally invalid

大早上SqlServer收到一堆告警The login packet used to open the connection is structurally invalid; the connection has been closed. Please contact the vendor of the client library. [CLIENT: 192.168.7.8]网上搜索了下报错含义是:发起login请求的客户端 发送的packet不是sqlserver预期的packet。可能

2020-12-06 09:55:13 4138

转载 聊聊分区Partition——我们为什么要分区

原文一共有三篇(参考文末链接),概括了一下作者的主要观点整理成一篇,有删改。一、 分区的优势

2020-12-05 00:48:10 3146 1

原创 Linux expect —— 安装、常用语法及案例

Expect 主要应用于自动化交互式操作场景,可以将ssh、ftp、scp等需人工交互的操作写在一个脚本上使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率。其主要交互流程是:spawn启动指定进程 -> expect获取指定关键字 -> send发送指定指令 -> 执行完成 -> 继续或退出.一、 下载安装expect 是由基于Tcl( Tool Command Language )语言开发的,因此安装前需要.

2020-12-03 18:43:13 14435 2

原创 Could not allocate space for object sys.sysfiles1.sysfiles1 in database

一、 问题描述给数据库添加数据文件时遇到了一个奇怪的报错:Could not allocate space for object 'sys.sysfiles1'.'sysfiles1' in database 'dbname' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding addition

2020-12-01 22:05:21 2321

原创 oracle导出千万级数据为csv格式

当数据量小时(20万行内),plsqldev、sqlplus的spool都能比较方便进行csv导出,但是当数据量到百万千万级,这两个方法非常慢而且可能中途客户端就崩溃,需要使用其他方法。一、 sqluldr2工具1. 优缺点优点:高效;支持功能较多;用户只需有对应表查询权限;可以在从库执行 缺点:目前已没有再维护,只能找到基于oracle 10.2的版本(高版本目前还可以用);密码必须要跟在用户名后面输,安全性不足2. 下载安装百度云链接:https://pan.baidu.com.

2020-12-01 17:40:49 12506

空空如也

空空如也

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

TA关注的人

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