代码改变世界

[置顶]MySQL 博客文章目录(2017-02-18更新)

2015-11-14 22:53 by 潇湘隐者, 2255 阅读, 收藏, 编辑
摘要: 1 MySQL安装配置 Linux MySQL源码安装缺少ncurses-devel包 Linux平台卸载MySQL总结 Linux 卸载mysql-libs包出现错误 CentOS 7 安装MySQL 5.6遇到的疑难杂症小结 2 MySQL管理配置 MySQL修改root账号密码 MySQL查看数据库相关信息 查看mysql数据库版本方法总结 Linux 平台MySQL启动关...阅读全文

[置顶]ORACLE 博客文章目录(2015-05-27更新)

2013-08-13 23:30 by 潇湘隐者, 6970 阅读, 收藏, 编辑
摘要: 从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理、归纳分类,方便自己和大家查看、翻阅。 ORACLE数据类型 ORACLE基本数据类型总结 ORAC阅读全文

[置顶]Unix&Linux技术文章目录(2015-12-22更新)

2013-08-03 16:37 by 潇湘隐者, 3245 阅读, 收藏, 编辑
摘要: Unix & Linux 方面的博客整理、归纳分类,要坚持不懈的学习Unix &Linux,加油!技术需要累积和沉淀.更需要锲而不舍的精神、持之以恒的毅力!借此下面名句勉励自己! 书上有路勤为径,学海无涯苦作舟! 泰山不辞细土,故能成其高;大海不择细流,故能就其深。 罗马不是一天建成的,胖子也不是一顿吃成的。 Shell学习总结 文件管理 Linux命令学习总结:cd命令 Linu...阅读全文

[置顶]SQL Sever 博客文章目录(2016-07-06更新)

2013-08-03 15:23 by 潇湘隐者, 2810 阅读, 收藏, 编辑
摘要: SQL Server方面的博客文章也陆陆续续的写了不少了,顺便也将这些知识点整理、归纳一下下。方便自己和他人查看。 MS SQL 数据类型 三大数据库对比研究系列——数据类型 MS SQL 表和视图 数据库表的基本信息,你知道吗? 数据查询表,列名对比 MS SQL 建表SQL的脚本 查看数据库、表、索引的物理存储情况 慎用SELECT INTO复制表 MS SQL 索引约束 ...阅读全文

Multiple Server Query Execution报The result set could not be merged..

2017-08-23 16:48 by 潇湘隐者, 5 阅读, 收藏, 编辑
摘要: 在SQL Server中使用Multiple Server Query Execution这个功能做数据库维护或脚本发布时非常方便,昨天由于磁盘空间原因,删除清理了大量的软件和组件,结果导致SSMS客户端出了问题,重装过后,使用Multiple Server Query Execution时,出现了大量下面错误: An error occurred while executing ...阅读全文

ORACLE Index Lookup索引访问路径总结

2017-08-23 10:11 by 潇湘隐者, 18 阅读, 收藏, 编辑
摘要: 在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 潇湘隐者, 54 阅读, 收藏, 编辑
摘要: 在一台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 潇湘隐者, 213 阅读, 收藏, 编辑
摘要: 最近遇到一个案例,很多查询被阻塞没有返回结果,使用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 潇湘隐者, 82 阅读, 收藏, 编辑
摘要: 在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 潇湘隐者, 31 阅读, 收藏, 编辑
摘要: 在这篇"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 潇湘隐者, 72 阅读, 收藏, 编辑
摘要: 当收到告警信息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 潇湘隐者, 83 阅读, 收藏, 编辑
摘要: 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 潇湘隐者, 40 阅读, 收藏, 编辑
摘要: 在不同地域的两个SQL Server服务器上配置了复制(Replication)用于同步数据(生产环境配置有Replication,测试环境也配有Replication),两地通过专线连接起来,这些复制(Replication)已经稳定运行了一两年了, 但是前阵子,测试环境的SQL Server的Replication中突然遇到下面错误: Error messages: The...阅读全文

SQL Server中如何定位Row Lock锁定哪一行数据

2017-08-01 15:36 by 潇湘隐者, 105 阅读, 收藏, 编辑
摘要: 在SQL Server中有时候会使用提示(Hint)强制SQL使用行锁(Row Lock),前两天有个同事咨询了一个问题,如何定位Row Lock具体锁定了哪一行。其实这个问题只适合研究一下,实际意义并不大,因为找到、定位被锁定的行的代价开销较大,而意义却不怎么大,而且使用场景也很少。那么下面我们来探讨、研究一下这个问题吧: 在会话窗口(会话ID=65)下执行下面SQL语句,模拟SQL S...阅读全文

SQL Server事务遭遇网络异常时的处理机制浅析

2017-07-27 17:03 by 潇湘隐者, 581 阅读, 收藏, 编辑
摘要: SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Server数据库是通过什么机制来判断处理呢? 估计很多人跟我一样都有不少疑问, 我们下面构造一个测试实验来测试验证一下。如下所示: 步骤1:在客户端连使用S阅读全文

