自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zhu_Julian's Notes (朱显杰的技术博客)

技术沉思录,性能优化,架构设计,DBA感想

  • 博客(215)
  • 资源 (1)
  • 收藏
  • 关注

转载 [MySQL] 利用 MySql日志文件 恢复数据

1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态,其实并不是这样,这个恢复是有前提的,就是你至少得有一个从日志记录开始后的数据库备份,通过日志恢复数据库实际上只是一个对以前操作的回放过程而已,不用想得太复杂,既然是回放你就得注意了,如果你执行了两次恢复那么就相当于是回放了两次,后果如何你自己应该清楚了吧。 2. 要想通过日志恢复数据库,在你的my.cnf文件里应该有如

2014-09-30 09:09:48 6869

转载 mysql日志设置优化

前言在安装完MySQL之后,肯定是需要对MySQL的各种参数选项进行一些优化调整的。虽然MySQL系统的伸缩性很强,既可以在有很充足的硬件资源环境下高效的运行,也可以在极少资源环境下很好的运行,但不管怎样,尽可能充足的硬件资源对MySQL的性能提升总是有帮助的。在这一节我们主要分析一下MySQL的日志(主要是Binlog)对系统性能的影响,并根据日志的相关特性得出相应的优化思路。 

2014-09-03 10:32:41 2120

转载 [MySQL] 使用mysqladmin ext了解MySQL运行状态

mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。目录 [hide]1. 使用-r/-i参数2. 配合grep使用3. 配合简单

2014-08-31 21:59:45 2132

原创 Linux性能诊断工具

vmstat:虚拟内存状况–swpd   free  buff  cache   si  so   in   cs参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.htmliostat:io状况avgqu-sz   await svctm参考:http://blog.csdn.net/dba

2014-08-31 21:17:28 1959

原创 [MySQL] Innodb参数优化

innodb_buffer_pool_sizeinnodb_buffer_pool_size 参数用来设置Innodb 最主要的Buffer(Innodb_Buffer_Pool)的大小,也就是缓存用户表及索引数据的最主要缓存空间,对Innodb 整体性能影响也最大。对于一台单独给MySQL 使用的主机,并假设只使用innodb引擎,一般建议该参数为物流内存的75%左右。当系统

2014-07-22 22:53:40 5437

原创 [MySQL] MySQL的自动化安装部署

有过MySQL运维的人应该都清楚,线上的MySQL一般都采用源码编译,因为这样才可以根据企业的各自需要选择要编译的功能,虽然MySQL的源码编译挺简单的,但是试想一下,如果你有几百台服务器同时要安装MySQL,难道你还一台台去手动编译、编写配置文件吗?这显然太低效了,本文讨论MySQL的自动化安装部署。1、制作符合自己需求的RPM包我们要根据MySQL的源码编译符合企业需求的RPM包,源码

2014-07-02 10:31:42 3412 1

原创 [Hadoop] 如何为你的企业选择正确的Hadoop版本

由于Hadoop还处于初期高速发展的节点,加上它又是开源的,因此它的版本一直很混乱,Hadoop一些主要的特性有:Append:支持文件追加功能,如果想使用HBase,需要这个特性。RAID : 在保证数据可靠的前提下,通过引入校验码减少数据块数目。详细链接:https://issues.apache.org/jira/browse/HDFS/component/12313080

2014-06-26 22:47:51 1827 2

原创 [Oracle] Golden Gate - 概念和机制

Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉、变换、投递。OGG支持的异构环境有:OGG的特性:对生产系统影响小:实时读取交易日志,以低资源占用实现大交易量数据实时复制以交易为单位复制,保证交易一致性:只同步已提交的数据高性能智能的交易重组和操作合并使用数据库本地接口访问并行处理体系灵活的拓扑结构:支持一对

2014-06-22 15:13:13 3882

原创 [NOSQL] Redis介绍

Redis是Salvatore Sanfilippo在2009年为其初创公司LLOOGG开发的,目前仍是独立项目,但VMWare赞劣了项目(作者是其雇员)。它采用C

2014-06-17 19:05:10 2385

原创 [Oracle] ROWNUM和分页

rownum是oracle的一个伪劣,它的顺序根据从表中获取记录的顺序递增,这里要注意的是:由于记录在表中是无序存放的,因此你无法通过简单的rownum和order by的组合获得类似TOP N的结果。我们的测试数据如下: select * from test; ID NAME---------- -------------------- 1 A

