自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (2)
  • 收藏
  • 关注

转载 mysql 行转列

原文链接 本文介绍的实例成功的实现了动态行转列。下面我以一个简单的数据库为例子,说明一下。数据表结构这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩 三张表:学生表、课程表、成绩表学生表 就简单一点,学生学号、学生姓名两个字段CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `

2016-06-20 16:19:05 1008

转载 mysql隔离级别

原文链接 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。未提交读(READ UNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)。提交读(READ COMMITTED)。本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前后两次相同的SELECT会读到不同

2016-06-16 16:35:59 370

原创 mysql修改表的存储引擎

将表从一个引擎改为另一个引擎的方法方法1:最简单的方法alter table test engine=innodb;但是如果表数据量大,则需要执行很长时间。因为mysql会按行将数据从原表复制到新表,在复制期间可能会消耗系统所有的IO,同时原表上会加读锁,所以业务繁忙的表要小心该操作。方法2:一种解决方案是使用导出导入 - 使用mysqldump导出文件 - 修改文件中的crea

2016-06-15 18:00:09 729

原创 innoDB的MVCC实现方式

innodb的MVCC是通过在每行记录后面保存两个隐藏的列来实现。一个保存行的创建时间,一个保存行的过期时间,存储的值为系统版本号。每开启一个新的事务,系统版本号都会自动增加。在repeatable read隔离级别下,MVCC的具体操作:select innodb会根据以下两个条件检查每行记录: innodb只查找版本早于当前事务版本的数据行。行删除版本要么未定义,要么大于当前事务版本号

2016-06-15 15:47:49 699

转载 centos下使用yum 安装percona xtrabackup

配置percona的yum仓库 一、先安装依赖:yum install perl-DBIyum install perl-DBD-MySQLyum install perl-Time-HiResyum install perl-IO-Socket-SSL二、配置yum源、 方法1、自动安装percona的yum仓库(以下分别为x86_64和i386平台)#rpm -ivh http://www.

2016-06-12 20:41:44 4665

原创 linux释放内存脚本

#!/bin/bashfreemem=$(cat /proc/meminfo | grep "MemFree" | awk '{print $2}')if [ $freemem -le 23500000 ];then date >> /tmp/mem.log free -m >> /tmp/mem.log sync sync

2016-03-16 10:37:34 496

原创 tomcat监控重启脚本

#!/bin/shPATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binexport JAVA_HOME=/usr/java/jdk1.6.0_37export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOM

2016-03-16 10:04:22 560

转载 Oracle 11G R2 用exp无法导出空表解决方法

Oracle 11G在用EXPORT导出时空表不能导出 11G R2中有个新特性当表无数据时不分配segment以节省空间 解决方法 一、 insert一行再rollback就产生segment了。 该方法是在在空表中插入数据再删除则产生segment。导出时则可导出 空表。 二、 设置deferred_segment_creation 参数 该

2016-03-10 13:38:08 524

转载 oracle 导入(imp)数据时的表空间(tablespace users)问题

原文链接 imp/exp 用户 表空间 users tablespace 使用exp把用户pwgh的数据导出后,再使用imp把数据导入另外一个数据库时。 发现一个问题,由于数据的导出用户pwgh的一些表建在表空间users里, 而我想把这些数据全部导入到另外一个数据库的某个表空间里,例如表空间pwgh_fs_tablespace。 虽然在创建用户的时候指定该用户的默认表空间(pwgh_fs

2016-03-10 13:23:29 4710

转载 oracle 查看隐藏参数

原文链接 隐藏参数 (hidden parameters) ,由oracle内部使用,以 ‘_’ 开头。可以通过以下两种方式查看所有隐藏参数:[sql] view plain copySELECT i.ksppinm name, i.ksppdesc description, CV.ksppstvl VALUE,

2016-03-10 11:45:59 536

原创 oracle后台进程

DBWR DBWR执行将数据块缓冲区写入数据文件的工作。 下列情况DBWR会将脏块写入磁盘服务器进程将一缓冲区移入dirty链,当dirty链达到临界长度时,服务器进程会通知DBWR写入操作。临界长度是数据块隐藏参数_DB_BLOCK_WRITE_BATCH值的一半服务器进程在LRU表中查找可用的数据块缓冲,如果查找了_DB_BLOCK_MAX_SCAN_CNT定义数量的缓冲区后,仍没

2016-02-23 15:11:01 797

原创 kettle 日志

文件日志命令行的/logfile参数,将日志导出到指定的文件中。linux管道符将屏幕输出转成日志。默认的日志文件保存在java.io.tmpdir目录下,文件名类似spoon_xxx.log为便于调试,Spoon里的有日志窗口,内容和日志文件相同日志相关参数 或者修改kettle.properties文件KETTLE_MAX_LOG_SIZE_IN_LINEKE

2016-02-17 11:50:17 1893

原创 kettle 运行方式

图形界面:spoon 命令行:pan、kitchen API:kettle java API 嵌入到其他应用spoon本地:在本地执行远程:在远程服务器执行,需要远程服务器执行carte carte是内嵌jetty的http server carte执行命令 carte localhost 9999(端口号任意,只要不和已有的冲突)命令行启动监听 需要

2016-02-17 09:49:19 1668

原创 kettle 资源库

元数据的存储方式资源库 包括文件资源库、数据库资源库4.0以后资源库类型可以插件拓展XML文件资源库类型数据库资源库 把kettle的元数据串行化到数据库中在spoon里创建和升级数据库资源库文件资源库 在文件的基础上的封装,实现了org.pentaho.di.repository.Repository接口(如果自己实现资源库也是实现这个接口),4.0以后增加的资源库类型不使用资源

2016-02-15 18:12:10 1931

转载 Linux的lvm管理:修改LV大小

原文链接lvm是一种灵活性很强的磁盘空间管理方式,可以方便的增加、减少文件系统的大小,这里说一下增加、减少lv及文件系统大小的操作过程。修改lv及文件系统的大小,必须先将lv及文件系统卸载(umount),然后才可以操作。1、增加空间增加空间的命令是:lvextend.有两种方法,一个是指定在现有的空间上增加的大小,一个是指定将现有空间增加到多少。举例,如果testlv目前的大小是20G在testl

2016-01-15 17:31:55 2217

转载 oracle的MAX_DUMP_FILE_SIZE参数和ora-02065

原文地址 MAX_DUMP_FILE_SIZE参数类型为字符性。 语法: MAX_DUMP_FILE_SIZE = {integer [K | M] | UNLIMITED}缺省值: UNLIMITED参数类别 动态参数: ALTER SESSION, ALTER SYSTEM取值范围 0 to unlimited, or UNLIMITEDMAX_DUMP_FILE_SIZE

2016-01-14 11:52:26 1717

转载 oracle共享服务器模式

oracle 响应客户端请求有两种方式: 1 专有连接:用一个服务器进程响应一个客户端请求 2 共享连接:用一个分派器(dispatcher)响应一个客户端请求,服务器端有多个服务器进程,共享处理所有分派器的请求; 两种连接方式的优缺点 1 对于连接数不多的应用,适宜用专有连接,客户的请求响应及时; 2 对于连接数较大的应用,适宜用共享连接,充分利用系统资源 后台作业和RMAN操作必须使

2016-01-13 11:22:15 538

原创 ORA-00845: MEMORY_TARGET not supported on this system

启动数据库,报错idle> startupORA-00845: MEMORY_TARGET not supported on this system原因 /dev/shm的值必须大于或等于memory_target、memory_max_target的值查看初始化参数文件中memory_target的大小[oracle@prod1 dbs]$ cat initPROD.ora |grep mem

2016-01-12 15:36:05 571

转载 专访搜狗DBA负责人王林平:为何从Oracle转向MySQL?

原文链接CSDN:首先,请做个自我介绍,目前所负责的领域以及所在公司。王林平:大家好,我是王林平,目前在搜狗商业平台研发部工作。 主要负责商业广告数据库的维护、优化、架构设计、流程体系建设、自动化运维平台建设等工作,目前比较关注数据库备份恢复、性能优化、运维自动化等几个领域。CSDN:你是从何时加入搜狗的?从事数据库开发和运维这么多年给你最大的感悟是什么?王林平:我是2011年初加入搜狗的,到搜

2016-01-12 09:39:59 514

原创 oracle 内部错误参考信息

ora 600错误参考信息

2016-01-11 18:15:38 680

原创 oracle只读模式

在只读模式下,数据文件及联机日志文件都禁止写操作。不过允许执行数据库恢复及其他不会产生回滚的操作。数据库关闭的情况下[oracle@prod1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Sun Feb 22 19:07:12 2015Copyright (c) 1982, 2009, Oracle. All

2016-01-11 11:19:42 1423

原创 oracle启动限制模式

在执行如下任务时,可以把数据库启动到限制模式 数据导入导出(import、export)数据的装载(SQL*Loader)阻止某些用户访问数据执行升级和迁移操作 在限制模式下,只有create session和restricted session权限用户能访问数据库数据库关闭条件下[oracle@prod1 ~]$ sqlplus / as sysdbaSQL*Plus: Release

2016-01-11 10:33:43 804

原创 oracle数据库自动启动关闭

在OS启动时,可以设置oracle和os一起启动或关闭。oracle自带dbstart和dbshut命令。它们会读取oratab文件[oracle@prod1 bin]$ cd $ORACLE_HOME/bin#查看启动和关闭脚本是否存在[oracle@prod1 bin]$ ls dbstart dbstart[oracle@prod1 bin]$ ls dbshut dbshut修改d

2016-01-10 18:29:23 953

原创 sqlplus

专用命令 1 登录注销命令sys@PROD> conn scott/tigerscott@PROD> conn scott/tiger@bj scott@PROD> disc2 编辑命令追加scott@PROD> l 1* select * from empscott@PROD> a where empno = 7788; 1* select *

2016-01-07 17:41:28 1112

原创 oracle监听

原理 客户端向服务器端发送连接请求,监听器监听到客户端德连接请求监听器监听到客户端德连接请求后,把客户端德连接请求交给数据库服务器处理客户端和服务器端建立连接,连接建立后,服务器端和客户端直接通信,而不再需要监听器的参与。 监听器启动会读取listener.ora文件LISTENER 是监听的名称(可以自定义)SID_NAME监听器监听的数据库实例名PROTOCOL 是监听

2015-12-29 12:21:19 533

原创 x86_64系统 yum安装i386包

yum安装32 bit的程序包,可先修改 vi /etc/yum.conf,添加一行:multilib_policy=allmultilib_policy=all

2015-12-23 19:21:30 1725

转载 centos yum 只下载包 不安装

yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是如果你只想将一个RPM包下载到你的系统上该怎么办呢? 例如,你可能想要获取一些RPM包在以后使用,或者将他们安装在另外的机器上。这里说明了如何从yum仓库上下载一个RPM包。 方法一:yumyum命令本身就可以用来下载一个RPM包,

2015-12-23 19:17:09 3479

转载 samba安装配置

原文链接场景需求:安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行。如果windows下编辑完再上传到服务器,再编译执行,就太繁琐了。一次两次还好说,这编译级别上千次的,每次也需要上传的话,无疑是个人间悲剧。但是有了Samba,犹如雪中送炭啊。安装 Ubuntu下安装比较简单,执行 # install samba samba-common 即

2015-12-18 17:44:39 498

原创 centOS6.4 oracle11g RAC搭建

DNS服务器的安装1 安装DNS需要的包[root@miles ~]# yum install bind-libs bind bind-utils2 修改DNS的配置文件/etc/named.conf[root@miles ~]# vi /etc/named.conf ...listen-on port 53 { 127.0.0.1;192.168.137.20; };#53为监听端口号;19

2015-12-14 19:04:59 4205

原创 mysql参数调优

为何要调整参数 不同服务器之间的配置、性能不一样不同业务场景对数据的需求不一样Mysql的默认参数只是个参考值,并不适合所有的应用场景优化之前我们需要知道什么服务器相关的配置 服务器型号操作系统版本内核版本磁盘存储介质(sas sata ssd)业务相关的情况 读多写少,读少写多业务数据增长量mysql相关的配置服务器上需要关注那些硬件情况 cpu(几核、超线程)内存

2015-12-09 21:05:56 867

原创 mysql导数据及注意事项

导出表testmysql> use db1;Database changedmysql> select count(*) from test;+----------+| count(*) |+----------+| 5 |+----------+1 row in set (0.01 sec)使用mysqldump导出加--single-transaction参数[r

2015-12-07 17:27:45 825

原创 mysql日常运维

DBA运维工作日常导数据、数据修改、表结构变更加权限、问题处理 其它数据库选型部署、设计、监控、备份、优化等日常运维工作导数据及注意事项 数据最终形式(csv、sql文本,还是直接导入到某个库中)导数据的方法(mysqldump、select into outfile)导数据注意事项 导出为csv格式需要file权限,并且只能数据库本地导避免锁库锁表(mysqldump使用–sin

2015-12-07 17:23:16 1775

原创 mysql部分数据复制

默认情况下,mysql的主从复制会复制主库所有的数据更改操作,但有时候我们只想复制部分数据,甚至复制其中几张表。mysql提供了实现部分数据复制的方式。 主库添加参数:binlog_do_db=db1binlog_ignore_db=db1从库上添加参数:(推荐设置从库端)replicate_do_db=db1replicate_ignore_db=db1replicate_do_table

2015-12-06 14:21:32 838

原创 mysql并行复制

并行复制社区版5.6中新增并行是指从库多线程apply binlog库级别并行应用binlog,同一个库数据更改还是串行的(5.7版并行复制基于事务组)设置set global slave_parallel_workers=10;设置sql线程数为10步骤:#从库mysql> show variables like '%slave_par%';+----------------------

2015-12-06 12:05:41 773

原创 mysql semi-sync(半同步复制)

半同步复制: 5.5集成到MySQL,以插件的形式存在,需要单独安装确保事务提交后bnog至少传输到一个从库不保证从库应用完这个事务的binlog性能有一定的降低,响应时间会更长 网络异常或从库宕机,卡住主库直到超时或从库恢复异步复制的逻辑 半同步复制的逻辑 安装 主库上mysql> install plugin rpl_semi_sync_master soname 's

2015-12-05 19:39:26 1503

原创 mysql主从复制原理及存在的问题

主从复制的原理 当从库执行CHANGE MASTER TO 后从库生成两个线程I/O thread和SQL thread。I/O线程与主库进行连接,请求主库的binlog。接收到binlog后,会存储到relay log中(中继日志)SQL线程会解析中继日志,并在从库上进行应用主库接到I/O线程的请求,会生成一个binlog dump thread。负责把binlog给从库的I/O线程。

2015-12-05 18:45:30 778

原创 mysql主从复制部署

主从复制的用途:实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从复制部署必要条件主库开启binlog日志(设置log-bin参数)主从server-id不同从库服务器连通主库步骤备份还原(mysqldump或xtrabackup) 授权(grant replication slave on .)配置复制,并启动(change master to )查看主从

2015-12-05 18:07:33 1009

原创 mysql多实例安装

多实例部署优势:充分利用系统资源 mysql为单进程多线程的模型,它对多核的利用不是很好,无法充分利用系统资源。所以服务器上可以考虑多实例部署资源隔离 如果不同的业务,部署在一个实例里,那么连接数、缓存等资源都是共享的。如果某个业务压力很大的话,很可能影响另一个业务的正常运行业务、模块隔离 例如,A业务需要支持移动端,那么久需要升级数据库以支持utf8mb4字符集。而B业务则不需要

2015-12-04 15:01:46 404

原创 mysql升级

演示以及5.5升级到5.6 当前数据库信息mysql> status;--------------mysql Ver 14.14 Distrib 5.5.46, for Linux (x86_64) using readline 5.1Connection id: 2Current database:Current user: root@localh

2015-12-03 20:29:14 441

原创 mysql线上安装部署

线上部署考虑因素: 版本选择,5.1、5.5还是5.6?5.1官方已不再维护,不建议5.5是现在线上使用最多的版本5.6最新的稳定版,已发布3年多,现在使用的也很多分支选择,官方社区版?persona server ? Mariadb ?官方版 推荐使用persona server 管理性能上有改进,并且完全兼容mysqlMariadb 是mysql原班人马开发的

2015-12-02 10:14:47 796

HBase权威指南

HBase权威指南

2016-02-17

空空如也

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

TA关注的人

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