自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 oracle 表的碎片化整理

数据库在日常的使用过程中,不断的insert,delete,update,导致表和索引出现碎片。这会导致HWM之前有很多的空闲空间,而oracle在做全表扫描的时候会读取HWM一下的所有块,这样会产生更多的IO,影响性能。oracle提供了shrink space碎片整理的功能,对于索引要采取rebuild online的方式进行碎片整理。实验:1.创建一张表,数据量50w,并创建索引

2017-11-18 11:30:58 7604 1

原创 Oracle dblink 创建于删除

1.查看dblinkselect owner,object_name from dba_objects where object_type='DATABASE LINK';select * from dba_db_links;2.创建dblink创建dblink的用户应该有:create public database link 或者create database link-

2017-11-17 14:22:46 332

转载 oracle 关于锁和v$lock的分析

转自:http://blog.itpub.net/26770925/viewspace-1293245/   mark为了实现并发,oracle数据库使用了锁机制。要了解锁,首先要了解视图v$lock。v$lock这个视图列出 Oracle 服务器当前拥有的锁以及未完成的锁请求。如果你觉着 session 处于等待事件队列当中,那你应该检查视图v$lock。v$lock中的常用列有

2017-11-17 13:39:08 1263

转载 delete大量数据时正确姿势(待测试)

参考:https://www.cnblogs.com/jyzhao/p/3879590.html直接删除大量数据的影响:1)可以由于undo表空间不足从而导致最终删除失败;2)可以导致undo表空间过度使用,影响到其他用户正常操作;改进方案:每删除1k行就提交一次。declare cursor [del_cursor] is select a.*, a

2017-11-16 20:55:19 5129

原创 对于表空间中SYS_LOB表的理解

创建一个表的时候,oracle会在对应的表空间分给我们一个segment来存放数据,并且会因为数据量的增大再做扩展。但是当我们所建立的表中含有lob类型数据时,oracle会为每个lob字段生成一个独立的segment来存放数据,同时也建立独立的index segment,oracle对它们是单独管理的。普通的表只会新增一个或两个段对象,类型为TABLE和LOBINDEX,数据就存放在表段中,

2017-11-16 20:31:05 7683

原创 如何创建非标准块的表空间(标准块8k)

默认情况下创建的表空间使用的数据块大小是8K,数据库默认的数据块大小由db_block_size参数决定。如果我们想要创建的表空间超过8K,首先需要调整数据库的参数db_nk_cache_size。实验:SQL> show parameter db_block_sizeNAME TYPE VALUE--

2017-11-14 16:16:04 1237

转载 如何使用dbms_repair包标记坏块

参考博文:http://www.cnblogs.com/myrunning/p/4525917.html--利用dbms_repair包必须先创建repair table两个表:SQL> begin dbms_repair.admin_tables( table_name=>'REPAIR_TABLE', table_type=>dbms_repair.repair_ta

2017-11-13 14:37:44 617

原创 Oracle 简单描述oracle坏块修复步骤

1.确认坏块部分是表还是索引SELECT owner,segment_name,segment_type,block_idFROM dba_extentsWHERE block_id <= &block_idAND block_id + blocks -1 > &block_idAND file_id = &file_id;1.1 如果是索引,rebuild 即可1.2 如果是表

2017-11-12 21:58:29 1032

原创 关于move分区表后default_tablespace的疑问

背景:公司要进行表的move,move完分区表以后查看user_part_tables里面的default_tablespace还是原来的表空间,重新做了实验还是如此,哪位大神能够解释一下实验:查看用户scott的默认表空间为scott1SQL> select username,default_tablespace,temporary_tablespace from dba_use

2017-11-08 15:09:10 519

转载 重建索引的标准

转自:http://blog.csdn.net/a1264716408/article/details/51970040一、重建索引的前提1、表上频繁发生update,delete操作;2、表上发生了alter table ..move操作(move操作导致了rowid变化)。二、重建索引的标准1、索引重建是否有必要,一般看索引是否倾斜的严重,是否浪费了空间, 那应该如何才