2014-06-17 12:23:37 1501

原创 [Oracle] 分析函数(4)- Order By字句

分析函数中有ORDER BY的存在将添加一个默认的开窗子句!意味着从分区的第一行到当前行;分析函数中没有ORDER BY时,默认的窗口是分区内的全部 ;在Order by 子句后可以添加nulls last,如:order by comm desc nulls last   表示排序时忽略comm列为空的行.    不写between AND  ,在有order BY 的情况下,就

2014-06-07 23:42:08 2425

原创 [Oracle] 分析函数(2)- 开窗(WINDOWING)

Oracle分析函数的开窗部分分为3个类型

2014-06-07 23:22:41 2133

原创 [Oracle] 分析函数(1)- 语法

语法概述下面看一个例子简单过下语法:例:sum(sal) over (partition by deptno order by ename) new_aliassum就是函数名(sal)是分析函数的参数,每个函数有0~3个参数,参数可以是表达式,例如:sum(sal+comm)over() 是开窗函数,这是开启分析函数的起点,对于既可作为聚集函数又可作为分析函

2014-06-07 09:05:51 2504 1

原创 [Oracle] enq: TX - row lock contention 优化案例

根据开发反馈,最近每天早上7:30应用会报警,应用的日志显示数据库连接池满了,新的连接被拒绝。首先,我做了ASH报告(报告区间:7:25 ~ 7:35),从ASH的等待事件发现enq: TX - row lock contention居然高达76.54%,如下所示:Top User EventsEventEvent Class% Even

2014-06-04 09:28:56 5545

原创 [Oracle] Merge语句

Merge的语法如下:MERGE [hint] INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_i

2014-06-02 11:38:20 2981

原创 [Oracle] Insert All的妙用

