ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:21.74KB ,
资源ID:11208879      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11208879.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle在linux上使用裸设备.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Oracle在linux上使用裸设备.docx

1、Oracle在linux上使用裸设备Linux 裸设备(RAW)1、裸设备的概念裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被unix通过文件系统来读取的特殊字符设备。本文收集裸设备和oracle问答20例。 1什么叫做裸设备? 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。 2如何辨别裸设备? 在unix的/dev 目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。 字符设备特殊文件进行i/o操作不经过操作系统的缓冲区,而块设备特殊文件用来同外设进行定长的包传

2、输。字符特殊文件与外设进行i/o操作时每次只传输一个字符。而对于块设备特殊文件来说,它用了cache机制,在外设和内存之间一次可以传送一整块数据。裸设备使用字符特殊文件。在/dev 目录下,你可以看到许多这样的文件。 3使用裸设备的好处 因为使用裸设备避免了再经过unix操作系统这一层,数据直接从disk到oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的 i/o 非常大,磁盘i/o已经称为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能,最大甚至可以提高

3、至40,非常明显。 而且,由于使用的是原始分区,没有采用文件系统的管理方式,对于unix维护文件系统的开销也都没有了,比如不用再维护i-node,空闲块等,这也能够导致性能的提高。 4如何决定是否应该使用裸设备? 判断是否使用裸设备要从以下方面进行考虑:首先,数据库系统本身需要已经被比较好的经过了优化。优化是一门很有些技术的话题,很难简单地讲述。其次,使用 unix命令来辨别是否存在磁盘读写瓶颈。比如unix的vmstat, sar 等命令都可以较好的进行鉴别。如果决定采用裸设备,需要磁盘上还有空闲的分区。否则,就要新添磁盘,或者对原有系统重新规划。 5什么系统必须使用裸设备? 如果使用了or

4、acle 并行服务器选项,则必须采用裸设备来存放所有的数据文件,控制文件,重做日志文件。只有把这些文件放到裸设备上,才能保证所有oracle 实例都可以读取这个数据库的文件。这是由unix操作系统的特性决定的。 还有一种情况是,如果你想使用异步i/o,那么在有些unix上也必须采用裸设备。这个需要参考具体unix的相关文档。 6能够使用一个磁盘的第一个分区作为裸设备吗? 可以,但是不推荐。在unix的比较旧的版本是银行,磁盘的第一个分区常常包含这个磁盘的一些信息,以及逻辑卷的一些控制信息。若这些部分被裸设备覆盖的话,磁盘就会变得不可识别,导致系统崩溃。 较新的unix版本不会发生这样的情况,因

5、为它们采用了更复杂的技术来管理磁盘,逻辑卷的一些信息。但是,除非很确信不要使用磁盘的第一个分区来作为裸设备。 7我可以把整个裸设备都作为oracle的数据文件吗? 不行。必须让数据文件的大小稍微小于该裸设备的实际大小。至少要空出两个oracle块的大小来。 8裸设备应该属于那个用户? 应该由root来创建裸设备,然后再分配给oracle用户以供使用。同时还要把它归入oracle用户所在的那个组里边(通常都是dba)。 9在创建数据文件时如何指定裸设备? 和普通文件没有什么太大的区别,一样都是在单引号里边写上裸设备的详细路径就可以了。举一个例子:要在创建一个表空间,使用两个裸设备,每个分别为30

6、m的大小,oracle块的大小为4k,可以用下面的命令: create tablespace raw_ts datafile /dev/raw1 size 30712k datafile /dev/raw2 size 30712k; 10.oracle块的大小和裸设备有什么关系吗? oracle块必须是裸设备上物理块大小的倍数。 11如何在裸设备上进行备份? 在裸设备上,不能使用unix实用程序来进行备份,唯一的办法是使用最基本的unix命令:dd来进行备份。比如:dd if=/dev/raw1 of=/dev/rmt0 bs=16k。dd的具体语法可以参考unix手册,或者联机帮助。你也可以

7、先用dd把裸设备上的数据文件备份到磁盘上,然后再利用unix实用程序进一步处理。 12如果我没有使用oracle并行服务器选项,我可以在数据库上让一部分数据文件使用文件系统,另一部分使用裸设备吗? 可以。但是这样的话,会使备份过程更加复杂。 13我应该把联机重做日志文件放到裸设备上吗? 这是一个极好的选择。联机重做日志文件是写操作非常频繁的文件,放到裸设备上非常合适。如果你使用了并行服务器选项,那么联机重做日志文件必须放到裸设备上面。 14可以把归档日志文件放到裸设备上吗? 不行。归档日志文件必须放到常规的unix文件系统上面,或者直接放到磁带上面去。 15我可以在裸设备上边放置多个数据文件吗

