自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独孤清扬玩DB

技术分享

  • 博客(122)
  • 资源 (4)
  • 收藏
  • 关注

转载 docker remote api一键TLS加密

docker api

2022-07-12 15:31:14 518

原创 部署weblogic 12c时遇到的问题

在部署ogg veridata 12.2.1.4的过程中,需要安装weblogic server,期间启动weblogic server时遇到如下错误:./startWebLogic.sh ..JAVA Memory arguments: -Xms256m -Xmx1024m.CLASSPATH=/mysql/oracle_veridata/Middleware/Oracle_Home/oracle_common/modules/features/com.oracle.db.jdbc7-dms.

2021-06-09 16:32:42 2857

转载 mysql中计算时间差

TIMESTAMPDIFF(时间单位,参数1,参数2)可以设置参数,可以精确到天(DAY),小时(HOUR),分钟(MINUTE),秒(SECOND),毫秒(FRAC_SECOND(低版本不支持,可以用秒,再乘1000)),计算机制为参数2-参数1,最后结果为数字,单位为第一个参数设置的值(week 周,month 月,quarter 季度,year 年 )这几个单位没有经过测试,但是应该也是支持的 --相差1天 select TIMESTAMPDIFF(DAY, '2018-03-..

2021-06-04 14:13:31 1021

转载 SQL 窗口函数的优化和执行

窗口函数(Window Function)是 SQL2003 标准中定义的一项新特性,并在 SQL2011、SQL2016 中又加以完善,添加了若干处拓展。窗口函数不同于我们熟悉的普通函数和聚合函数,它为每行数据进行一次计算:输入多行(一个窗口)、返回一个值。在报表等分析型查询中,窗口函数能优雅地表达某些需求,发挥不可替代的作用。本文首先介绍窗口函数的定义及基本语法,之后将介绍在 DBMS 和大数据系统中是如何实现高效计算窗口函数的,包括窗口函数的优化、执行以及并行执行。什么是窗口函数?窗口函数

2021-05-27 15:40:52 310

原创 MySQL5.7收集表统计信息时对该表上增删改查的影响

先说下结论:收集统计信息期间对该表上DML和select的影响:结论是会影响DML,select不影响,并不是整改analyze过程都影响,大概影响1/3 analyze table时间。官方文档说明:https://dev.mysql.com/doc/refman/5.7/en/analyze-table.html中有一段话对analyze table行为做了说明,如下:During the analysis, the table is locked with a read lock .

2021-05-19 17:08:43 327

转载 读写文件--with open

读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。读文件要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:f = open('/U

2021-05-14 15:01:57 419

转载 使用html-table模块生成html格式

样例图示如下:开始之前,须通过 pip 安装 html-table 包:$ python -m pip install html-table安装完毕后,即可导入 HTMLTable 类:from HTMLTable import ( HTMLTable,)#创建一个新表格,标题为 果园收成表 :# 标题table = HTMLTable(caption='果园收成表')#附上表头:# 表头行table.append_header_rows(( ('名称',

2021-05-14 14:47:10 857

转载 【详细齐全】FIO使用方法 及参数解析(文章末尾)

linux 使用FIO测试磁盘iops 方法详解FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎, 包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。fio 官网地址:http://freshmeat.net/projects/fio/fio【FIO安装wget http://brick.kernel.dk/s..

2021-04-15 09:26:59 8527

转载 Oracle 11g ADG 配置没问题,但死活不同步案例

DG处理的问题还是蛮多的,但这次遇到一个比较奇葩的事情,表面配置、网络都没啥问题,但主备的同步始终有问题,经过多次调整参数、重新部署问题依旧,最终还是求助mos问题得以解决,现将处理过程记录如下:一、问题现象偶尔发现一个主备数据库同步有问题,检查备库发现除了无法完成同步,其他无错误信息,检查主库发现错误信息如下:set line 200;set pagesize 2000;select dest_id,status,error from v$archive_dest;ORA-12154

2021-04-15 09:21:46 1339

原创 批处理脚本手动双击可以执行,但计划任务中执行失败

问题现象:使用批处理脚本从linux端(samba server) 备份一些数据,设置计划任务每天凌晨两点定时备份。1)、windows系统中映射共享文件夹为S:盘,需要输入共享用户名和密码2)、脚本中使用xcopy命令复制共享目录中的文件到windows本地目录中。脚本如下:set Name=%date:~0,4%%date:~5,2%%date:~8,2%chcp 65001 REM chcp防止中文乱码mkdir "E:\脚本备份\bakscripts%Name%"xco

2021-03-20 21:11:26 3041