2017-11-07 17:17:25 526

原创 优雅的删除索引(visible)

有的时候为了节省空间会删除一些不需要的索引,可能涉及的业务场景比较多,直接删除索引会引发不必要的结果。下面这个方法是比较优雅的删除索引:--创建索引SQL> create index idx_hellob_empno on hellob(empno);Index created.--查看索引SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,T

2017-11-07 11:16:26 1576

原创 [ORA-08104] this index object XXX is being online built or rebuilt

背景:在进行联机重建索引的过程中出现错误,如用户终止,网络中断等,那么当我们再次重建索引时,有可能产生ORA-08104错误。alter index index_name rebuild online;ORA-08104: this index object 114615 is being online built or rebuilt删除(包括force选项)时均无法删除。原

2017-11-05 22:38:02 1597

原创 [ORA-01450] maximum key length (3215) exceeded

背景:在进行索引在线表空间迁移的时候报出的错误,具体命令alter index index_name rebuild online tablespace tablespace_name;问题分析:9i之后每个index key最大可以为block size的80%。所以理论上来说,是可以创建最大长度为block size=8096*80%约为6400左右长度的index。但

2017-11-05 22:04:51 1367 1

原创 PXE自动安装linux系统原理(一)

本篇主要讲解PXE的原理以及涉及到的服务,下篇文章将会进行实际部署1.什么是PXEPXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file

2017-09-30 13:42:33 2224

转载 MHA故障切换和在线手工切换原理

一、故障切换的过程当master_manager监控到主库mysqld服务停止后,首先对主库进行SSH登录检查(save_binary_logs -command=test),然后对mysqld服务进行健康检查(PING(SELECT)每个3秒检查一次,持续3次),最后作出Master is down!的判断,master failover开始第1步:先根据配置文件检测当前的复

2017-09-29 10:02:54 761

转载 MySQL relay_log_purge=0 时的风险

有时候,我们希望将 MySQL 的 relay log 多保留一段时间,比如用于高可用切换后的数据补齐,于是就会设置 relay_log_purge=0,禁止 SQL 线程在执行完一个 relay log 后自动将其删除。但是在官方文档关于这个设置有这么一句话:Disabling purging of relay logs when using the --relay-log-recovery

2017-09-29 09:53:44 894

原创 MySQL高可用架构之MHA搭建以及测试(二)

一、MHA特点MHA监控复制架构的主服务器,一旦检测到主服务器故障,就会自动进行故障转移。即使有些从服务器没有收到最新的relay log,MHA自动从最新的从服务器上识别差异的relay log并把这些日志应用到其他从服务器上,因此所有的从服务器保持一致性了。MHA通常在几秒内完成故障转移,9-12秒可以检测出主服务器故障,7-10秒内关闭故障的主服务器以避免脑裂,几秒中内应用差异的re

2017-09-27 13:44:13 1356

原创 pt-table-check和pt-table-sync实践

Mysql 版本:mysql> select version();+------------+| version() |+------------+| 5.6.37-log |+------------+ 1 row in set (0.00 sec)在主从库执行如下语句:mysql>GRANT SELECT, PROCESS, SUPER, REPLICATION SL

2017-09-18 11:04:43 1646

原创 浅析pt-table-checksum和pt-table-sync原理

介绍:pt-table-checksum 是 Percona-Toolkit 的组件之一,用于检测MySQL主、从库的数据是否一致。其原理是在主库执行基于statement的sql语句来生成主库数据块的checksum,把相同的sql语句传递到从库执行,并在从库上计算相同数据块的checksum,最后,比较主从库上相同数据块的checksum值,由此判断主从数据是否一致。检测过程根据唯一索引将

2017-09-16 16:59:41 2637 1

原创 Mysql log文件之 relay log、master log info、relay log info