8、? 不行。所以你必须在设置裸设备时非常小心。太小的话,会导致空间很快用完,太大的话,空间就白白浪费了。 16因应该把几个裸设备放到同一个物理磁盘上吗? 这样做不好。因为使用裸设备就是为了提高磁盘读写速度。而把多个裸设备放到同一个物理磁盘上会导致读写竞争,这样对于提高i/o速度是不利的。应该尽量分散裸设备到不同的物理磁盘上,最好是分散到不同的磁盘控制器上。这是最佳选择。 17需要把所有裸设备都定义成同样的大小吗? 这不是必须得,但是划分成同样的大小对于管理数据库比较有利。 18为了在unix上使用裸设备,我需要改变unix核心参数吗? 不需要。但可以选择减小缓冲区的大小,如果没有别的应用也在同一

9、台unix机器上运行。因为运用了裸设备以后,不再使用unix的系统缓冲区。 19为了提高读写速度,在操作系统级别上,还有什么办法可以采取吗? 使用raid(廉价冗余磁盘阵列)也是非常有效的办法,尤其实那种读写非常频繁的系统。 20在考虑了以上所有方面后,还能有什么办法可以提高性能的吗? 这就需要对oracle 进行优化,并且购买更多的磁盘和磁盘控制器,来分散i/o到不同的磁盘上。源文档 2、Linux 裸设备管理1、什么是Linux裸设备?字符设备?块设备?裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也

10、可以绑定一个磁盘。字符设备:对字符设备的读写不需要通过OS的buffer。它不可被文件系统mount。 块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中。2、一个系统可以有多少个裸设备?这个与linux的版本相关,在旧版本中,最多只可以有256个裸设备,Linux 4下做多可以绑定8192个裸设备。但是在linux下,最多只能有255个分区,所以,如果用裸设备绑定分区,最多只能绑定255个裸设备。如果是用lvm,则没有这个限制。3、Linux下单个磁盘最多可以有多少个分区?15个。3个主分区 + 1个扩展分区 + 11个逻辑分区。建议的分区方法是:先分3个主分区

11、,第四个分区为扩展分区,然后在扩展分区中再分成11个逻辑分区。注意,裸设备不要绑定在扩展分区上。4、linux下是否需要绑定裸设备?unix呢?linux下如果需要使用裸设备,则需要手工进行绑定。unix下则不用。因为Unix中每一个块设备都会有一个对应的字符设备用于非缓存(unbuffered)I/O,这就是他对应的裸设备了。而Linux中rawio的则实现了一套非绑定(unbound)的裸设备/dev/rawN或者/dev/raw/rawN和一个控制设备/dev/rawct用来把他们绑定到块设备上。所以当需要使用一个裸设备的时候,就需要把他和一个真实存在的块设备对应起来,这一个步骤实际上就

12、是完成了Unix里的自动对应一个非缓存字符设备。5、linux如何绑定裸设备?两种方式:1)命令绑定raw /dev/raw/rawn /dev/xxx其中n的范围是0-8191。raw目录不存在可以创建。执行这个命令,就会在/dev/raw下生成一个对应的rawn文件用命令方式绑定裸设备在系统重启后会失效。2)修改文件修改/etc/sysconfig/rawdevices文件如下,以开机时自动加载裸设备,如:/dev/raw/raw1 /dev/sdb1这种方式是通过启动服务的方式来绑定裸设备。也可以把这个命令写在/etc/rc.local上,使每次启动都执行这些命令。6、如何把裸设备作为o

