start_udev 是不是会写磁盘头】的更多相关文章

遇到一个案例,在这里记录一下 一套Oracle 11.2.0.4 RAC环境,操作系统是RHEL 6.5,共享磁盘是通过UDEV实现RAW绑定设备名,如下 [root@rac1 opt]# ll /dev/sd* brw-rw----. 1 root disk 8, 0 Dec 2 20:26 /dev/sda brw-rw----. 1 root disk 8, 1 Dec 2 20:26 /dev/sda1 brw-rw----. 1 root disk 8, 2 Dec 2 20:26 /…
ASM磁盘头信息保存在每个磁盘的前4K里面,这个信息的备份对于ASM的恢复非常重要,有下面的几种方 1.直接做dd来备份磁盘的前4K,磁盘头信息丢失时,dd回来 备份:dd if=/dev/raw/raw1 of=/gyj/asmheader.dd bs=4096 count=1 恢复:dd if=/gyj/asmheader.dd of=/dev/raw/raw1 2.利用oracle的kfed工具来备份,将磁盘头信息转换成文本明文形式记录下来,恢复时使用kfed merge进去 备份:kfe…
一个Linux文件默认有3个时间.atime:对此文件的访问时间. ctime:此文件inode发生变化的时间. mtime:此文件的修改时间. 如果有多个小文件(比如Web服务器的页面上有多个小图片),通常就没有必要记录文件的访问时间了,这样可以减少写磁盘的I/O.这要如何配置呢?首先,修改文件系统的配置文件:vim /etc/fstab.然后,在包含大量小文件的分区中使用noatime和nodiratime这两个命 令.例如:/dev/sda5 /data/pics ext3 noatime…
# 下面的例子将会进行把数据写入磁盘的操作: # 900秒(15分钟)之后,且至少1次变更 # 300秒(5分钟)之后,且至少10次变更 # 60秒之后,且至少10000次变更 # # 注意:你要想不写磁盘的话就把所有 "save" 设置注释掉就行了. save 900 1 save 300 10 save 60 10000 redis01:/data01/redis# cat /etc/redis.conf | grep mem redis01:/data01/redis# cat…
一个Linux文件默认有3个时间. atime:对此文件的访问时间. ctime:此文件inode发生变化的时间. mtime:此文件的修改时间. 如果有多个小文件(比如Web服务器的页面上有多个小图片),通常就没有必要记录文件的访问时间了,这样可以减少写磁盘的I/O.这要如何配置呢? 首先,修改文件系统的配置文件:vim /etc/fstab.然后,在包含大量小文件的分区中使用noatime和nodiratime这两个命 令.例如:/dev/sda5 /data/pics ext3 noati…
  这个问题,实际上我几年前就遇到了.最近写个模板类玩的时候,再次遇到.   当我非常仔细的将定义和实现分开,在头文件中保留了最少的依赖后,一切就绪.cpp单独编过.但是当使用的时候,就会报告所有的函数调用都没有实现.按常规.h/.cpp而言这是不可能的.但是模板类就是这么独特.简单说说他的原因,也备自己将来遗忘:   从语法角度而言,是没有强制要求说模板代码的声明和实现不可以分开.那么当分离的声明和实现写好后,单独编译.cpp是可以通过的,但是生成的.o文件却非常小,只有一个原因:确实没有任何…
