(转)管理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.
(转)memcached的分布式解读
作者:tdqing原文:http://tdqing.javaeye.com/blog/451178memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。服务器端仅包括 内存存储功能,其实现非常简单。至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。[@more@]memcached的分布式是什么意思?这里多次使用了“分布式”这个词,但并未做详细解释。现在开始简单地介绍一下其原理,各个客户端的实现基本相同。下面假设memcached服务器有node1~node3三台,应用程序要保存键名为“tokyo”“kanagawa”“chiba”“saita
(转)InnoDB之Dirty Page、Redo log
作者:苏普 | 【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】 地址:http://rdc.taobao.com/blog/dba/html/317_innodb-dirty-page-redo-log.html在InnoDB中,buffer pool里面的dirty page一方面可以加快数据处理速度,同时也会造成数据的不一致(RAM vs DISK)。本文介绍了dirty page是如何产生,以及InnoDB如何利用redo log如何消除dirty page产生的数据不一致。[@more@]当事务(Transaction)需要修改某条记录(row)时,InnoDB需要将该数据所在的page从 disk读到buffer pool中,事务提交后,InnoDB修改page中的记
(转)索引扫描还是全表扫描(Index Scan Or Full Table Scan)
作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接:http://www.jianzhaoyang.com/database/index_scan_or_full_table_scan在大多数时候,大家都会认为Sql语句中走Index Scan比Full Table Scan快,我前面也走进了这样的误区(对Index Scan的理解不够)。这两天重新复习了一下这方面内容,并整理了一下。[@more@]当Oracle Optimizer(优化器)没有选择Index Scan而选择了Full Table Scan的时候一般会是由两种情况: 1、表没有Analyze,Optimizer得不到statistics(统计)数据,
使用mysqlsniffer捕获SQL语句
MySQL5.1之前general log不能在运行时启用或禁用,有时想捕捉SQL来查找问题就很麻烦,偶然间发现一个很不错的小工具:mysqlsniffer,可以用来捕捉SQL语句,使用帮助如下:mysqlsniffer --helpmysqlsniffer v1.2 - Watch MySQL traffic on a TCP/IP networkUsage: mysqlsniffer [OPTIONS] INTERFACEOPTIONS: --port N Listen for MySQL on port number N (default 3306) --verbose Show extra packet information --tcp-ctrl Show TCP control packets (SYN, FIN, RST, ACK) --net-hdrs Show major IP and
用mysqlbinlog查看row格式的事件
MySQL 5.1开始,binlog支持row-based的格式,默认情况下只能看到一些经过base-64编码的信息,如DELIMITER /*!*/;# at 7493962#090827 5:25:03 server id 1 end_log_pos 0 Start: binlog v 4, server v 5.1.26-rc-community-log created 090827 5:25:03BINLOG 'L6iVSg8BAAAAZgAAAAAAAAAAAAQANS4xLjI2LXJjLWNvbW11bml0eS1sb2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC'/*!*/;# at 7493962# at 7494009#090827 13:20:40 server id 1 end_log_pos 7494009 Table_map: `test`.`test1` m
学习笔记:MySQL Cluster 的binlog
MySQL Cluster中,如果启用了binlog,在任何sql node的更新操作,都会写入所有node的binlog,当然,这是有条件的:更新操作的node上binlog_format=mixed或者row,反之,如果是statement,就只会在更新操作的node上写入binlog。 另外,MySQL Cluster Replication是要求binlog是row-based,所以要将master的binlog设置为mixed或row。手册中如是说:Replication of a MySQL Cluster as described in this section and those following is dependent on row-based replication. This means that the replication master MySQL server must
学习笔记:MySQL Cluster 的结果顺序
最近搭建了MySQL Cluster的环境来学习,发现一个很有意思的现象,在不加order by的情况下,返回的结果顺序是随机的,每次都不一样,如下[@more@]mysql> select * from test_ndb limit 3; +---+-------+ | i | a | +---+-------+ | 5 | test5 | | 1 | test1 | | 2 | test2 | +---+-------+ 3 rows in set (0.05 sec) mysql> select * from test_ndb limit 3; +---+-------+ | i | a | +---+-------+ | 7 | test7 | | 3 | test3 | | 6 | test6 | +---+-------+ 3 rows in set (0.03 sec) mysql> sel
(链接)MySQL Cluster的备份与恢复
http://yueliangdao0608.blog.51cto.com/397025/81534[@more@]