13、racle数据文件?有什么需要注意的?1)绑定裸设备参考上文2)改变裸设备属主两种方法:. 把命令卸载/etc/rc.local上chown oracle:oinstall /dev/raw/raw1. 修改/etc/udev/permissions.d/50-udev.permissions文件 将/etc/udev/permissions.d/50-udev.permissions的113行从raw/*:root:disk:0660修改为raw/*:oracle:oinstall:0660这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660。如果是用l

14、vm,也需要把逻辑卷绑定到裸设备上,过程和绑定到普通分区类似。7、使用裸设备作为oracle数据文件有什么需要注意的?使用裸设备作为oracle的数据文件必须注意以下几点:1)一个裸设备只能放置一个数据文件2)数据文件的大小不能超过裸设备的大小如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block)为了简单起见,对所有的文件设置称比裸设备小1M即可。3)数据文件最好不要设置称自动扩展,如果设置称自动扩展,一定要把maxsize

15、设置设置为比裸设备小8、是否可以直接用逻辑卷作为oracle数据文件?linux下oracle不能直接把逻辑卷作为裸设备,也要进行绑定。unix下就不需要。9、如何知道当前绑定了什么裸设备?raw -qa命令列出当前绑定的所有裸设备。10、如何知道某个裸设备的大小比较笨的办法是,找出看裸设备对应的是那个实际的块设备,然后用fdisk -l /dev/h,sdXN看那个块设备的大小就好了。比较简单的办法是用blockdev命令来计算,如:#blockdev -getsize /dev/raw/raw11171875011718750表示有多少OS BLIOCK。一般一个OS BLOCK大小是51

16、2字节,所以11718750*512/1024/1024/1024 = 5722(m) 就是裸设备的大小。3、Linux LVM 裸设备一:这部分是网上搜到的,扫盲,我的操作在第二部分。1.创建pvpvcreate -M2 -metadatasize 100M /dev/sda pvcreate -M2 -metadatasize 100M /dev/sdb1 pvcreate -M2 -metadatasize 100M /dev/sdb2 pvcreate -M2 -metadatasize 100M /dev/sdc物理卷可以是整个硬盘(lun),也可以是硬盘上的一个分区补充:元数据(M

17、eta Data)是关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。 元数据(meta data),关于数据库中表的定义、字段的定义,元组的定义等等,是数据库中最基础的描述,所以称之为元数据。 又称为数据目录,关于数据库的数据库。一个数据存储在共享卷里时,我们可以直接看到它是一个文档、或图片、或视频、或数据库文件,这些都是数据本身。然而在存储该数据时,文件系统还会产生很多无法直接看到的,与该数据有关的数据,如文件系统中文件检索表,路径信息、地址信息等,而这些数据就称之为文档、图片、视频等在共享卷中的元数据。SAN网络存储共享软件管理的主要内

18、容就是元数据,控制元数据在多主机之间的传输。我们可以在很多地方看到元数据的存储,网上DOWN下来的电影本身一个视频文件数据,而点击右键查到看的视频文件属性,如存储路径、码率、文件大小、及导演、演员、制作单位等就是视频文件的元数据。-M2指定meta data 使用lvm2格式?2.创建vgvgcreate vg_db /dev/sda /dev/sdb1 /dev/sdb2 /dev/sdc -s 128m-s, -physicalextentsize PhysicalExtentSizekKmMgGtTSets the physical extent size on physical vol

19、umes of this volume group. 3.创建lvlvcreate -L2048m -i4 -I64k vg_db -n lv_2g_001lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_0024.绑定raw /dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001raw /dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002要注意的是lv的命名方式,命名方式分解如下:/dev/mapper/ vgname - lvname.使用raw命令绑定的裸设备在重启后会失效。*对于AS4所以需要修

20、改/etc/sysconfig/rawdevices配置文件,在文件中加入如下内容(每个裸设备一行):/dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001/dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002执行 /etc/init.d/rawdevices restart 使配置文件中的裸设备生效执行 /sbin/chkconfig rawdevices on 保证机器启动的时候裸设备能够加载*对于AS5raw 设备映射 raw 设备接口在 红帽企业 Linux 5 里已经被取消了;raw 设备映射现在通过 udev 规则进行配置。要

21、配置 raw 设备映射,可以在 /etc/udev/rules.d/60-raw.rules 里加入以下格式的条目:设备名称:ACTION=add, KERNEL=, RUN+=raw /dev/raw/rawX %N主次号码:ACTION=add, ENVMAJOR=A, ENVMINOR=B, RUN+=raw /dev/raw/rawX %M %m用你需要绑定的设备名称替换 (如:/dev/sda1)。A 和 B 是设备的主次号码,X 是系统使用的 raw 设备号码。另外关于此处的配置有一点非常奇怪,我看到red hat官方文档中关于raw.rule的示例中说KERNEL=.或ENVMA

22、JOR.只需要任意配置一个就可以,但我在具体配置过程中发现百试不爽,我尝试了各种组合发现都不生效,必须二者同时配置才可以5.授权chown -R oracle.dba /dev/mapper修改配置文件/etc/udev/permissions.d/50-udev.permissions注释掉raw/*:root:disk:0660添加新行raw/*:oracle:dba:06606.链接(可选)ln -s /dev/raw/raw1 /oradata/ningoo/system01.dbfln -s /dev/raw/raw2 /oradata/ningoo/undo01.dbf二 我的操作

23、注:查看pv,vg,lv命令:pvdisplay,vgdisplay,lvdisplay创建pvrootRHEL5 opt# pvcreate pvcreate -M2 -metadatasize 100M /dev/hdcDevice pvcreate not found (or ignored by filtering).Physical volume /dev/hdc successfully created创建vgrootRHEL5 opt# vgcreate vg_oradata /dev/hdc -s128mVolume group vg_oradata successfully

24、created创建LVrootRHEL5 opt# lvcreate -L 384m -I64k vg_oradata -n control_1Ignoring stripesize argument with single stripeLogical volume control_1 created另外还需要创建的裸设备有:lvcreate -L 384M -n control_2 -I64k vg_oradatalvcreate -L 384M -n control_3 -I64k vg_oradatalvcreate -L 128M -n redo01_1 -I64k vg_oradat

25、a lvcreate -L 128M -n redo01_2 -I64k vg_oradatalvcreate -L 128M -n redo02_1 -I64k vg_oradatalvcreate -L 128M -n redo02_2 -I64k vg_oradatalvcreate -L 128M -n redo03_1 -I64k vg_oradatalvcreate -L 128M -n redo03_2 -I64k vg_oradatalvcreate -L 1024M -n system -I64k vg_oradatalvcreate -L 1024M -n sysaux -

26、I64k vg_oradatalvcreate -L 1024M -n temp -I64k vg_oradatalvcreate -L 2048M -n undodbs -I64k vg_oradatalvcreate -L 1024M -n tools -I64k vg_oradatalvcreate -L 3072M -n data -I64k vg_oradata绑定raw /dev/raw/raw1 /dev/mapper/vg_oradata-control_1raw /dev/raw/raw2 /dev/mapper/vg_oradata-control_2raw /dev/ra

27、w/raw3 /dev/mapper/vg_oradata-control_3raw /dev/raw/raw4 /dev/mapper/vg_oradata-redo01_1raw /dev/raw/raw5 /dev/mapper/vg_oradata-redo01_2raw /dev/raw/raw6 /dev/mapper/vg_oradata-redo02_1raw /dev/raw/raw7 /dev/mapper/vg_oradata-redo02_2raw /dev/raw/raw8 /dev/mapper/vg_oradata-redo03_1raw /dev/raw/raw

28、9 /dev/mapper/vg_oradata-redo03_2raw /dev/raw/raw10 /dev/mapper/vg_oradata-systemraw /dev/raw/raw11 /dev/mapper/vg_oradata-sysauxraw /dev/raw/raw12 /dev/mapper/vg_oradata-tempraw /dev/raw/raw13 /dev/mapper/vg_oradata-undodbsraw /dev/raw/raw14 /dev/mapper/vg_oradata-toolsraw /dev/raw/raw15 /dev/mappe

29、r/vg_oradata-data使用裸设备作为oracle数据文件有什么需要注意的?使用裸设备作为oracle的数据文件必须注意以下几点:1)一个裸设备只能放置一个数据文件2)数据文件的大小不能超过裸设备的大小如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block) 为了简单起见,对所有的文件设置称比裸设备小1M即可。 3)数据文件最好不要设置称自动扩展,如果设置称自动扩展,一定要把maxsize设置设置为比裸设备小如创建错

30、了,删除!lvremove /dev/vg_oradata/lv_10g_02绑定rootRHEL5 opt# raw /dev/raw/raw1 /dev/mapper/vg_oradata-lv_10g_01/dev/raw/raw1: bound to major 253, minor 3rootRHEL5 opt# raw /dev/raw/raw2 /dev/mapper/vg_oradata-lv_10g_02/dev/raw/raw2: bound to major 253, minor 2避免重起失效:编辑/etc/udev/rules.d/60-raw.rules,添加ACTION=add, KERNEL=/dev/mapper/vg_oradata-lv_10g_01, RUN+=/bin/raw /dev/raw/raw1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1