最近几天,遇到一个莫名其妙的问题,每天几乎同一时段微服务自己跑着跑着就假死了,过几个小时就又自动恢复了. 通过对定时任务.网卡.内存.磁盘.业务日志的排查分析,只有磁盘的IO在假死前一段时间偏高,经查只要到业务访问高峰时段就会出现磁盘IO偏高的问题. 然后分析日志,也没有明显的异常日志,只是最近业务需求改动比较大,为了方便调试及线上问题排查,增加了不少业务日志. 然后,通过分析logback.xml的日志配置,日志打印采用的是同步打印appender,配置如下: <?xml version=&quo…
查看 Redis 日志 发现系统在频繁报错: [26641] 18 Dec 04:02:14 * 1 changes in 900 seconds. Saving… [26641] 18 Dec 04:02:14 # Can’t save in background: fork: Cannot allocate memory   在小内存的进程上做一个fork,不需要太多资源,但当这个进程的内存空间以G为单位时,fork就成为一件很恐怖的操作.何况在16G内存的主机上fork 14G内存的进程呢…
查看 Redis 日志发现系统在频繁报错: [1821] 10 Nov 09:59:04.086 # Can't save in background: fork: Cannot allocate memory [1821] 10 Nov 09:59:10.002 * 1 changes in 900 seconds. Saving... 在小内存的进程上做一个fork,不需要太多资源,但当这个进程的内存空间以G为单位时,fork就成为一件很恐怖的操作.何况在16G内存的主机上fork 14G内…
头文件(.h): 写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等,但一般来说不写出具体的实现. 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef CIRCLE_H#define CIRCLE_H//你的代码写在这里#endif 这样做是为了防止重复编译,不这样做就有可能出错. 至于CIRCLE_H这个名字实际上是无所谓的,你叫什么都行,只要符合规范都行.原则上来说,非常建议把它写成这种形式,因为比较容易和头文件的名字对应.…
--编KFED [oracle@rac2 lib]$cd $ORACLE_HOME/rdbms/lib [oracle@rac2 lib]$ pwd /u01/app/oracle/product/10.2.0/db_1/rdbms/lib [oracle@rac2 lib]$ make -f ins_rdbms.mk ikfed [oracle@rac1 ~]$ kfed read /dev/oracleasm/disks/VOL1 kfbh.endian:                  …
数据写入方式 1.  update-in-place原地更新 2.  append-only btree/copy on write tree顺序文件末尾追加   数据被按照特定方式放置,提升读性能,但写性能下降,对b+树和hash更新时需要随机读写: 1. 二分查找,将文件数据有序保存,使用二分查找来完成指定key的查找 2. 哈希,用哈希将数据分割为不同的bucket 3. B+树,减少外部文件的读取 4. 外部文件,将数据保存为日志,并创建一个hash或者查找树映射相应的文件   存储结构…
头文件(.h):写定义和声明写类的声明(包括类里面的成员和方法的声明).函数原型.#define常数等,但是一般来说不写具体的实现.注意: 1.在写头文件的时候需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef PERSON_H#define PERSON_H //中间写你的代码 #endif 这样做是为了防止重复编译,不这样做就有可能会出错.至于PERSON_H这个名字可以随便取,只要符合规范就行,但是建议把它写成与源文件的名字对应. 源文件(.cpp):写实现源…
---恢复内容开始--- c语言头文件怎么写?我一直有这样的疑问,但是也一直没去问问到底咋回事:所以今天一定要把它弄明白! 其实学会写头文件之后可以为我们省去不少事情,可以避免书写大量的重复代码,还在等什么快来看看吧!   大致格式: #ifndef __ABC_H__ #define __ABC_H__ //以上是为了防止头文件被多次包含,可以省略,最好有,名字任意,保证唯一即可   //以下是宏定义,可有可无 #define MAX 100 #define MIN 0   //以下是结构声明…
  c语言头文件怎么写?我一直有这样的疑问,但是也一直没去问问到底咋回事:所以今天一定要把它弄明白! 其实学会写头文件之后可以为我们省去不少事情,可以避免书写大量的重复代码.有利于整理思路.使代码脉络更加清晰... 总之,好处多多学起来还不难就对了,还在等什么快来看看吧!   首先,我们要建一个头文件,命名为abc.h   然后就是内容了,其大致格式如下: #ifndef __ABC_H__ //ifndef 实际上就是“if not define”  如果没有定义  #define __ABC…
