摘要:在SQL Server中使用Multiple Server Query Execution这个功能做数据库维护或脚本发布时非常方便,昨天由于磁盘空间原因,删除清理了大量的软件和组件,结果导致SSMS客户端出了问题,重装过后,使用Multiple Server Query Execution时,出现了 阅读全文
Multiple Server Query Execution报The result set could not be merged..
2017-08-23 16:48 by 潇湘隐者, 696 阅读, 1 推荐, 收藏,ORACLE Index Lookup索引访问路径总结
2017-08-23 10:11 by 潇湘隐者, 1008 阅读, 0 推荐, 收藏,
摘要:在ORACLE中,索引访问/查找(Index Lookup)路径有五种方式,分别为INDEX UNIQUE SCAN、INDEX RANGE SCAN、INDEX FULL SCAN、INDEX FAST FULL SCAN 、INDEX SKIP SCAN。下面通过一些案例介绍、总结一下这五种索引访问路径。本文是总结这方面的知识点,所以文中一些地方参考、引用了参考资料中的部分内容。详细、具体... 阅读全文
ORACLE实际执行计划与预估执行计划不一致性能优化案例
2017-08-19 16:16 by 潇湘隐者, 4247 阅读, 1 推荐, 收藏,
摘要:在一台ORACLE服务器上做巡检时,使用下面SQL找出DISK_READ最高的TOP SQL分析时,分析过程中,有一条SQL语句的一些反常现象,让人觉得很奇怪: SELECT SQL_ID, SQL_TEXT, DISK_READS, BUFFER_GETS, PARSING_SCHEMA_NAME, EXECUTION... 阅读全文
MySQL线程处于Waiting for table flush的分析
2017-08-18 12:19 by 潇湘隐者, 8005 阅读, 3 推荐, 收藏,
摘要:最近遇到一个案例,很多查询被阻塞没有返回结果,使用show processlist查看,发现不少MySQL线程处于Waiting for table flush状态,查询语句一直被阻塞,只能通过Kill进程来解决。那么我们先来看看Waiting for table flush的官方解释:https://dev.mysql.com/doc/refman/5.6/en/general-thread... 阅读全文
ORACLE等待事件:SQL*Net message from client & SQL*Net message to client
2017-08-15 08:26 by 潇湘隐者, 19872 阅读, 3 推荐, 收藏,
摘要:在ORACLE当中有两个很常见的等待事件“SQL*Net message from client”与“SQL*Net message to client”,两者有点区别,下面整理这方面的资料如下: SQL*Net message from client 表示服务端等待着Cilent发来请求让它处理,这时就会产生SQL*Net message from client等待事件。 ... 阅读全文
PL/SQL重新编译包无反应案例2
2017-08-10 08:03 by 潇湘隐者, 626 阅读, 0 推荐, 收藏,
摘要:在这篇"PL/SQL重新编译包无反应"里面介绍了编译包无反应的情况,今天又遇到一起案例, 在测试环境中,一个包的STATUS为INVALID,重新编译时,一直处于编译状态,检查发现下面两条因素都不存在: 1:当包正在被调用执行时,编译该包会导致无响应情况。 2:包中的对象或依赖对象被其它session所拥有。 后面检查发现包中调用了一个LINKED SERVER,由于迁移测... 阅读全文
ORA-1652: unable to extend temp segment by 128 in tablespace xxx Troubleshootin
2017-08-08 22:54 by 潇湘隐者, 2780 阅读, 1 推荐, 收藏,
摘要:当收到告警信息ORA-01652: unable to extend temp segment by 128 in tablespace xxxx 时,如何Troubleshooting ORA-1652这样的问题呢? 当然一般xxx是临时表空间,也有可能是用户表空间。 我们先来模拟一下这个情况,在两个会话窗口执行下面SQL语句,这个视图比较特殊(因为比较懒,不想去构造一个大量消耗临时段的SQ... 阅读全文
SQL Server中授予用户查看对象定义的权限
2017-08-07 14:28 by 潇湘隐者, 2239 阅读, 1 推荐, 收藏,
摘要:SQL Server中授予用户查看对象定义的权限 在SQL Server中,有时候需要给一些登录名(用户)授予查看所有或部分对象(存储过程、函数、视图、表)的定义权限存。如果是部分存储过程、函数、视图授予查看定义的权限,那么就像下面脚本所示,比较繁琐: GRANT VIEW DEFINITION ON YOUR_PROCEDURE TO USERNAME; GRANT VIE... 阅读全文
The process could not read file xxx due to OS error 53
2017-08-02 08:53 by 潇湘隐者, 986 阅读, 1 推荐, 收藏,
摘要:在不同地域的两个SQL Server服务器上配置了复制(Replication)用于同步数据(生产环境配置有Replication,测试环境也配有Replication),两地通过专线连接起来,这些复制(Replication)已经稳定运行了一两年了, 但是前阵子,测试环境的SQL Server的Replication中突然遇到下面错误: Error messages: The... 阅读全文
SQL Server中如何定位Row Lock锁定哪一行数据
2017-08-01 15:36 by 潇湘隐者, 1964 阅读, 3 推荐, 收藏,
摘要:在SQL Server中有时候会使用提示(Hint)强制SQL使用行锁(Row Lock),前两天有个同事咨询了一个问题,如何定位Row Lock具体锁定了哪一行。其实这个问题只适合研究一下,实际意义并不大,因为找到、定位被锁定的行的代价开销较大,而意义却不怎么大,而且使用场景也很少。那么下面我们来探讨、研究一下这个问题吧: 在会话窗口(会话ID=65)下执行下面SQL语句,模拟SQL S... 阅读全文
SQL Server事务遭遇网络异常时的处理机制浅析
2017-07-27 17:03 by 潇湘隐者, 2712 阅读, 11 推荐, 收藏,
摘要:SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Server数据库是通过什么机制来判断处理呢? 估计很多人跟我一样都有不少疑问, 我们下面构造一个测试实验来测试验证一下。如下所示: 步骤1:在客户端连使用S 阅读全文
MS SQL批量生成作业脚本方法介绍总结
2017-07-25 11:21 by 潇湘隐者, 2303 阅读, 2 推荐, 收藏,
摘要:在迁移或升级SQL Server数据库服务器时,很多场景下我们不能还原msdb,所以我们必须手工迁移SQL Server相关作业。如果手工生成每一个作业的脚本话,费时又费力,其实SQL Server中有好几种方法可以批量生成作业脚本的方法, 下面介绍一下。 1:SSMS客户端工具批量生成创建作业脚本 1:在SSMS—>SQL Server Agent下,单击Jobs。 2: 按快捷键F... 阅读全文
MySQL 5.6.20-enterprise-commercial的参数文件位置问题
2017-07-19 14:24 by 潇湘隐者, 884 阅读, 0 推荐, 收藏,
摘要:今天在折腾MySQL的参数文件时,突然发现MySQL 5.6.20-enterprise-commercial-advanced-log这个版本数据库的参数文件my.cnf的位置有点奇怪,如下所示: [root@DB-Server ~]# mysql --help | grep my.cnf order of preference, my.cnf, ... 阅读全文
RHEL 5.7 使用rpm安装XtraBackup问题总结
2017-07-11 17:24 by 潇湘隐者, 1376 阅读, 1 推荐, 收藏,
摘要:在Red Hat Enterprise Linux Server release 5.7 (Tikanga)上使用RPM方式安装Percona Xtrabackup 2.4.6时遇到了一些问题,特意总结在此。 [root@DB-Server tmp]#yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-... 阅读全文
ORACLE中修改表的Schema的总结
2017-07-11 11:00 by 潇湘隐者, 6063 阅读, 2 推荐, 收藏,
摘要:前阵子遇到一个案例,需要将数据库中的几个表从USER A 移动到USER B下面,在ORACLE中,这个叫做更改表的所有者或者修改表的Schema。其实遇到这种案例,有好几种解决方法。下面我们通过实验来测试、验证一下。首先准备简单测试数据,如下所示: SQL> CREATE TABLE TEST.KKK( ID INT , NAME VARCHAR2(12) , CONS... 阅读全文
The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction.
2017-07-07 11:56 by 潇湘隐者, 1417 阅读, 0 推荐, 收藏,
摘要:同事反馈一个系统在运行一个存储过程时遇到了下面错误: Msg 1206, Level 18, State 169, Procedure xxxxxx, Line 118The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction. 费了九牛二虎之力才定位到... 阅读全文
MySQL查询日志总结
2017-07-07 09:24 by 潇湘隐者, 40551 阅读, 17 推荐, 收藏,
摘要:MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行。默认文件名为hostname.log。默认情况下MySQL查询日志是关闭的。生产环境,如果开启MySQL查询日志,对性能还是有蛮大的影响的。另外很多时候,MySQL慢查询日志基本可以定位那些出现性能问题的SQL,所以MySQL查询日志应用的场景其实不多,有点鸡肋的感觉,它... 阅读全文
You (root) are not allowed to access to (crontab) because of pam configuration
2017-07-05 11:07 by 潇湘隐者, 11477 阅读, 0 推荐, 收藏,
摘要:巡检发现一台Linux服务器上的作业没有如期发送邮件,登录服务器检查后发现作业并没有执行,于是检查一下crontab的设置。结果发现如下错误: [root@mylnx2 ~]# crontab -l Authentication token is no longer valid; new one r 阅读全文
用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提供的名称匹配的登录名。 [客户端: ]
2017-06-23 15:35 by 潇湘隐者, 3560 阅读, 0 推荐, 收藏,
摘要:一工厂的中控服务器遇到了下面Alert提示,'XXX\SERVERNAME$' XXX表示对应的域名, SERVERNAME$(脱敏处理,SERVERNAME为具体的服务器名称+$),而且如下所示,客户端是本机,研究了一下,才搞清楚具体原因. 日期/时间: 2017/6/20 12:24:51 说明: 用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提... 阅读全文
Troubleshooting SQL Server RESOURCE_SEMAPHORE Waittype Memory Issues
2017-06-23 09:08 by 潇湘隐者, 834 阅读, 2 推荐, 收藏,
摘要:前言: 本文是对博客https://www.mssqltips.com/sqlservertip/2827/troubleshooting-sql-server-resourcesemaphore-waittype-memory-issues/的翻译,本文基本直译,部分地方读起来有点不自然。 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处htt... 阅读全文
SQL Server Alert发送告警邮件少了的原因
2017-06-21 17:53 by 潇湘隐者, 1204 阅读, 1 推荐, 收藏,
摘要:最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQL Server Severity Event 14” USE [msdb] GO IF NOT EXISTS(SELECT 1 FROM msdb.dbo.syscategories WHERE NAME='DBA_MONITORING' AN... 阅读全文
Linux下Wheel用户组介绍
2017-06-20 10:38 by 潇湘隐者, 31963 阅读, 5 推荐, 收藏,
摘要:昨天遇到一个很奇怪的事情,有一台服务器在使用su - root命令切换到root账号时,老是报密码不正确。但是root密码完全是正确的,而且可以使用账号密码直接ssh登录服务器。很是纳闷,如下所示: [oracle@DB-Server ~]$ more /etc/redhat-release Red Hat Enterprise Linux Server release 5.7 (Tik... 阅读全文
SQL Server使用sys.master_files计算tempdb大小不正确
2017-06-13 16:36 by 潇湘隐者, 2831 阅读, 2 推荐, 收藏,
摘要:一直习惯使用sys.master_files来统计数据库的大小以及使用情况,但是发现sys.master_files不能准确统计tempdb的数据库大小信息。如下所示: SELECT database_id AS DataBaseId ,DB_NAME(database_id) ... 阅读全文
MySQL 如何查看表的存储引擎
2017-06-13 09:45 by 潇湘隐者, 31024 阅读, 14 推荐, 收藏,
摘要:MySQL 如何查看表的存储引擎 在MySQL中如何查看单个表的存储引擎? 如何查看整个数据库有那些表是某个特殊存储引擎,例如MyISAM存储引擎呢?下面简单的整理一下这方面的知识点。 如果要查看单个表的存储引擎,可以用show create table命令查看该表的存储引擎,那么有下面一些方法: 方法1: mysql> show create table test; ... 阅读全文
MySQL中lock tables和unlock tables浅析
2017-06-12 10:05 by 潇湘隐者, 64552 阅读, 23 推荐, 收藏,
摘要:MySQL中lock tables和unlock tables浅析 在MySQL中提供了锁定表(lock tables)和解锁表(unlock tables)的语法功能,ORACLE与SQL Server数据库当中没有这种语法。相信刚接触MySQL的人,都想详细、深入的了解一下这个功能.下面就尽量全 阅读全文
mysqldump 参数--lock-tables浅析
2017-06-08 17:20 by 潇湘隐者, 16701 阅读, 2 推荐, 收藏,
摘要:mysqldump有一个参数--lock-tables,以前对这个参数也没有详细了解过,直到上次有个网友问“参数lock-tables 是一次性锁定当前库的所有表,还是锁定当前导出表?“ ,之前一直以为只是锁定当前导出表,后面看了参数说明后, -l, --lock-tables Lock all tables for read. (Defau... 阅读全文
ORA-01440: column to be modified must be empty to decrease precision or scale
2017-06-08 08:26 by 潇湘隐者, 7473 阅读, 2 推荐, 收藏,
摘要:在修改表字段的NUMBER类型的精度或刻度时,你可能会遇到ORA-01440: column to be modified must be empty to decrease precision or scale,下面介绍一下,如何处理这个问题。测试案例如下: SQL> drop table test; Table dropped. SQL>create table test(pro... 阅读全文
SQL Server中sys.syslogin中updatedate字段的浅析
2017-06-07 23:09 by 潇湘隐者, 2210 阅读, 1 推荐, 收藏,
摘要:在系统视图sys.syslogins中,有createdate与updatedate两个字段,分别表示创建登录名与更新登录名的日期,如果你用updatedate的值来判断一个登录名的权限是否被修改过,那么你就要跳坑里了。当然sys.sysusers视图里面updatedate字段也不能作为某个use 阅读全文
ORACLE 中NUMBER类型默认的精度和Scale问题
2017-06-07 16:06 by 潇湘隐者, 55528 阅读, 15 推荐, 收藏,
摘要:在ORACLE数据库中,NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^-130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字。S是Scale的英文缩写,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数。有时候,我们在创建表的时候,... 阅读全文
浙公网安备 33010602011771号