原创 pymysql.err.OperationalError: (2006, “MySQL server has gone away (BrokenPipe

第一种情况:真的是连接数据库超时导致,比较常见在使用python+Django写项目时,需要用到定时任务apscheduler,但服务在长时间运行时,定时任务会报错pymysql.err.OperationalError: (2006, "MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))")如下图所示,此时,我们可以通过如下方法解决,一共有三个地方。图一这个报错出现的原因:操作MySQL数据库的时候,连接超时或

2021-03-17 09:41:41 9337 1

转载 sysbench压测时遇到max_prepared_stmt_count相关错误

参考文章:https://zhuanlan.zhihu.com/p/67188414问题现象:报错 FATAL: MySQL error: 1461 "Can't create more than max_prepared_stmt_count statements (current value: 16382)sysbench压测异常终止问题引入在做压力测试的时候,我使用了sysbench 1.1.0-faaff4f版本,测试命令如下:sysbench oltp_read_only.lu

2021-03-03 16:28:00 958 1

转载 MySQL的SQL预处理(Prepared)

官方参考:https://dev.mysql.com/doc/refman/5.7/en/sql-prepared-statements.html一、SQL 语句的执行处理1、即时 SQL  一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下:  1. 词法和语义解析;  2. 优化 SQL 语句,制定执行计划;  3. 执行并返回结果;  如上,一条 SQL 直接是走流程处理,一次编译,单次运行,此类普通语句被称作 Immediate Statements (即时

2021-03-03 16:26:44 851 1

原创 Xtrabackup远程备份+限速

远程备份一个好处是,不占用本地磁盘空间,可以直接备份到远程主机指定的目录。但在数据量很大的情况下要防止网络中断导致的远程备份失败。方法1:ssh + 密码的方式innobackupex --host=192.168.30.11 --user=root --password=1234 --port=3306 --stream=tar /tmp | gzip | sshpass -p 'bigbangdata.cn' ssh [email protected] "cat - > /tmp/ba

2021-02-10 11:15:46 1163 1

转载 MySQL分页查询中该避开的坑

参考文章:https://cloud.tencent.com/developer/article/1550771MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。1. LIMIT 语句分页查询是最常用的场景之一,但也通常也是

2021-01-26 11:05:44 490

原创 数据库中表名、字段名、字符串大小写处理规则

测试数据:CREATE TABLE `test` (`name` varchar(30));insert into test values('abc');insert into test values('Aaa');insert into test values('ccc');从遇坑说起应用场景:查询表test中以大写A开头的内容,于是有19:54:18[5.7.25-log]root->192.168.30.20[mtest]> select * from test

2021-01-26 10:41:02 2709

原创 揪出数据库中看不见的字符

应用报出了异常,发现某表某字段下的数据多了些字符,但是在数据库中用sql查看时不一定能够发现。这种情况一般是在字符结尾多了空格、制表符、回车符、换行符等造成。可以从数据库中校验并修正这些异常数据。基础知识特殊字符ascii码,Oracle和MySQL中的表示方法: 特殊符号 Oracle MySQL TiDB 空格 chr(32) char(32)

2021-01-23 14:49:57 1946

转载 特殊字符ascii码

ASCII控制字符二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义 00000000 0 00 NUL ␀ 空字符(Null) 00000001 1 01 SOH ␁ 标题开始 00000010 2 02 STX ␂ 本文开始 00000011 3 03 ETX ␃ 本文结束 00000100 4 04...

2021-01-23 11:11:16 8643

原创 Mysql改写子查询SQL优化案例

sql逻辑需求:需要定期统计表单数据,然后把汇总的结果展示在前端界面根据业务逻辑实现了sql编写,产生了慢SQLSELECT DISTINCT DATE_FORMAT(sr.SIGN_DATE, '%Y-%m-%d') as signDate, count(sr.PRODUCT_NO) as totalSign, (SELECT count(1) FROM t_red_data t1 ...

2021-01-22 18:17:47 342 1

原创 Oracle表重命名后索引、约束、权限、同义词的影响

create public synonym test01 for scott.test01; --同义词create index scott.idx_col_date on scott.test01(col_date); --索引alter table TEST01 add constraint UK_TEST01 unique (COL_DATE); --唯一约束alter table test01 modify col_date not null; --not null 约束grant sele

2021-01-22 18:10:32 2310

原创 Oracle添加主键和唯一约束最佳实践

经常有开发人员找DBA,需要把唯一索引改为普通索引,或者把主键改为唯一索引或普通索引...主键属性:普通索引+唯一约束+not null约束 或者唯一索引+not null约束唯一索引属性:普通索引+唯一约束最佳实践:主键用唯一索引+主键约束两步骤来创建,可直接变更为唯一索引唯一索引用普通索引+唯一约束两步骤来创建,可以直接变更为普通索引主键不同创建方式,不同的ddl变更结果:测试表如下create table TEST01( col_date date, ..

2021-01-22 17:44:40 2211

原创 使用oracle/mysql/tidb由空格引发的血案解析

Oracle 11.2测试表:create table white_space ( name varchar2(128), name2 char(128) );MySQL 5.7、TiDB 3.0测试表:drop table white_space;create table white_space (id bigint(20) unsigned not null auto_increment,name varchar(128),name2 char(128),prima

2021-01-08 18:30:30 359

原创 IBM AIX RISC System/6000 Error: 110: Media surface error错误处理

Oracle备库alert日志中有如下报错:lave exiting with ORA-1115 exceptionErrors in file /u01/app/oracle/diag/rdbms/dbrsh/dbrsh/trace/dbrsh_pr0h_54461338.trc:ORA-01115: IO error reading block from file 219 (block # 1903493)ORA-01110: data file 219: '/gzdata01/YDBR/dat

2021-01-07 11:17:27 664

原创 Slave_SQL线程异常终止处理之跳过错误

手动跳过1个或更多个事务/* 传统点位模式复制 */SQL>set global sql_slave_skip_counter=1;SQL>start sql_thread;/* GTID模式复制 */SQL>set gtid_next='e29d3917-9dbb-11e9-8b64-e4434b6e2c80:11103335-16054791';SQL>begin;commit;SQL>set gtid_next='AUTOMATIC';自动连续跳过

2020-12-19 21:05:39 667 1

原创 为什么建议使用count(*)来统计数据行数

对比MySQL5.7版本、Oracle 11g版本、TiDB3.0版本其中MySQL是基于 InnoDB 引擎的。MySQL中各种count的行为参考自:丁奇老师的MySQL 45讲这里,首先你要弄清楚 count() 的语义。count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。所以,count(*)、count(主键 id) 和 count(1) 都表示返回满足条件的结果集的总行数;而 .

2020-12-04 12:50:06 1845

原创 mysql is blocked because of many connection errors

故障现象:zabbix监控之前一直运行的好好的,但突然出现如下的页面报错,报错提示的也挺直接,说是数据问题:经排查,是由于MYSQL数据库的参数:max_connect_errors(系统默认10) mysqld已经得到了大量(max_connect_errors)的主机’hostname’的在中途被中断了的连接请求累计超过10次,就再也无法连接上mysqld服务,解决方法:1、root登陆mysql执行flush hosts 或mysqladmin执行flush hosts 或者重启MySQ

2020-12-01 11:00:31 1313

原创 MySQL中使用adddate函数产生随机日期+时间

使用adddate函数和rand()函数生成随机日期+时间的好处在于不会出现2月份有30天的问题,日期函数帮你处理。下面是SQL代码:SELECT ADDDATE(ADDDATE(ADDDATE(ADDDATE( '2000-01-01 00:00:00', FLOOR(RAND() * 7300)), -- 2000 - 2020年,中间间隔大概7300天 INTERVAL F

2020-11-26 15:27:06 1160

原创 tiup重新部署集群遇到multiple TiKV instances are deployed at the same host but location label missing

tiup重新部署,multiple TiKV instances are deployed at the same host but location label missing故障现象:tiup方式单机部署tidb集群后,集群关闭状态下通过tiup cluster destory xxx_cluster命令删除了集群,开始重新部署v4.0.7时报错[root@onetest2 ~]# tiup cluster deploy tidb4_cluster v4.0.7 test4.yaml --us

2020-10-28 23:07:18 1771

转载 mysqldump备份原理及注意事项

mysqldump的备份原理是什么呢?抛开源码不谈,其实我们可以通过打开general log,查看mysqldump全库备份时执行的命令来了解mysqldump背后的原理。只考虑innodb表的情况如下图所示:打开general logroot@ 04:55: [sbtest]> set global general_log=on;Query OK, 0 rows affected (0.00 sec)12其中,general log的存放路径可通过以下命令查看...

2020-10-28 17:23:27 669

原创 MySQL中修改列属性时造成comment属性丢失

修改字段定义的时候,要把整个字段的全部的定义都写上,举个栗子:原字段定义:state varchar(50) NOT NULL DEFAULT '' COMMENT '产品资料状态'需求:修改字段长度为100正确的写法:alter table t1 modify state varchar(100) NOT NULL DEFAULT '' COMMENT '产品资料状态'错误的写法:alter table t1 modify state varchar(100) ...

2020-10-27 17:38:18 1682

原创 Mysql Oracle Tidb对空值的处理

三种类型的数据库下面分别创建对应的测试表:--Oracle 11.2CREATE TABLE t_oracle ( id int , name varchar2(10), dept varchar2(20) not null);--MySQL 5.7 CREATE TABLE t_mysql ( id int , name varchar(10), dept varchar(20) not null); --TiDB 3.0 CREATE TABLE t_tid

2020-10-09 14:30:07 1486

原创 虚拟机环境下ansible方式部署tidb3.0时系统检测不通过

在部署tidb时,对系统的配置要求比较高,在初始化系统步骤要检查配置,以及压测tidb、tikv server系统配置检测不通过修改配置文件/home/tidb/tidb-ansible/roles/check_system_optional/defaults/main.yml要求比较低的测试环境配置:# CPUtidb_min_cpu: 2tikv_min_cpu: 2pd_min_cpu: 2monitor_min_cpu: 2# Memtidb_min_ram: 160

2020-08-31 20:03:57 142

转载 虚拟机Centos报corruption of in-memory data detected错误的恢复

1.虚拟机Centos7无法启动:2.ls查看当前目录,ls -l dev/mapper查看那个是XXX-root文件;使用xfs_repair命令修复XXX-root文件:xfs_repair -L /dev/mapper/centos-root3.进行重新启动init 6

2020-08-24 19:12:19 2983 4

原创 各种类型变量的定义以及赋值

局部变量局部变量一般用在sql语句块中,比如存储过程的begin/end。其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。declare语句专门用于定义局部变量,可以使用default来说明默认值。set语句是设置不同类型的变量,包括会话变量和全局变量。 局部变量定义语法形式DECLARE var_name [, var_name]... data_type [ DEFAULT value ];例如在begin/end语句块中添加如下一段语句,接收函数传进来的...

2020-08-23 17:54:33 3474

转载 Oracle11g新特性密码延迟验证的坑

在 Oracle 11g 中,为了提升安全性,Oracle 引入了『密码延迟验证』的新特性。这个特性的作用是,如果用户输入了错误的密码尝试登录,那么随着登录错误次数的增加,每次登录前验证的时间也会增加,以此减缓可能对于数据库重复的口令尝试攻击。但是对于正常的系统,由于口令的更改,可能存在某些被遗漏的客户端,不断重复尝试,从而引起数据库内部长时间的 Library Cache Lock的等待,这种情形非常常见。如果遇到这一类问题,可以通过Event 28401关闭这个特性,从而消除此类影响,以下命令将

2020-08-23 11:34:34 1774

原创 Oracle FGA审计的使用

文章目录0、参考资料1、FGA审计1.1、简单使用步骤:1.2、使用FGA制作蜜罐0、参考资料Oracle® Database Security Guide 11g Release 2 (11.2) E16543-059 Verifying Security Access with AuditinOracle Audit Vault Administrator’s Guid (about Oracle Audit Vault, which provides advanced auditing fe

2020-07-31 21:34:45 632

原创 Oracle中开启并行和相关查询

文章目录1、并行相关资料整理:2、查询并行执行情况:3、使用并行1、并行相关资料整理:官方参考:VLDB and Partitioning Guide ->How Parallel Execution Works2、查询并行执行情况:1)与并行查询相关的数据字典视图v$px_session|V$pq_sesstat|v$px_process|v$px_sysstat|v$px_process_sysstat v$session column pdml_status,pq_statusps

2020-07-31 21:30:07 907

原创 Oracle中一把梭获取对象DDL创建语句

文章目录1、DBMS_METADATA.GET_DDL包详解以及使用案例1.1、官方文档参考1.2、常用获取ddl信息案例1.2.1、查看表以及对应索引创建语句1.2.2、获取用户下所有对象的ddl语句1.2.3、单独获取表上约束ddl语句1.2.4、获取创建用户以及授权ddl语句1.2.5、获取表空间ddl语句1.3、dbms_metadata.set_transform_param函数详解2、查看表上列信息,补充desc的功能吐个槽:Oracle数据库有很多地方设计的不人性化,比如,sqlplus中不

2020-07-31 21:21:36 488

原创 MySQL中varchar类型字段隐式转换造成多删除数据

例如一个表中字段是varchar类型:desc test;+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| id | int | NO |

2020-07-30 17:11:20 519

原创 MySQL中各种日期格式转换

日期格式的转换总结1)、unix time和日期格式互转比如zabbix history表中的clock字段保存的是unix time,看到的是一串数字,可以使用FROM_UNIXTIME去转换unixtime转换为日期格式:select FROM_UNIXTIME(unix time)日期格式反转成unixtime格式:select UNIX_TIMESTAMP(SUBDATE(now(),interval 5 minute))2)、日期和字符串之间的转换orac.

2020-07-29 19:45:13 5858

计算机与人脑

计算机与人脑,mobi电子书,可在移动设备上方便的观看。

2018-03-16

AI:人工智能的本质与未来

AI 人工智能的本质与未来,mobi电子书,可在移动设备上方便的观看。

2018-03-16

人工智能(李开复谈AI如何重塑个人、商业与社会的未来图谱)

人工智能(李开复谈AI如何重塑个人、商业与社会的未来图谱)

2017-12-24

空空如也

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

TA关注的人

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