在 MySQL 主从复制环( Replication )境中,备节点会产生几种文件,如下:一 relay log  files relay log 和 binary log 日志类似, 记录了数据库的变化,由一系列文件组成, relaoy log 记录了主节点发来的数据库变化信息,并且由 I/O thread 写入。之后 SQL  thread 在备节点上执行 relay log 文件

2017-09-14 10:43:37 5293

原创 Mysql执行sql脚本的方法

Mysql执行sql脚本的方法:一:[root@test1 ~]# mysql -S /tmp/mysql_3307.sock -pmysql hello 二:mysql> source /root/all.sql

2017-09-13 09:08:27 330

原创 Mysqldump 详解之 --master-data --single-transaction

--master-dataThis causes the binary log position and filename to be appended to the output. If equal to 1, will print it as a CHANGE MASTER command; if equal to 2, that command will be prefixed

2017-09-12 16:47:46 2166

转载 浅析mysql内存参数之-- binlog_cache_size

binlog_cache_size0.前提:服务器配置了 log-bin1.含义:为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存。2.作用:提高记录bin-log的效率3.属性:参数:global默认值:32768 -- 即 32K范围:4096 .. 42949672954.大小选择:a.根据业务:没有什么大事务,dml

2017-09-11 08:55:18 945

转载 ib_logfile与log-bin区别

ib_logfile0 记录系统的回滚,重做日志。mysql-bin.000011 系统的所有更新记录。如果需要更详细的则建议看一下数据库原理方面的教材,应该有一个章节讲这个redo,undo 日志的。 ,ib_logfile0是重做日志,记录的是文件的物理更改 mysql-bin.000011是数据库更新日志 记录的是逻辑更改,ib_logfile0是重做日志

2017-09-06 10:54:40 1461

转载 [MySQL5.6] Innodb独立的undo tablespace

在MySQL5.6中开始支持把undo log分离到独立的表空间,并放到单独的文件目录下;这给我们部署不同IO类型的文件位置带来便利,对于并发写入型负载,我们可以把undo文件部署到单独的高速存储设备上.1.使用有几个参数来控制该行为#innodb_undo_tablespaces用于设定创建的undo表空间的个数,在Install db时初始化后,就再也不能被改动了;默认值为

2017-09-04 16:26:56 1613

转载 如何避免ibdata1文件大小暴涨

0、导读遇到InnoDB的共享表空间文件ibdata1文件大小暴增时,应该如何处理?1、问题背景用MySQL/InnoDB的童鞋可能也会有过烦恼,不知道为什么原因,ibdata1文件莫名其妙的增大,不知道该如何让它缩回去,就跟30岁之后男人的肚腩一样,汗啊,可喜可贺的是我的肚腩还没长出来,hoho~正式开始之前,我们要先知道ibdata1文件是干什么用的

2017-09-04 16:07:40 470

转载 基于Innobackupex的增备及恢复

MySQL的热备(物理备份)可以采取全备加增量备份的方式来减轻数据库I/O压力及系统资源的占用。增量备份主要是以全备或增量备份为基础,备份那些变更过的页面。其备份的原理是基于一个不断增长的LSN序列,这个LSN与Oracle的SCN类似。在恢复期间,我们需要将已提交的事务前滚,未提交的事务回滚。本文主要描述了增量备份及增量恢复。1、增备的相关知识点As not all inform

2017-09-04 13:33:26 411

原创 innobackupex 备份多实例

1.多实例备份通常一般都直接使用innobackupex,因为它能同时备份InnoDB和MyISAM引擎的表。要注意的是my.cnf里datadir(这一点很重要,在多实例中最好的解决方式为复制my.cnf到/backup/config文件夹下,配置--defaults-file=/back/config/my.cnf(3306.cnf))这个参数是必须要指定的,xtrab

2017-09-04 12:05:28 1777

原创 MySQL传统复制与GTID复制原理及操作详解

MySQL复制在业界里有叫:mysql同步,ab复制等。专业名称就是叫:复制复制是单向的,只能从master复制到slave上,延时基本上是毫秒级别的。一组复制结构中可以有多个slave,对于master一般场景推荐只有一个。master用户写入数据,生成event记到binary log中slave接收master上传来的binlog,然后按顺序应用,重现master上的用户操作