无条件的插入Oracle中的insert all是指把同一批数据插入到不同的表中,假如现在有个需求:把t表中的数据分别插入t1,t2,如果你不知道insert all,你可能会使用insert插入2次,如下所示:insert into t1(object_name,object_id) select * from t;insert into t2(object_name,object

2014-06-02 10:06:03 5291 1

原创 [Oracle] Group By 语句的扩展 - Rollup、Cube和Grouping Sets

经常写SQL语句的人应该知道Group by语句的主要用法是进行分类汇总,下面是一种它最常见的用法(根据部门、职位分别统计业绩):SELECT a.dname,b.job,SUM(b.sal) sum_salFROM dept a,emp bWHERE a.deptno = b.deptnoGROUP BY a.dname,b.job;DNAME JOB

2014-06-01 21:16:45 2549

原创 [Oracle] - 性能优化工具(5) - AWRSQL

在AWR中定位到问题SQL语句后想要了解该SQL statement的具体执行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视图都已经找不到对应SQL ID的记录,一般来说这些语句已经从shared pool共享池中被替换出去了。这个时候我们可以尝试使用DBMS_XPLAN.DISPLAY_AWR存储过程来将Oracle

2014-05-24 15:46:21 3603

原创 [Oracle] - 性能优化工具(4) - AWRDD

AWRDD是用于比较两个AWR快照,从而获得不同时期的性能。执行如下语句获得AWRDD:@?/rdbms/admin/awrddrpt.sql2025 23 2月 2014 07:12 12026 23 2月 2014 08:00 12027 23 2月 2014 09:00 12028 23 2月 2014 10:00 12029 23

2014-05-24 15:41:12 1710

原创 [Oracle] - 性能优化工具(3) - ADDM

ADDM 通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题,并给出优化建议。获取ADDM的方法如下:@?/rdbms/admin/addmrpt.sql下面可以看一个例子:--第一步:创建测试用的表drop table t cascade constraints purge;create table t AS SELECT * FROM dba_objects

2014-05-24 15:28:39 2285

原创 [Oracle] - 性能优化工具(2) - ASH

ASH和AWR的关系ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件。不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成。ASH内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(Automatic Workload Repository ,AWR) 由后台进程MMON完成。ASH信息同样被采集写出到AWR负载库中。由于内存是有限的,所以MM

2014-05-24 15:15:01 2207

原创 [Oracle] - 性能优化工具(1) - AWR

AWR快照默认情况下,Oracle每隔一小时会自动产生一个快照,保存最近8天的快照。我们可以通过如下语句获得产生快照的时间间隔和保存的天数:SYS@orcl(lx15)> select SNAP_INTERVAL,RETENTION from dba_hist_wr_control;SNAP_INTERVAL

2014-05-24 14:54:38 2111

原创 [Nginx]用Nginx实现与应用结合的访问控制 - 防盗链

应用场景:图片等资源需要设置权限,如:只有认证过的用户才能访问自己的图片。解决办法:使用Nginx的防盗链模块http_secure_link可以实现,该模块默认情况下不包含,故在安装时要加上--with-http_secure_link_module该模块根据两个参数控制权限访问,一个是过期时间(即该链接在这个时间之前可访问,过期后无法访问),该参数主要出于安全考虑。另一个是通过md

2014-05-07 11:28:50 3211 2

原创 [NOSQL] Memcache入门

Memcache是临时性键值存储NoSQL数据库,过去被大量使用在互联网网站中,作为应用和数据库之间的缓存层(现已打都被Redis取代),它是由Danga Interactive公司开发,最初为了加速LiveJournal 访问速度而开发,后来成为广泛应用的开源项目,官网: http://memcached.org/Memcache的特点全内存运转哈希方式存储简单文本协议进

2014-04-28 13:51:07 1467

原创 [Oracle] 11G自动收集统计信息

在11g中,默认自动收集统计信息的时间为晚上10点(周一到周五,4个小时),早上6点(周六,周日,20个小时),如下所示:select a.window_name, a.repeat_interval,a.duration from dba_scheduler_windows a, dba_scheduler_wingroup_members b where a.window_na

2014-04-28 10:58:44 2470

原创 [Oracle] 获取执行计划的各方法总结

总的结论:一.获取执行计划的6种方法(详细步骤已经在每个例子的开头注释部分说明了):1. explain plan for获取; 2. set autotrace on ; 3. statistics_level=all;4. 通过dbms_xplan.display_cursor输入sql_id参数直接获取5. 10046 trace跟踪6. awrsqrpt.sql

2014-04-26 09:49:06 3964

原创 [Oracle] 表的连接

在OLTP系统里,嵌套连接占了70%左右,哈希连接占了20%,合并排序连接占了10%。算法:嵌套连接把两个表分为驱动表和被驱动表,先访问驱动表(只访问1次),然后根据驱动表返回的行数多次访问被驱动表(被驱动表访问的次数等于驱动表返回的行数)。根据上面的算法,我们可以知道,想要让嵌套连接性能好,必须同时满足以下3个条件:1)驱动表返回的行数要足够少(减少被驱动表访问的次数);2)驱动

2014-04-24 10:55:47 1624

原创 [Oracle] 位图索引

位图索引的原理位图索引的优势1、快速统计条数由于位图索引只存储0和1的指,因此它的空间占用很小,向count(*)之类的操作用位图索引就很快。2、高效即席查询我们在OLAP系统中,经常会做多维度的统计,如人口普查,经常会需要做一些关于性别、年龄、出生地的多维度查询,这种就是即席查询。位图索引非常实用用于即席查询,因为对于计算机来说,就是0和1直接的与或运算,

2014-04-18 17:35:43 2136

原创 [Oracle] 谈谈主外键设计

主外键有两大特点:1)主键本身是一个唯一索引,保证主键所在列的唯一性;2)外键列指必须在主表中的主键列有相应记录。外键上一定要建索引我们知道,主键本身是一个唯一索引,外键是一个约束,默认情况下没有索引,但在实际使用中强烈建议在外键上建索引,下面看两个例子:SQL> alter database mount;Database altered.SQL> alter data

2014-04-16 17:50:08 1625

原创 [Oracle] opiodr aborting process unknown ospid (***) as a result of ORA-609

