??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一级日韩一级,一级中文字幕一区二区,成人精品久久一区二区三区http://www.aygfsteel.com/jiabao/category/30684.html會只會i垂青有准備的hQ運氣不是每個h都有?zh-cnTue, 08 Apr 2008 15:44:38 GMTTue, 08 Apr 2008 15:44:38 GMT60关于裸设备及Oracle?0个实用问{??http://www.aygfsteel.com/jiabao/articles/191584.html金家?/dc:creator>金家?/author>Tue, 08 Apr 2008 15:25:00 GMThttp://www.aygfsteel.com/jiabao/articles/191584.htmlhttp://www.aygfsteel.com/jiabao/comments/191584.htmlhttp://www.aygfsteel.com/jiabao/articles/191584.html#Feedback0http://www.aygfsteel.com/jiabao/comments/commentRss/191584.htmlhttp://www.aygfsteel.com/jiabao/services/trackbacks/191584.htmlQ什么叫做裸讑֤Q?/font>
裸设备,也叫裸分区(原始分区Q,是一U没有经q格式化Q不?/font>Unix通过文gpȝ来读取的Ҏ(gu)字符讑֤。它由应用程序负责对它进行读写操作。不l过文gpȝ的缓册Ӏ?/font>
2Q如何L别裸讑֤Q?/font>
?/font>Unix?/font>/dev 目录下,有许多文Ӟ其中有两个大c:字符讑֤文g和块讑֤文g?/font>
字符讑֤Ҏ(gu)文gq行I/O操作不经q操作系l的~冲区,而块讑֤Ҏ(gu)文g用来同外设进行定长的包传输。字W特D文件与外设q行I/o操作时每ơ只传输一个字W。而对于块讑֤Ҏ(gu)文g来说Q它用了cache机制Q在外设和内存之间一ơ可以传送一整块数据。裸讑֤使用字符Ҏ(gu)文g。在/dev 目录下,你可以看到许多这L文g?/font>

3Q用裸讑֤的好?/font>
因ؓ使用裸设备避免了再经q?/font>Unix操作pȝq一层,数据直接?/font>Disk?/font>Oracleq行传输Q所以用裸讑֤对于d频繁的数据库应用来说Q可以极大地提高数据库系l的性能。当Ӟq是以磁盘的I/O 非常大,盘I/O已经UCؓpȝ瓉的情况下才成立。如果磁盘读写确实非帔RJ,以至于磁盘读写成为系l瓶颈的情况成立Q那么采用裸讑֤实可以大大提高性能Q最大甚臛_以提高至40Q,非常明显?/font>
而且Q由于用的是原始分区,没有采用文gpȝ的管理方式,对于Unixl护文gpȝ的开销也都没有了,比如不用再维?/font>I-nodeQ空闲块{,q也能够D性能的提高?/font>
4Q如何决定是否应该用裸讑֤Q?/font>
判断是否使用裸设备要从以下方面进行考虑Q首先,数据库系l本w需要已l被比较好的l过了优化。优化是一门很有些技术的话题Q很隄单地讲述。其ơ,使用Unix命o来L别是否存在磁盘读写瓶颈。比?/font>Unix?/font>vmstat, sar {命令都可以较好的进行鉴别。如果决定采用裸讑֤Q需要磁盘上q有I闲的分区。否则,p新添盘Q或者对原有pȝ重新规划?/font>
5Q什么系l必M用裸讑֤Q?/font>
如果使用?/font>Oracle q行服务器选项Q则必须采用裸设备来存放所有的数据文gQ控制文Ӟ重做日志文g。只有把q些文g攑ֈ裸设备上Q才能保证所?/font>Oracle 实例都可以读取这个数据库的文件。这是由Unix操作pȝ的特性决定的?/font>
q有一U情冉|Q如果你想用异?/font>I/OQ那么在有些Unix上也必须采用裸设备。这个需要参考具?/font>Unix的相x档?/font>
6Q能够用一个磁盘的W一个分Z讑֤吗?
可以Q但是不推荐。在Unix的比较旧的版本是银行Q磁盘的W一个分区常常包含这个磁盘的一些信息,以及逻辑L一些控制信息。若q些部分被裸讑֤覆盖的话Q磁盘就会变得不可识别,Dpȝ崩溃?/font>
较新?/font>Unix版本不会发生q样的情况,因ؓ它们采用了更复杂的技术来理盘Q逻辑L一些信息?/font>
但是Q除非很信不要使用盘的第一个分区来作ؓ裸设备?/font>
7Q我可以把整个裸讑֤都作?/font>Oracle的数据文件吗Q?/font>
不行。必让数据文g的大稍微小于该裸设备的实际大小。至要I出两个oracle块的大小来?/font>
8Q裸讑֤应该属于那个用户Q?/font>
应该?/font>root来创讑֤Q然后再分配l?/font>Oracle用户以供使用。同时还要把它归?/font>Oracle用户所在的那个l里边(通常都是DBAQ?/font>
9Q在创徏数据文g时如何指定裸讑֤Q?/font>
和普通文件没有什么太大的区别Q一样都是在单引号里边写上裸讑֤的详l\径就可以了。D一个例子:要在创徏一个表I间Q用两个裸讑֤Q每个分别ؓ30M的大,Oracle块的大小?/font>4KQ可以用下面的命令:
CREATE TABLESPACE RAW_TS
DATAFILE '/dev/raw1' size 30712k
DATAFILE '/dev/raw2' size 30712k;
10.Oracle块的大小和裸讑֤有什么关pdQ?/font>
    Oracle会必L裸设备上物理块大的倍数?/font>
11Q如何在裸设备上q行备䆾Q?/font>
    在裸讑֤上,不能使用Unix实用E序来进行备份,唯一的办法是使用最基本?/font>Unix命oQ?/font>DD来进行备份。比如:dd if=/dev/raw1 of=/dev/rmt0 bs=16k?/font>dd的具体语法可以参?/font>unix手册Q或者联机帮助。你也可以先?/font>dd把裸讑֤上的数据文g备䆾到磁盘上Q然后再利用Unix实用E序q一步处理?/font>
12Q如果我没有使用Oracleq行服务器选项Q我可以在数据库上让一部分数据文g使用文gpȝQ另一部分使用裸设备吗Q?/font>
    可以。但是这L话,会备䆾q程更加复杂?/font>
13Q我应该把联机重做日志文件放到裸讑֤上吗Q?/font>
    q是一个极好的选择。联机重做日志文件是写操作非帔RJ的文gQ放到裸讑֤上非常合适。如果你使用了ƈ行服务器选项Q那么联机重做日志文件必L到裸讑֤上面?/font>
14Q可以把归档日志文g攑ֈ裸设备上吗?
    不行。归档日志文件必L到常规的Unix文gpȝ上面Q或者直接放到磁带上面去?/font>
15Q我可以在裸讑֤上边攄多个数据文g吗?
    不行。所以你必须在设|裸讑֤旉常小心。太的话,会导致空间很快用完,太大的话Q空间就白白费了?/font>
16Q因应该把几个裸讑֤攑ֈ同一个物理磁盘上吗?
    q样做不好。因Z用裸讑֤是Z提高盘d速度。而把多个裸设备放到同一个物理磁盘上会导致读写竞争,q样对于提高I/O速度是不利的。应该尽量分散裸讑֤C同的物理盘上,最好是分散C同的盘控制器上。这是最佳选择?/font>
17Q需要把所有裸讑֤都定义成同样的大吗Q?/font>
    q不是必dQ但是划分成同样的大对于管理数据库比较有利?/font>
18Qؓ了在Unix上用裸讑֤Q我需要改?/font>Unix核心参数吗?
    不需要。但可以选择减小~冲区的大小Q如果没有别的应用也在同一?/font>Unix机器上运行。因用了裸设备以后,不再使用Unix的系l缓冲区?/font>
19Qؓ了提高读写速度Q在操作pȝU别上,q有什么办法可以采取吗Q?/font>
    使用RAIDQ廉价冗余磁盘阵列)也是非常有效的办法,其实那U读写非帔RJ的pȝ?/font>
20Q在考虑了以上所有方面后Q还能有什么办法可以提高性能的吗Q?/font>
q就需要对Oracle q行优化Qƈ且购买更多的盘和磁盘控制器Q来分散I/OC同的盘上?
我的归纳
1、裸讑֤定义Q?br />一块没有分区的盘Q称为原始设?RAW DEVICE)
或者是一个分区,但是没有用EXT3,OCFS{文件系l格式化,UCؓ原始分区(RAW PARTITION)
以上两者都是裸讑֤
2、裸讑֤的绑?br />有文件系l的分区是采用mount的方式挂载到某一个挂载点?目录)
而裸讑֤不能mountQ只能绑定到/dev/raw/下的某一个设备名
比如/dev/raw/raw1
3、裸讑֤的绑定方?br />有两U方法,q里介绍一U,另一U可以google搜烦?br />修改/etc/sysconfig/rawdevicesQ添加以下内?
q里sdd1和sdd2是原始分区名或者原始设?盘)名,
raw1和raw2?dev目录下的原始讑֤名,~号从raw1到raw255Q也是最多可以绑?55个裸讑֤
/dev/raw/raw1 /dev/sdd1
/dev/raw/raw2 /dev/sdd2
然后修改裸设备的属主和访问权?br />chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
最后得裸讑֤生效Qƈ且在机器启动的时候就自动加蝲
执行 /etc/init.d/rawdevices restart 使裸讑֤生效
执行 /sbin/chkconfig rawdevices on 保证机器启动的时候裸讑֤能够加蝲Q这一步很重要
4、裸讑֤的读?br />不能用cp{命令操作,写入内容用dd命oQ可以参阅相兌?br />5、清I讑֤Q相当于格式化啦bs是快的大,block size
count是快的数量,q两者相乘大于裸讑֤的容量即?br />dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=12800
dd if=/dev/zero of=/dev/raw/raw2 bs=8192 count=12800
我这里是针对RED HAT LINUX?br />创徏裸设?/wbr>创徏裸设备前先创建分区。数据库讑֤应该是共享设备,所以应该是对共享存储资源进行分区?/font>
利用parted?/font>fdisk对磁盘进行分区,Ҏ(gu)实际规划各个文g的大(包括redo,control ?/font> data文gQ创建分区?/font>
?/font>/dev/raw目录下创建各个分区的映射点,
创徏裸设备,q修改用h限?/font>
有两U方法创讑֤Q?/font>
(1)执行命o
#/usr/sbin/raw /dev/raw/raw<N> /dev/<blockdev>
?/font>
#/usr/sbin/raw /dev/raw/raw<N> <major> <minor>
参数N?/font>blockdev可根据实际情况自行设定?/font>
exampleQ?/font>
#/usr/sbin/raw /dev/raw/raw1 /dev/hda13
/dev/raw/raw1: bound to major 3, minor 13

(2)配置/etc/sysconfig/rawdevices
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example:
/dev/raw/raw1 /dev/hda13
/dev/raw/raw2 /dev/hda14
#end-of-file
执行命o
#cd /etc/init.d
#sh rawdevices restart
/dev/raw/raw1: bound to major 3, minor 13
/dev/raw/raw2: bound to major 3, minor 14
查询裸设?/wbr>裸设备创建好后,可执行以下命令进行查?/font>
(1)查询raw<N>的绑定情?/font>:
#/usr/sbin/raw -q /dev/raw/raw<N>

(2)查询所有裸讑֤的绑定情?/font>:
#/usr/sbin/raw -qa

(3)使用dd命o查询:
#dd if=/dev/raw/raw1 of=backup count=1
如果分区没有被移除,则输?/font>
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000307 seconds, 1.7 MB/s
如果分区已被U除Q但使用命oraw仍能成功查出l定状?/font>
#/usr/sbin/raw -q /dev/raw/raw1
/dev/raw/raw1: bound to major 3, minor 13
应?/font>dd命oq行裸设备的查询
# dd if=/dev/raw1 of=bakcup count=1
dd: opening `/dev/raw/raw1': No such device or address
dd命o提示错误信息Q因为分区已被移出,所以不能读写?/font>
卸蝲裸设?/wbr>指定major ?/font> minor ?/font> 0 0Q即可卸载裸讑֤的绑定?/font>
#/usr/sbin/raw /dev/raw/raw1 0 0
/dev/raw/raw1: bound to major 0, minor 0
裸设备的备䆾在裸讑֤上,不能使用实用E序来进行备份,唯一的办法是使用最基本的命令:dd来进行备份。比如:dd if= /dev/raw1 of=/dev/rmt0 bs=16k?/font>dd的具体语法可以参考联机帮助。你也可以先?/font>dd把裸讑֤上的数据文g备䆾到磁盘上Q然后再利用实用E序q一步处理?/font>

]]>
վ֩ģ壺 Ѱ| | ׼| | ʯ¥| | | | ־| | ־| ʡ| | | ·| Т| | | | Ӧ| | ޻| Ͱ| ƽ| | | | ֻ| Ļ| ̶| | | ƽɽ| | | ľ˹| пѷ| | | | Ȫ|