MS SQL批量生成作业脚本方法介绍总结

2017-07-25 11:21 by 潇湘隐者, 182 阅读, 收藏, 编辑
摘要: 在迁移或升级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 潇湘隐者, 62 阅读, 收藏, 编辑
摘要: 今天在折腾MySQL的参数文件时,突然发现MySQL 5.6.20-enterprise-commercial-advanced-log这个版本数据库的参数文件my.cnf的位置有点奇怪,如下所示: [root@DB-Server ~]# mysql --help | grep my.cnf order of preference, my.cnf, ...阅读全文

十年聚首——愿你出走半生 归来仍是少年

2017-07-18 22:25 by 潇湘隐者, 74 阅读, 收藏, 编辑
该文被密码保护。

RHEL 5.7 使用rpm安装XtraBackup问题总结

2017-07-11 17:24 by 潇湘隐者, 105 阅读, 收藏, 编辑
摘要: 在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 潇湘隐者, 243 阅读, 收藏, 编辑
摘要: 前阵子遇到一个案例,需要将数据库中的几个表从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 潇湘隐者, 79 阅读, 收藏, 编辑
摘要: 同事反馈一个系统在运行一个存储过程时遇到了下面错误: 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 潇湘隐者, 171 阅读, 收藏, 编辑
摘要: 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 潇湘隐者, 126 阅读, 收藏, 编辑
摘要: 巡检发现一台Linux服务器上的作业没有如期发送邮件,登录服务器检查后发现作业并没有执行,于是检查一下crontab的设置。结果发现如下错误: [root@mylnx2 ~]# crontab -l Authentication token is no longer valid; new one r阅读全文

用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提供的名称匹配的登录名。 [客户端: ]

2017-06-23 15:35 by 潇湘隐者, 120 阅读, 收藏, 编辑
摘要: 一工厂的中控服务器遇到了下面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 潇湘隐者, 88 阅读, 收藏, 编辑
摘要: 前言: 本文是对博客https://www.mssqltips.com/sqlservertip/2827/troubleshooting-sql-server-resourcesemaphore-waittype-memory-issues/的翻译,本文基本直译,部分地方读起来有点不自然。 如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处htt...阅读全文

SQL Server Alert发送告警邮件少了的原因

2017-06-21 17:53 by 潇湘隐者, 135 阅读, 收藏, 编辑
摘要: 最近突然发现我们部署在数据库上面的告警(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 潇湘隐者, 207 阅读, 收藏, 编辑
摘要: 昨天遇到一个很奇怪的事情,有一台服务器在使用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 潇湘隐者, 127 阅读, 收藏, 编辑
摘要: 一直习惯使用sys.master_files来统计数据库的大小以及使用情况,但是发现sys.master_files不能准确统计tempdb的数据库大小信息。如下所示: SELECT database_id AS DataBaseId ,DB_NAME(database_id) ...阅读全文

MySQL 如何查看表的存储引擎

2017-06-13 09:45 by 潇湘隐者, 146 阅读, 收藏, 编辑
摘要: MySQL 如何查看表的存储引擎 在MySQL中如何查看单个表的存储引擎? 如何查看整个数据库有那些表是某个特殊存储引擎,例如MyISAM存储引擎呢?下面简单的整理一下这方面的知识点。 如果要查看单个表的存储引擎,可以用show create table命令查看该表的存储引擎,那么有下面一些方法: 方法1: mysql> show create table test; ...阅读全文

MySQL中lock tables和unlock tables浅析

2017-06-12 10:05 by 潇湘隐者, 294 阅读, 收藏, 编辑
摘要: MySQL中lock tables和unlock tables浅析 在MySQL中提供了锁定表(lock tables)和解锁表(unlock tables)的语法功能,ORACLE与SQL Server数据库当中没有这种语法。相信刚接触MySQL的人,都想详细、深入的了解一下这个功能.下面就尽量全面的解析、总结一下MySQL中lock tables与unlock tables的功能,如有不足...阅读全文

mysqldump 参数--lock-tables浅析

2017-06-08 17:20 by 潇湘隐者, 221 阅读, 收藏, 编辑
摘要: 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 潇湘隐者, 144 阅读, 收藏, 编辑
摘要: 在修改表字段的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 潇湘隐者, 130 阅读, 收藏, 编辑
摘要: 在系统视图sys.syslogins中,有createdate与updatedate两个字段,分别表示创建登录名与更新登录名的日期,如果你用updatedate的值来判断一个登录名的权限是否被修改过,那么你就要跳坑里了。当然sys.sysusers视图里面updatedate字段也不能作为某个use阅读全文

ORACLE 中NUMBER类型默认的精度和Scale问题

2017-06-07 16:06 by 潇湘隐者, 811 阅读, 收藏, 编辑
摘要: 在ORACLE数据库中,NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^-130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字。S是Scale的英文缩写,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数。有时候,我们在创建表的时候,...阅读全文