Welcome 微信登录

首页 / 数据库 / MySQL

Oracle中的锁(LOCK)机制详解

Oracle中的锁(LOCK)机制详解

本文结合示例详细的介绍下Oracle中锁的机制。使用锁的目的是什么为了解决多用户环境下并发操作相同的资源而造成的错误修改数据的问题。单用户环境下不需要考虑锁,因为所有操作都是串行的。要点锁的分类异常复杂,enqueue、latch、mutex等,都是为了解决并发存在的,自己也有些混乱,所以也不过多解释了。下面列举一些对于lock的要点内容。排他锁:不允许相关的资源被共享。一个资源在一个时间点内只有一个事务能够获取该资源的排他锁,只有持有该锁的事务能够修改相...
在Buffer Cache中自动大表缓存

在Buffer Cache中自动大表缓存

约翰,在A银行做DBA。凯特琳,新的首席技术官,她正在为数据库性能问题由于长的I/O响应时间而沮丧。为了提高性能,她希望增加数据库实例的缓冲区缓存,以便在缓存中缓存更多的数据,从而减少了频繁需要去读磁盘。戴比,系统开发工程师,经历了很多这样的问题在她的职业生涯中,她解释说,“我们的应用有很多全表扫描,数据库的全表扫描使用的是直接路径读取(DPR)在表中的数据块,不做缓冲区高速缓存。”因此,添加物理内存到服务器后,增加缓冲区缓存,是不...
MySQL占用IO过高解决方案

MySQL占用IO过高解决方案

1、日志产生的性能影响:由于日志的记录带来的直接性能损耗就是数据库系统中最为昂贵的IO资源。MySQL的日志包括错误日志(ErrorLog),更新日志(UpdateLog),二进制日志(Binlog),查询日志(QueryLog),慢查询日志(SlowQueryLog)等。当然,更新日志是老版本的MySQL才有的,目前已经被二进制日志替代。在默认情况下,系统仅仅打开错误日志,关闭了其他所有日志,以达到尽可能减少IO损耗提高系统性能的目的。但是在一般稍微重要...
MongoDB数据库初步认识

MongoDB数据库初步认识

1. 初识接触MongoDB,是由于最近在工作中用到了MongoDB做数据存储。之前也听说过这个NoSQL数据库,但是一直没有尝试去使用它做开发。这次趁着这个机会,想好好学习下这个NoSQL数据库。每次听到这个名字,总是想,为什么它的Logo不是一个芒果呢!2. 简介MongoDB是一款C++编写的开源的跨平台面向文档数据库,是NoSQL数据库的一种。MongoDB摒弃了传统数据库中基于表的数据结构,采用类似JSON格式的文档结构来存储数据(MongoDB...
MongoDB的CRUD操作简析

MongoDB的CRUD操作简析

1. 前言在上一篇文章中,我们介绍了MongoDB。现在,我们来看下如何在MongoDB中进行常规的CRUD操作。毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作。MongoDB中的增删改查操作,不同于我们熟悉的关系数据库中的操作。在关系数据库中,比如MySQL,我们通常使用SQL语句对数据库进行增(INSERT)删(DELETE)改(UPDATE)查(SELECT)。MongoDB在对数据进行操作过程中,使用的是Document进行数据操...
MongoDB基本操作命令

MongoDB基本操作命令

由于工作需要,笔者这两天使用了一下MongoDB。真的很不习惯!但是确实好用,命令比mysql和sqlserver简单很多。在这里整理一些MongoDB的基本操作命令分享出来。客户端的安装就不说了,笔者是shell通过服务器连接的MongoDB进行操作的,直接进入正题。show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use <db name>:切换...
Linux 上通过binlog文件恢复MySQL数据库详细步骤

Linux 上通过binlog文件恢复MySQL数据库详细步骤

一、binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间。为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看。 用途1:主从同步 用途2:恢复数据库(也是线上出现一次数据库文件丢失后,才对这个有所了解并学习的) mysqlbinlog命令用法:shell> mysqlbinlog [options] log_file ...<...
Redis集群配置笔记

Redis集群配置笔记

本博文采用 Sentinel + Redis方式实现Redis高可用集群搭建。Sentinel 是Redis官方提供的Redis Server监控程序。我们可以通过部署Sentinel监控各个Redis Server,当Master Server失效时,通过选举,将Slave提升为Master,继续为客户端提供服务。在使用Sentinel之前,首先要确定客户端是否支持,如不支持,请选择其他第三方方案。架构图: 10.166.224.36 运行 redis...
HaProxy 配置Redis高可用集群笔记

HaProxy 配置Redis高可用集群笔记

目标是做一个高可用的redis集群供 sensu使用。redis集群采用Sentinel + Redis 配置三节点。 配置详情可参考之前一篇博文Redis集群配置Sentinel可以做到当master挂掉后,自动选举出新的master,然后它并不是一个proxy。因此我们需要一个proxy提供一个ip给client使用,本文使用HaProxy做代理。考虑到HaProxy单节点故障问题,使用Keepalived做HaProxy主从,从而实现一个高可用的Re...
搭建企业级高可用HBase

搭建企业级高可用HBase

1 HBase介绍HBase是一个分布式的、面向列的开源数据库,就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。它是一个高可靠性、高性能、面向列、可伸缩的分布式存储系...
HBase工作原理学习

HBase工作原理学习

HBase工作原理学习1 HBase简介HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建大规模结构化的存储集群。HBase的目标是存储并处理大型数据,具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。与MapReduce的离线批处理计算框架不同,HBase是一个可以随机访问的存储和检索数据平台,弥补了HDFS不能随机访问数据的缺陷,适合实时性要求不是非常高的业...
RHEL 5.7下Oracle 11g 单实例安装文档

RHEL 5.7下Oracle 11g 单实例安装文档

这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装Oracle 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整理在此。仅供参考!1:下载对应平台的ORACLE 11g安装介质安装ORACLE,首先要获取安装介质,大部分情况手头都有相关版本的安装介质。如果你手头没有安装介质,那么可以从下面链接获取对应平台的ORACLE安装介质。http://www.oracle.com...
Ubuntu 16.04 下安装 PostgreSQL 和 phpPgAdmin

Ubuntu 16.04 下安装 PostgreSQL 和 phpPgAdmin

PostgreSQL 是一款强大的高性能的对象关系型数据库管理系统(ORDBMS),采用与BSD一样的授权方式。PostgreSQL是非常适合大型数据库,有许多先进的功能。PostgreSQL支持许多操作系统,包括Linux,FreeBSD,Solaris和Microsoft Windows。phpPgAdmin 是管理PostgreSQL数据库基于PHP的Web应用程序。使用phpPgAdmin很容易创建一个数据库,创建一个角色,并在Postgres里创...
Data Guard跳归档恢复的案例

Data Guard跳归档恢复的案例

前面写了一个脚本之后http://www.linuxidc.com/Linux/2016-08/134301.htm,今天特意测试了一下,没想到一下子发现了一个大问题。有一套一主两备的10gR2环境,一个异机备库一直在READ ONLY状态,也就意味着数据库在打开之后一直忘了恢复应用归档,然后在某一天发现时,已经延迟了好几个月。无论怎样,还得庆幸发现了这个问题。目前来看一种行之有效的方法就是重搭备库,但是这种修复方式需要大量的磁盘空间,而且需要恢复的时间较...
<< 931 932 933 934 935 936 937 938 939 940 >>