- 博客(122)
- 资源 (4)
- 收藏
- 关注
原创 部署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 3279
转载 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 1135
转载 SQL 窗口函数的优化和执行
窗口函数(Window Function)是 SQL2003 标准中定义的一项新特性,并在 SQL2011、SQL2016 中又加以完善,添加了若干处拓展。窗口函数不同于我们熟悉的普通函数和聚合函数,它为每行数据进行一次计算:输入多行(一个窗口)、返回一个值。在报表等分析型查询中,窗口函数能优雅地表达某些需求,发挥不可替代的作用。本文首先介绍窗口函数的定义及基本语法,之后将介绍在 DBMS 和大数据系统中是如何实现高效计算窗口函数的,包括窗口函数的优化、执行以及并行执行。什么是窗口函数?窗口函数
2021-05-27 15:40:52 380
原创 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 421
转载 读写文件--with open
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。读文件要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:f = open('/U
2021-05-14 15:01:57 514
转载 使用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 951
转载 【详细齐全】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 9245
转载 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 1605
原创 批处理脚本手动双击可以执行,但计划任务中执行失败
问题现象:使用批处理脚本从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 3452
原创 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 11212 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 1174 2
转载 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 1004 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 root@192.168.30.14 "cat - > /tmp/ba
2021-02-10 11:15:46 1394 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 544
原创 数据库中表名、字段名、字符串大小写处理规则
测试数据: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 2947
原创 揪出数据库中看不见的字符
应用报出了异常,发现某表某字段下的数据多了些字符,但是在数据库中用sql查看时不一定能够发现。这种情况一般是在字符结尾多了空格、制表符、回车符、换行符等造成。可以从数据库中校验并修正这些异常数据。基础知识特殊字符ascii码,Oracle和MySQL中的表示方法: 特殊符号 Oracle MySQL TiDB 空格 chr(32) char(32)
2021-01-23 14:49:57 2253
转载 特殊字符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 9334
原创 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 401 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 2598
原创 Oracle添加主键和唯一约束最佳实践
经常有开发人员找DBA,需要把唯一索引改为普通索引,或者把主键改为唯一索引或普通索引...主键属性:普通索引+唯一约束+not null约束 或者唯一索引+not null约束唯一索引属性:普通索引+唯一约束最佳实践:主键用唯一索引+主键约束两步骤来创建,可直接变更为唯一索引唯一索引用普通索引+唯一约束两步骤来创建,可以直接变更为普通索引主键不同创建方式,不同的ddl变更结果:测试表如下create table TEST01( col_date date, ..
2021-01-22 17:44:40 2560
原创 使用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 528
原创 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 787
原创 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 738 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 1984
原创 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 1374
原创 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 1267
原创 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 1954
转载 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 754
原创 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 1864
原创 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 1728
原创 虚拟机环境下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 168
转载 虚拟机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 3357 4
原创 各种类型变量的定义以及赋值
局部变量局部变量一般用在sql语句块中,比如存储过程的begin/end。其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。declare语句专门用于定义局部变量,可以使用default来说明默认值。set语句是设置不同类型的变量,包括会话变量和全局变量。 局部变量定义语法形式DECLARE var_name [, var_name]... data_type [ DEFAULT value ];例如在begin/end语句块中添加如下一段语句,接收函数传进来的...
2020-08-23 17:54:33 3614
转载 Oracle11g新特性密码延迟验证的坑
在 Oracle 11g 中,为了提升安全性,Oracle 引入了『密码延迟验证』的新特性。这个特性的作用是,如果用户输入了错误的密码尝试登录,那么随着登录错误次数的增加,每次登录前验证的时间也会增加,以此减缓可能对于数据库重复的口令尝试攻击。但是对于正常的系统,由于口令的更改,可能存在某些被遗漏的客户端,不断重复尝试,从而引起数据库内部长时间的 Library Cache Lock的等待,这种情形非常常见。如果遇到这一类问题,可以通过Event 28401关闭这个特性,从而消除此类影响,以下命令将
2020-08-23 11:34:34 2076
原创 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 725
原创 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 1015
原创 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 570
原创 MySQL中varchar类型字段隐式转换造成多删除数据
例如一个表中字段是varchar类型:desc test;+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| id | int | NO |
2020-07-30 17:11:20 558
原创 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 6174
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人