今天线上数据库(版本11.2.0.1)无法建立新连接,但原有的连接不受影响,alert.log报如下错误:opiodr aborting process unknown ospid (22997) as a result of ORA-609但在listener.log里却显示连接已建立03-APR-2014 16:05:44 * (CONNECT_DATA=(SERVICE_NAME

2014-04-03 16:13:48 10418

原创 [MySQL] 分区表

和Oracle不一样的是:MySQL没有全局索引,只有分区索引,因此对于MySQL的分区表来说,限制比Oracle要多一些:1、分区键必须是主键的一部分2、分区键的数据类型必须是整形(包括时间类型)3、分区键不能为NULL下面是一个基于时间的表分区定义:PARTITION BY RANGE (TO_DAYS(START))( PARTITION p201401 VALUES

2014-03-06 14:06:57 1640

转载 [Linux] IRedmail邮件服务器

原文链接:http://wiki.ubuntu.org.cn/IRedMailiRedmail 组件iRedMail主要是使用下面软件来构建邮件系统,下面是Ubuntu 10.04的软件版本。Apache 2.2.xPHP 5.3.xMySQL 5.1.xOpenLDAP 2.4.xPostfix 2.7.x ( MTA )Dovecot 1.2.xAmavisd 2.

2014-02-13 11:12:43 8900

原创 [Linux] 邮件服务器的工作原理

邮件传输所需要的组件(MUA、MYA、MDA)和相关协议(SMTP)邮件服务器的传输过程如上所示,其几个重要组件如下:1)MUA(Mail User Agent):即邮件客户端软件,如Windows的Outlook,客户通过它来浏览、写和收邮件;2)MTA(Mail Transfer Agent):当你在MUA(如outlook)上点发邮件时,其实它是把邮件发到MTA(如Sen

2014-02-13 09:57:42 4674

原创 [网络] DNS解析

DNS客户端的配置文件DNS客户端的配置文件主要有:1) /etc/hosts2) /etc/resolv.conf3) /etc/nsswitch.conf/etc/hosts文件记录了IP和主机名的对应关系,/etc/resolv.conf用于配置DNS服务器,如下所示:$ cat /etc/resolv.conf nameserver 8.8.4.4names

2014-02-12 15:44:27 2221

原创 [Linux] 网络设置

Linux的网络设置主要涉及的配置文件如下:IP相关参数设置设置IP相关参数的配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0,如下所示:DEVICE=eth0BOOTPROTO=staticBROADCAST=10.10.100.255HWADDR=90:B1:1C:12:E0:61IPADDR=10.10.

2014-02-08 14:32:28 1504

原创 [网络] 大话IP地址

本文说的IP是指IPv4,IPv6不在本文的讨论范围之内。IP是由32位2进制组成,通常为了表示方便,用4组十进制数字表示,

2014-02-08 12:54:06 2394

原创 [Linux] 软件安装与管理 - rpm、yum

前面我们提到Linux上的软件都可以通过Tarball的方式进行源码安装,但每次都要下载、编译、安装,是否太麻烦了一些?有没有类似windows那样厂商把软件编译好,我们用户直接拿来安装就行?答案是肯定的,这就是我们今天要说到的rpm和yum。在Linux上,有两大主流的软件管理方法,如下所示:由于Centos采用的是第一种,因此在这只介绍RPM和YUM。什么是RPM和

2014-02-07 16:39:48 2800

转载 [Oracle] 11g中 ADD COLUMN 功能增强

一.  Enhanced ADD COLUMN 说明在Oracle 11gR1中,Oracle 对add column 进行了增强。 官网的说明地址:http://docs.oracle.com/cd/B28359_01/server.111/b28279/chapter1.htm#NEWFTCH1 1.1 Enhanced ADD COLUMN Functionali

2014-02-07 14:00:45 2811

原创 [Oracle] 性能调优实例 - read by other session

这今天每天下午3点,开发人员反应Oracle慢,第一等待事件是read by other sessionTop 5 Timed Foreground EventsEventWaitsTime(s)Avg wait (ms)% DB timeWait Classread by other sess

2014-01-24 15:48:55 4239

原创 [Linux] 软件源码安装 - Tarball

什么是Tarball所谓的Tarball文件,是指把软件的所有源码以tar打包,再压缩。它通常包含以下文件列表:1)源代码文件2)检测程序文件(configure或config等)3)简易说明和安装说明(INSTALL或README)Tarball安装的基本步骤Tarball安装的命令执行方式如下:1  ./congifure上面说过,在Tarball文件里

2014-01-20 13:30:45 1694

淘宝数据库这5年

讲述淘宝数据库这5年来的变化历程,Oracle -> MySQL -> NOSQL

2013-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除