1  前言 无论是安装单机版的asm还是rac都离不开ASM磁盘组的创建,创建ASM磁盘组的关键是创建好需要的asm磁盘,发现很多网友安装grid软件和grid实例,都在磁盘的创建这里有很大的问题,本人又是喜欢总结的人,那么今天我就总结了下各种创建asm磁盘的方法,以备大家查阅. 之前的2篇文章中用到了asm磁盘的创建,连接如下: Oracle 单实例ASM+11gR2安装 :http://blog.itpub.net/26736162/viewspace-1205206/ 在vmware  w…
Oracle下创建ASM磁盘总结 文章转载:https://blog.csdn.net/okhymok/article/details/78791841?utm_source=blogxgwz1 2.3 方法三:udev方式 又可以分为2种方式,采用uuid来绑定或采用raw来绑定,采用uuid需要添加多块磁盘,而采用raw方式不需要添加多个磁盘.2.3.1 udev下的方法一:uuid方式 1.RedHat 5 udev SCSI Rules配置1 获取需要绑定为ASM Disk的磁盘uuid…
最近,在研究如何优化产品设备的磁盘IO性能,需要深入研究磁盘及文件系统原理和工作机制,下面简要总结下关于磁盘方面的东西,下篇文章再分享文件系统的. 机械磁盘结构: 无论哪种机械硬盘,都主要由盘片.磁头.盘片主轴.控制电机.磁头控制器.数据转换器.接口.缓存等几个部份组成.其中所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴.而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发 丝的直径还小.所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动.磁头可…
一.环境.[grid@rhel2 ~]$ cat /etc/issueRed Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel \r on an \m[grid@rhel2 ~]$ uname -aLinux rhel2.localdomain 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux[root@rhel2 bi…
一.环境 oracle 11gR2 RAC + Oracle Linux Server release 5.9 二.实施 备注:安全起见,操作之前停数据库实例.ASM实例 1.节点1.2磁盘信息 ---共享磁盘信息 [root@11grac1 ~]# ls -l /dev/asm* --格式:/dev/asm-diskc ---需新加磁盘 [root@11grac1 ~]# ls -l /dev/sd* --/dev/sdh是新增磁盘 2.udev方式将新磁盘配置为ASM共享磁盘(节点1.2都要…
1.外存储器—磁盘 计算机存储设备一般分为两种:内存储器(main memory)和外存储器(external memory).内存存取速度快,但容量小,价格昂贵,而且不能长期保存数据(在不通电情况下数据会消失). 外存储器—磁盘是一种直接存取的存储设备(DASD),它是以存取时间变化不大为特征的,可以直接存取任何字符组,且容量大.速度较其它外存设备更快. 1.1磁盘的构造 磁盘是一个扁平的圆盘(与电唱机的唱片类似).盘面上有许多称为磁道的圆圈,数据就记录在这些磁道上.磁盘可以是单片的,也可以是…
一.ASM发展: oracle 想做硬件: 收购sum公司的小型机业务 推出一体机Exadata 1.sum服务器 2.磁盘柜(没做存储) 推出asm建库方式配合一体机(自动使用磁盘柜的盘)(抛弃raid方式) 把每块盘加入磁盘组(dg),加入dg后自动做条带化 二.ASM优点: i/o 性能优化: 做条带(加冗余) 磁盘组的三种冗余方式: external (外部冗余)(非一体机环境使用) 由底层raid做冗余 normal(每个数据存2份)(专门为一体机设计) 先写主数据,然后找空的位置(未…
应用系统分层架构,为了加速数据访问,会把最常访问的数据,放在缓存(cache)里,避免每次都去访问数据库. 操作系统,会有缓冲池(buffer pool)机制,避免每次访问磁盘,以加速数据的访问. MySQL作为一个存储系统,同样具有缓冲池(buffer pool)机制,以避免每次查询数据都进行磁盘IO. 今天,和大家聊一聊InnoDB的缓冲池. InnoDB的缓冲池缓存什么?有什么用? 缓存表数据与索引数据,把磁盘上的数据加载到缓冲池,避免每次访问都进行磁盘IO,起到加速访问的作用. 速度快,…
分区不是必要的,分区是与系统盘分开,防止数据丢失. 磁盘使用流程:查看磁盘(fdisk -l)---分区---格式化(创建文件系统)----挂载(自动挂载) 分区表类型:msdos(一般是系统分区) 和 gpt(一般是数据分区) Msdos(Microsoft Disk Operating System,):最多支持4个分区,单分区最大2T. Gpt(GUID Partition Table,其含义为"全局唯一标识磁盘分区表"):没有分区数量限制,单分区最大18EB 因msdos只支持…
Linux磁盘分区类型 磁盘存储术语CHS head:磁头  磁头数=盘面数 track:磁道  磁道=柱面数 sector:扇区,512bytes cylinder:柱面 1柱面=512*sector数/track*head数=512*63*255=7.84M CentOS 5 之前版本 Linux 以柱面的整数倍划分分区,CentOS 6之后可以支持以扇区划分分区 管理存储 适用磁盘空间过程 设备文件 创建文件系统 挂载新的文件系统 1.磁盘分区 1.1为什么分区 优化I/O性能 实现磁盘空…
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件)4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格式信息.(生成.exe文件) 编译器在编译时是以C文件为单位进行的,也就是…
单片机中用c编程时头文件reg51.h及reg52.h解析 我们在用c语言编程是往往第一行就是reg51.h或者其他的自定义头文件,我们怎么样来理解呢? 1)“文件包含”处理. 程序的第一行是一个“文件包含”处理. 所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来.程序中包含REG51.h 文件的目的是为了要使用P1 (还有其他更多的符号)这个符号,即通知C 编译器,程序中所写的P1 是指80C51 单片机的P1 端口而不是其它变量.这是如何做到的呢? 打开reg51.h 可以看到这…
C/C++:提升_头文件的使用 ◇写在前面 学到现在,很多人编写程序时只会使用一个文件.这样在代码量较小的时候,更利于表达程序,但是随着代码量的逐步增加,程序的思维逻辑不是我们一下子就可以完全理清的,因为我们的程序需要多个人共同参与,特别是编写较大工程项目时,这时我们需要使用自己编写的头文件,来减少重复劳动.由于本人天生驽钝,下面就非常简单的谈一谈头文件的使用. 在C语言家族程序中,头文件被大量使用.一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definiti…
目标 即我们最终要生成的文件,make默认生成第一个目标,注意 makefile中tab和空格不是一回事,规则使用tab缩进,编辑器不要设置诸如"将tab替换为空格之类的选项",目标的结构如下 目标:依赖1 依赖2 <TAB>生成目标的规则 伪目标 无论如何也要执行的目标,需要使用.PHONY:标识 .PHONY:clean clean: rm -f *.o 常见伪目标 all 是所有目标的伪目标,功能是编译所有目标 clean 删除所有被make创建的文件 install…
转自:http://www.cnblogs.com/lidabo/archive/2012/04/17/2454568.html C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件.其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码:而.h文件则被称作C++头文件,里面放的也是C++的源代码.C+ +语言支持“分别编译”(separate compilation).也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里..cpp文…