SqlServer 2005 常用SQL
--查询哪个查询阻塞了其他的查询SELECTblocked_query.session_id AS blocked_session_id,blocking_query.session_id AS blocking_session_id,sql_text.text AS blocking_text,waits.wait_type AS blocking_resourceFROM sys.dm_exec_requests blocked_queryJOIN sys.dm_exec_requests blocking_query ON blocked_query.blocking_session_id = blocking_query.session_idCROSS APPLY (SELECT * FROM sys.dm_exec_sql_text(blocking_query.sql_handle) ) sql_textJOIN sys.dm_os_waiting_tasks waits ON waits.session_id = blocking_query.
启用sqlserver2005是快照隔离
启用sqlserver2005是快照隔离,方法如下:ALTER DATABASE YourDataBaseName SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE YourDataBaseName SET READ_COMMITTED_SNAPSHOT ON;[@more@]
error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such
error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory问题解决办法:locate libmysqlclient.so.16如我的mysql安装在/usr/local/mysql下,则结果为/usr/local/mysql/lib/mysql/libmysqlclient.so.16vi /etc/ld.so.conf增加一行 /usr/local/mysql/lib/mysql然后执行ldconfig生效。[@more@]
lvs+keepalived
keepalived比Heartbeat简单易用[@more@]安装keepalived./configure --prefix=/usr --sysconfdir=/etc 如果显示Use IPVS Framework : NoIPVS sync daemon support : No请指定linux内核源码目录./configure --prefix=/usr --sysconfdir=/etc --with-kernel-dir=/usr/src/kernels/linux-2.6.35.9/make && make install chkconfig --add keepalived chkconfig --level 35 keepalived on mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.old vi /etc/keepalived/keepalived.conf ! Configuration File for
使用Memcached实现Session共享
由于Cookie是保存的用户客户端的,安全性存在问题,为保证用户数据的安全性,我们必须使用Session机制来保存用户登录后的一些信息。 如果我们使用LVS对Apache实现负载均衡,就无法保证用户每次都能被分配到同一台Apache Server上,以取到自己的Session,虽然LVS可以加-p参数来保证客户端每次都被分配到同一台Apache Server上,但这种方式存在一些弊端,比如必须设置一个保持时间,如果时间太长了,LVS就需要缓存大量信息,时间太短了,又不能保证用户每次被分配到同一台Server上,而且这种方式也不易实现Session的冗余备份。 因此,我们需
Heartbeat实现LVS的故障转移
LVS是1998年5月由章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如RedHat的Piranha,TurboLinux公司的Turbo Cluster等,都是基于LVS的核心代码的。在现实的应用中,LVS得到了大量的部署。[@more@]1.3 用Heartbeat实现LVS的高可用性 LVS可以对Apache等服务实现负载均衡,LVS与Ldirectord搭配使用也可以实现Apache等服务的故障转移,但是LVS自己本身没有冗余机制,因此需要借助第三方工具Heartbeat来实现。 1.3.1 Heartbeat简介 Heartbeat最核心包括两个部分:心跳监测部分和资源接管部分。心跳监测可以通过网络链
Heartbeat+DRBD实现MySQL高可用性
DRBD是一种块设备,可以被用于高可用(HA)之中。它类似于一个网络RAID-1功能。当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上。以相同的形式记录在一个文件系统中。本地(主节点)与远程主机(备节点)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。 [@more@]1.3 环境准备 两台主机:192.168.100.8,192.168.100.9 需要为本地主机和远程主机,指定一个DRBD使用的硬盘分区。这两个分区的大小必须相同。我们指定两台主机的/dev/sda2分区作为DRBD的使用的分区.这两个分
Amoeba实现MySQL的负载均衡、故障转移
Amoeba(变形虫,读:阿米巴)项目,专注分布式数据库proxy开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 主要解决: • 降低数据切分带来的复杂多数据库结构 • 提供切分规则并降低数据切分规则给应用带来的影响 • 降低db 与客户端的连接数[@more@]1.3 安装Amoeba Amoeba 框架是基于JDK1.5开发的,采用了JDK1.5的特性。支持Mysql 协议版本10(mysql 4.1以后的版本),因此,使用Amoeba需要安装JDK
(转)管理LVM2逻辑分区
http://train.gd-linux.com 作者:knight 使用LVM以后,维护分区(也就是LV)大小就成了经常的操作。之前也做过,不过这两天用到的时候却忘的差不多了,所以又得从头再来。为了下次不用再从头来,索性就把操作记录下来吧。增大分区和减小分区这两个最常用了,这里也就说这么多。[@more@]1、增大分区首先要确定VG是否还有剩余的PE。如果PE没有剩余了,就得考虑先增加新的PV或者释放更多的剩余PE,新增PV这里不做介绍,下一部分的减小分区却会释放更多的PE。PE的使用情况可以用vgdisplay命令查看。~# vgdisplay--- Volume group ---VG Name
(转)ORACLE 中IN和EXISTS比较
原文:http://www.cnblogs.com/yf520gn/archive/2009/01/12/1374359.htmlEXISTS的执行流程 select * from t1 where exists ( select null from t2 where y = x ) 可以理解为: for x in ( select * from t1 ) loop if ( exists ( select null from t2 where y = x.x ) then OUTPUT THE RECORD end if end loop 对于in 和 exists的性能区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。 其实我
SQL语句处理的过程(SQL性能调整)
第1章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。本节介绍了SQL语句处理的基本过程,主要包括: · 查询语句处理 · DML语句处理(insert, update, delete) · DDL 语句处理(create .. , drop .. , alter .. , ) · 事务控制(commit, rollback) SQL 语句的执行过程(SQL Statement Execution) 图3-1 概要的列出了处理和运行一个sql语句的需要各个重要阶段。在某些情况下,Oracle运行sql的过程可能与下面列出的各个阶段的顺序有所不同。如DEFIN
ORACLE sql 语句的执行过程(SQL性能调整)
第1章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。本节介绍了SQL语句处理的基本过程,主要包括: · 查询语句处理 · DML语句处理(insert, update, delete) · DDL 语句处理(create .. , drop .. , alter .. , ) · 事务控制(commit, rollback) SQL 语句的执行过程(SQL Statement Execution) 图3-1 概要的列出了处理和运行一个sql语句的需要各个重要阶段。在某些情况下,Oracle运行sql的过程可能与下面列出的各个阶段的顺序有所不同。如DEFIN
(转)解读MySQL的InnoDB引擎日志工作原理
作者:happytest 原文: http://happytest.blog.51cto.com/324097/62848 当你使用UPDATE, INSERT, DELETE语句更新数据的时候,你就改变了两个地方的数据:log buffer和data buffers。Buffers是固定长度的内存块,通常是512字节。 LOG BUFFER DATA BUFFER================= ================ Log Record #1 = = Page Header == Log Record #2 = = Data Row == Log Record #3 = = Data Row == Log Record #4 = = Data Row ================== ===============例如:INSERT IN
MySQL Cluster 配置文件
MySQL Cluster 配置文件[@more@]1、管理节点config.ini[tcp default]SendBufferMemory=2MReceiveBufferMemory=2M[ndb_mgmd default]PortNumber=1185DataDir=/u01/mysql-cluster/data/ndb_mgmd[ndb_mgmd]id = 1hostname=localhost[ndbd default]NoOfReplicas=2#DataDir=/u01/mysql-cluster/data/ndbd[ndbd]hostname=localhostid=2DataDir=/u01/mysql-cluster/data/ndbd1[ndbd]hostname=localhostid=3DataDir=/u01/mysql-cluster/data/ndbd2[mysqld]id=4hostname=localhost[mysqld]id=5hostname=localhost[mysqld]id=6hostname=localhost启动
(转)PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用
作者:剑飘红 原文链接:http://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题: [@more@]代码一:将Name中的字符COPY至Comment中 Option Explicit ValidationMode = True InteractiveMode = im_Ba
(转)MySQL ORDER BY 的实现分析
作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接:http://www.jianzhaoyang.com/database/mysql_order_by_implement总的来说,在 MySQL 中的ORDER BY有两种排序实现方式,一种是利用有序索引获取有序数据,另一种则是通过相应的排序算法,将取得的数据在内存中进行排序。 下面将通过实例分析两种排序实现方式及实现图解: 假设有 Table A 和 B 两个表结构分别如下: [@more@]sky@localhost : example 01:48:21; show create table AG*************************** 1. row **
(转)使用Xtrabackup备份MySQL数据库(续)
作者:NinGoo | 【转载须以超链接形式标明文章原始出处和作者信息】 原文: http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html在上一篇里,演示了使用xtrabackup对InnoDB进行在线物理热备,使用innobackupex脚本,可以很简单的一条命令行搞定InnoDB和MyISAM的物理备份。本文则演示如何从xtrabackup的备份中进行恢复。本次恢复的是一个600GB大小的InnoDB数据库,备份的时候没有使用gzip压缩。首先将备份好的tar文件解开到目标数据库的数据路径下,这一步类似oracle的restore database:[@more@]tar -ixvf my
(转)使用Xtrabackup备份MySQL数据库
作者:NinGoo | 【转载须以超链接形式标明文章原始出处和作者信息】 原文: http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.htmlMySQL数据库的备份,一直是个比较头痛的问题。各种工具虽然不少,但一个真正好用易用的,却又非常难找。Mysqldump做为数据的逻辑备份 工具还行,但是无法进行在线热备,而没有物理备份工具,在数据量比较大的时候,恢复的时间也会长得无法接受。InnoDB倒是有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备。最近发现了一个工具,percona出品的Xtrabackup,是InnoD
Percona XtraDB Storage Engine安装笔记
XtraDB 是Percona公司开发的一个MySQL 的存储引擎,其设计的主要目的是用以替代现在的InnoDB。XtraDB 100%的兼容 InnoDB。在性能上有很大提高,评测可看这里http://www.mysqlperformanceblog.com/2009/07/14/performance-improvements-in-percona-5-0-83-and-xtradb/ 。以下是我安装过程笔记:[@more@] 1、下载XtraDBwget -c http://www.percona.com/mysql/xtradb/5.1.37-7/source/MySQL-percona-5.1.37-7.rhel5.src.rpm2、下载下来是rpm源码包,使用rpm解包rpm -ivh MySQL-percona-5.1.37-7.rhel5.src.rpm3、解压源码包cd /usr/src/redh
(转)使用wget下载OTN上的Oracle
作者:Ghostbb链接:http://ghostbb.javaeye.com/blog/3549771. 下载lynx(一个基于命令行的浏览器) apt-get install lynx 2. 设置lynx配置文件 在当前用户的跟目录创建一个lynx.cfg文件,内容如下: SET_COOKIES:TRUEPERSISTENT_COOKIES:TRUEACCEPT_ALL_COOKIES:TRUECOOKIE_FILE:~/.lynx_cookiesINCLUDE:/etc/lynx.cfg [@more@]3. 使用lynx访问你需要下载的Oracle文件(这里我要下载Oracle 10 x64版本地址为:http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux_x86_64.cpio.gz) lynx -cfg=./lynx.