2017-09-01 14:19:31 397

转载 percona-toolkit工具包的安装和使用

1.检查和安装与Perl相关的模块PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。依赖包检查命令为:rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL如果有依赖包确实,可以使用下面的命令安装:yum install perl-DBIyum install perl-DBD

2017-09-01 10:12:20 529

原创 主从复制GTID模式下主库binary log被删除后的处理方法

1、数据库版本root@localhost:mysql.sock 03:25:39 [test]>select version();+------------+| version() |+------------+| 5.6.37-log |+------------+1 row in set (0.00 sec)2、实验过程查看同步情况root@localhos

2017-08-29 11:26:56 458

原创 Mysql开启GTID后遇到错误跳过方法

1、数据库版本root@localhost:mysql.sock 08:06:29 [(none)]>select version();+------------+| version() |+------------+| 5.6.37-log |+------------+1 row in set (0.00 sec)2、问题产生root@localhost:mysql

2017-08-28 16:08:37 1421

转载 mysql主从复制原理分析

转自:http://www.jb51.net/article/27222.htm一 MySQL 复制的基本过程如下:(各部分学习自Google,谢谢)1. Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;2. Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO线程根据

2017-08-24 15:32:49 236

原创 Mysql编码问题总结

最近学习mysql字符集的问题,有许多困惑,通过搜索相关内容现总结在此,希望大神不吝赐教;Mysql版本5.6.371、查看现在数据库的编码情况目前配置都是utf8格式的,修改/etc/my.cnf配置文件下的character-set-server 为gbk,重启mysql数据库后,server characterset 和db characterset 都变成了gbk格式

2017-08-24 10:54:22 219

转载 MySQL高可用架构之MHA(一)

概述:MySQL 高可用性包括MySQL Cluster 或者Heartbeat+DBRB 架构,但其方案的复杂性比较大,故此架构起来会比较麻烦,与之相对应的,利用MySQL复制特性来实现高可用的的方案就显得比较简单了利用复制特性的高可用有MMM和MHA,其中MMM问题比较多,故此推荐使用MHA比较靠谱MHA(Master High Availability)目前在MySQL高可用方面

2017-08-23 17:12:19 415

转载 MySQL半同步复制

l 安装配置:略l 机器分布IP作用用途192.168.15.3master主库192.168.15.4Slave1备库192.168.15.5Slave2备库l 基本的MySQL主从配置My

2017-08-23 17:06:39 336

转载 Mysql中如何记录某个User创建的日期

我们都知道Mysql中的User的meta data是存放到Mysql.User表中,但是很遗憾,其中提供的信息较少,比如我们无法得知某个User的具体创建时间。我们可以使用下面的方法来达到该目的。首先,我们向Mysql.User表中新增一个列,该列的作用是用来记录User的创建时间,同时赋予默认值。123mysql> alter

2017-08-22 10:10:50 1430

转载 MySQL权限的详细解答

一.权限表mysql数据库中的3个权限表:user 、db、 host权限表的存取过程是:1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;2) 通过权限验证,进行权限分配时,按照user?db?tables_priv?columns_priv的顺序进行分配。即先检查全局权限表 u

2017-08-22 10:00:48 459

转载 Oracle打补丁方法论

成熟的IT企业,往往会有自己的补丁计划。如一年打几次补丁,打哪一个补丁。在补丁之前,需要进行补丁分析,一份比较完善补丁分析,往往能帮助企业未雨绸缪,提前将可能引发的问题先解决掉,保证生产的稳定和安全。在这里,我和大家分享一下,如何做一份比较完善补丁分析。这可能是一篇方法论的文章,但常言道,说起来容易做起来难。虽然我能告诉了你方法论,但是在实际操作的过程中,我相信你更愿意花钱买服务。

2017-06-14 14:52:41 855

空空如也

空空如也

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

TA关注的人

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