最近更新 加入收藏 网站地图
jztop.com网络技术
  • 首页
  • 新闻
  • 操作系统
  • 软件
  • 办公
  • 程序
  • 组网
  • 安全
  • 图像
  • 网页制作
  • 媒体制作
  • 网吧技术
  • 服务器
  • 硬件
  • 网游
  • 方案
  • 专题
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发 | QQ专区
当前位置:首页 > 程序开发 > 数据库 > Oracle 内容正文:Raw Partitions and Windows NT

Raw Partitions and Windows NT

发布时间:2006-06-12 23:53:44 来源:友佳学院(整理) 网友评论 0 条

1.0  What is a Raw Partition?

2.0  When to use Raw Partitions  

         2.1 I/O Bound Application  

         2.2 Oracle Parallel Server  

         2.3 Asynchronous I/O (Overlapped I/O)

3.0  Advantages and drawbacks of Raw Partitions compared to File Systems

         3.1 Advantages

         3.2 Drawbacks 

4.0  Setting Up   

         4.1 Calculating The Size of the Partition  

         4.2 Creating the partitions  

         4.3 Specifying in a create tablespace command  

         4.4 Symbolic Links       

                 A) Creating Symbolic Links

                 B) Removing Symbolic Links

5.0  Backup Strategies   

         5.1 OCOPY80.EXE

         5.2 RMAN

6.0  Raw Devices and Export/Import

7.0  How to switch files from a File System to Raw Device or from a Raw

     Device to a File System.

8.0  Remarks

1.0  What is a Raw Partition?

-----------------------------  

Raw partitions or devices are disk partitions that are not mounted and written 

to as a file system, but are accessed via a character device driver.  It is the 

responsibility of the application to organize how the data is written to the 

disk partition.  So a Raw Partition is a segment of disk space pointed by the 

partition table.  There is no file system out there, no directories (no DIR or 

NT Explorer).

Disk Naming

-----------

At startup, Windows NT names each found disk drives following this naming

convention:

     /Device/Harddisk/Partition

     where:  :  the number of the physical drive - starts with 0

             :  the number of the logical number as show in the NT Disk 

                   Adminstrator - starts with 1

     /Device/Harddisk0/Partition1 would typically be the C drive

Raw Partition Definition

------------------------

There are two different types (definition methods) of Raw Partitions

      a) physical disk 

      b) logical disk 

TIP:

Although you actualy could you the physical disk approach, its 

strongly recommended to use the logical disk approach.

a)  Physical disk:

    A physical disk or Partition0 actualy refers to the whole disk

       /Device/Harddisk/Partition0

    When using the Setlinks command on a Dos prompt you will notice that Windows

    NT by default creates a symbolic link for each Partition0: 

    harddisk ==> symbolic link Phys

    For example (only 1 physical disk): 

       C:/>setlinks /D |grep -i Harddisk

       D: = /Device/Harddisk0/Partition3

       O: = /Device/Harddisk0/Partition2

       C: = /Device/Harddisk0/Partition1

 ==>   PhysicalDrive0 = /Device/Harddisk0/Partition0

    Symbolic links are referenced as //./.  In our example,

    the symbolic link reference is //./PhysicalDrive0.

b)  Logical Partition

    Logical Partitions are created by the "NT Disk Administrator" utility.  

    There can be a drive letter assigned to logical partitions, but this is not 

    necessary.  When there is a drive letter assigned, this is automatically a 

    symbolic link

    For example (only 1 physical disk):

       C:/>setlinks /D |grep -i Harddisk

       D: = /Device/Harddisk0/Partition3

 ==>   O: = /Device/Harddisk0/Partition2

       C: = /Device/Harddisk0/Partition1

    Partition O is a logical partition, with O as assigned drive letter;

    the logical partition is visible in the Windows NT Explorer as drive O:.

    So in this case the symbolic link reference is //./O:

Note:  Oracle does not skip the first block of a logical partition used for 

an Oracle Data file.  

Using an entire disk (Partition0) for an Oracle datafile and using a logical 

partition that occupies the entire disk for an Oracle datafile is not the same 

thing.  Even when a partition occupies the entire disk, there is still a small 

place on the disk that is not part of the partition.

Never use the reference Partition0, because this might lead to data loss and/or 

corruption.

2.0  When to use Raw Partitions  

------------------------------

2.1  I/O Bound Applications 

---------------------------  

Raw devices are used in circumstances where an application is seen to be I/O 

bound.  To see if this is the case there are you could use:

  1.  UTLBstat UTLEstat utility ( Provided by Oracle in %OH%/RDBMS80/ADMIN )  

  2.  NT Performance Monitor: for monitoring disk I/O on NT with the 

            Performance Monitor you have to activate the diskcounters

            Not fault-tolerant   : diskperf -y 

               Fault-tolerant (RAID): diskperf -ye

               Remark: activating the I/O counters on NT

                   1) requires rebooting the server

                   2) imposes a (small) overhead/load ( < 5% )

Using these tools along with your knowledge of the application you should be 

able to identify I/O Hot Spots.  

Having done this and identified an I/O problem, there are several options that 

should be considered BEFORE deciding to implement raw disk partitions.  

To summarize these options :  

  1.  Use more database buffers to reduce the need for Disk I/O. 

  2.  Organize objects that are heavily accesses such that they are on separate

      disks.  

  3.  Separate indexes from tables place into different tablespaces and split 

      these tablespaces onto different disks.  

  4.  Stripe heavily accessed objects over multiple disks.  

  5.  Separate redo logs onto a lightly loaded disk drive.  

      **Note:  Raid 5 based disks are NOT a good location for redo logs!**

  6.  Place rollback segments into to separate tablespaces and then by the 

      listing order in the init.ora interleaf the access between the two 

      tablespaces.  

  7.  Use the Explain plan utility to check the most common SQL statements that

      are used. From this it may be possible to utilize indexes that will 

      prevent sorting and hence reduce I/O to the temporary tablespace. 

If having done all these you are still identifying an I/O problem, then now is 

the time to implement Raw Partitions.  

2.2  Oracle Parallel Server  

---------------------------  

The implementations of Oracle Parallel Server on NT requires that all data 

files, log files, and control files are placed onto Raw Partitions so that the 

all nodes of the parallel server environment are all able to see and access the 

files.  This is necessary because NT file system (and most UNIX files systems) 

does not allow multiple nodes to share control of files. 

2.3  Asynchronous I/O (Overlapped I/O)

--------------------------------------

NT supports Async I/O: threads can continue to work while I/O for that 

thread complete: its possible for a specific thread to have multiple 

I/Os at the same time. Oracle RDBMS on NT uses by default Asynchronous I/O

3.0  Advantages and Drawbacks of Raw Partitions Compared to File Systems

------------------------------------------------------------------------ 

3.1  Advantages

---------------

  a)  The absence of a filesystem eliminates all storage overhead that 

      comes along with a filesystem.

  b)  No fragmentation on filesystem-level:  disk fragmentation is typical 

      for filesystems (NTFS & FAT).

  c)  On most platforms I/O against a file system (cache) creates a rather 

      large bottleneck. 

  (*) Oracle on NT bypasses the filesystem buffer cache completely by   

      using the FILE_FLAG_NO_BUFFERING option on opening files with 

      CreateFile().  Oracle also uses the FILE_FLAG_WRITE_THROUGH option.  

      So there is no real caching difference between raw I/O and NTFS I/O.

Because of this implementation (b & c), the performance of Oracle on NT is 

rather small (5% to 10%) and is mainly due to the absence of fragmentation (b).

3.2 Drawbacks 

-------------

  a)  Manageability & security:  when there is no filesystem, we lose all the 

      manipulation possibilities offered by a filesystem:  no space allocation 

      control, no good security, difficult to maintain.

  b)  Only 1 file per Raw Partition is possible.

4.0 Setting Up   

--------------

4.1 Calculating The Size of the Partition  

-----------------------------------------  

When creating the Oracle tablespace on the Raw Partition, a slightly smaller 

size than the actual partition size needs to be specified.  This size can be 

calculated as follows:   

        Size of Redo Log  = Raw Partition Size - 1*512 byte block  

        Size of Data File = Raw Partition Size - 2* Oracle Block Size  

Oracle typically recommends a spare megabyte.  If you want to have an exactly 

50 MB datafile on a Raw Partition, Oracle advises to create a Raw Partition 

of 51 MB.   

  ORA-19502 ORA-27072 OSD-4008; NT ERROR: 87 CREATING 

                    TABLESPACE ON RAW PARTITION

4.2 Creating the partitions  

---------------------------

The number of partitions on 1 disk is limited at 4: you can have a maximum of

4 primary partitions, or a maximum of 3 primary partitions and 1 extended 

partition. 

A primary partition cannot be split into smaller partitions.  An extended 

partition can be split into many Logical Partitions.  You could assign a 

drive letter to Logical Partitions and Primary Partitions.  Its better 

to use extended partitions because it enables you to have more than 4 drives 

per disk.

  1)  Start the NT Disk Administrator in the Administrative Tools program group.

  2)  If you dont have any free space left you need to free up some by

      deleting an existing partition that you dont need anymore. To do so, 

      select the drive that you want to suppress by clicking on it, then select

      "Delete", under the "Partition" menu.

  or

  3) Primary Partition

        Select the "Free Space" by clicking on it. Go to the 

        "Partition"-menu and select "Create". In the "Create Primary 

  Partition" screen, you define the Raw Partition Size (i.e. 

  desired filesize + 1 MB). 

         Click OK.

  or

  3) Extended Partition

     3.a If no Extended Partition is already present on the disk.

         Select the "Free Space" by clicking on it. Go to the "Partition" 

         Menu and choose "Create Extended ...". Choose the size of the 

         extended partition, you want to create. When youre initiating a 

         new disk, Oracle recommends to use the entire disk to create the 

         extended partition. 

     3.b If you already have an Extended Partition or you created one.

         Select the extended partition that you want to split up. Go to

         the "Partition"-menu and select "Create ...". In the popup screen

        you fill in the size of the logical partition

  4) Repeat step 3) for each Raw Partition you would like to create.

  5) You could change the drive letter assigned by default to a new

        not already in use letter: select the partition, choose in the 

         "Tools"-menu "Assign Drive Letter" and pick the one you want.

         In the same way you could also choose not to assign a drive 

      letter.

         (See 4.4. Symbolic Links)

  6) After all changes have been done, go to the "Partition"-menu and 

         click on "Commit Changes Now...", to save the changes.

4.3 Specifying in a create tablespace command  

Once the Raw Partition has been created and the required calculated,

it may be referenced in a create tablespace command as follows:  

  There is 1 Raw Partition present on the system q:

   CREATE TABLESPACE rauw DATAFILE //./q: SIZE 7 M, 

                                     D:/TEMP/REST.DBF size 7M;

         or

   ALTER DATABASE ADD LOGFILE GROUP 3 (//./q:) size 7M;

4.4 Symbolic Links

A) Creating Symbolic Links

--------------------------

Assigning Symbolic Links to Each Logical Partition:

If you dont want to use the drive letters assigned to logical 

partitions or you need to use more Raw Partitions than there are drive 

letters available, use the SETLINKS utility to create symbolic links to 

Raw Logical Partitions.

Create a ASCII file with the partitions and link names you intend to use. 

Its content is

"Symbolic Link 1" "/Device/Physical Drive Number x1/Partition Number y1"

"Symbolic Link 2" "/Device/Physical Drive Number x2/Partition Number y2"

"Symbolic Link 3" "/Device/Physical Drive Number x3/Partition Number y3"

 ...

Dont forget to end the parameter file with a Carriage Return.

Note.104093.1: Setlinks does not update symbolic link list

Below are a few lines from a sample file called DATABASE.TBL: 

          DATABASE.TBL

          ------------ 

          RAW_CTL01    /Device/Harddisk4/Partition3 

          RAW_LOG01    /Device/Harddisk1/Partition2 

          RAW_IDX01    /Device/Harddisk2/Partition1 

 Run the DATABASE.TBL file through Setlinks from 

 a DOS Command prompt: 

          C:/>SETLINKS /F:DATABASE.TBL 

 Symbolic Links are accessed using the convention //./.

 Above, we created a symbolic link for the control file on the third

 partition of the 5th Device called RAW_CTL01. You would reference 

 the file in init.ora like this: 

          CONTROL_FILES = //./RAW_CTL01 

 or to create a tablespace with a datafile in a raw partition:

         CREATE TABLESPACE CBAT

         DATAFILE //./RAW_IDX01 SIZE 10M;

         SVRMGR> select name from v$datafile;

         NAME

         ------------------------------------------------

         D:/DATABASES/OR85/DATAFILES/SYS1OR85.ORA

         D:/DATABASES/OR85/DATAFILES/RBS1OR85.ORA

         D:/DATABASES/OR85/DATAFILES/USR1OR85.ORA

         D:/DATABASES/OR85/DATAFILES/TMP1OR85.ORA

         D:/DATABASES/OR85/DATAFILES/INDX1OR85.ORA

         //.///./RAW_IDX01

 You can verify which Symbolic Links are currently defined by

 executing from a DOS Command prompt:

          C:/>SETLINKS /D

B) Removing Symbolic Links

--------------------------

 Removing the created Symbolic Links can be done by creating a new 

 parameter file (ASCII):

 If you want to remove "Symbolic Link 1", you create the file

 that mention the name of the link but no Logical Partition name 

 following it

 Lets remove the RAW_CTL01 Dynamic Link

          REMOVE_LINKS.TBL

          ---------------- 

          RAW_CTL01

 Run the REMOVE_LINKS.TBL file through Setlinks from 

 a DOS Command prompt: 

          C:/>SETLINKS /F:REMOVE_LINKS.TBL 

5.0 Backup Strategies   

5.1 OCOPY80.EXE

To backup raw partitions you will need to use the utility delivered by

Oracle the ocopy-command. OCOPY copies files :

   from Raw Partitions to either Raw Partitions or File Systems Files,

or from File System Files to either Raw Partitions or File Systems Files.

Utilities like the NT-commands copy, xcopy CANNOT be used to back up Raw 

partitions.  

5.2 RMAN

Another possibility is to use the Oracle tool RMAN.  

6.0 Raw Devices and Export/Import

If you are performing a full database import to a database on the same 

machine as the exported database, and the original datafiles were

on a raw device, the files will be reused even if you specify 

    DESTROY=N. 

This will crash the original database from which the export was taken.

7.0 How to switch files from a File System to Raw Device or from a Raw

    Device to a File System.

This can only be done through export and import.

for example: you have a tablespace with 1 file on a File System and you

want to switch that tablespace to a Raw Partition

         1. export all data from that tablespace

        2. drop all objects from that tablespace

         3. drop the tablespace itself

         4. recreate the tablespace with a Raw Partition

         5. reimport the exported objects.

8.0 Remarks

8.1 When placing control files (as from Oracle8) on Raw Partition

    keep in mind that control files can grow in size overtime and that 

    there must be sufficient space in the Raw Partition to cope with 

    this growth.

    The growth of the controlfile, amongst many aspect, is mainly 

    influenced by the init.ora parameter CONTROL_FILE_RECORD_KEEP_TIME.

8.2 Think about standardization of the size of Raw Partitions; One, two    

    or three different size make it much easier to administrate than 20     

    different sizes. It will allow easy reuse anf avoids repeated    

    partitioning.


相关文章
    无相关信息
【评论】【收藏本文】【打印】【关闭】

上一篇文章:How to use OS commands to diagnose Database Performance issues?
下一篇文章:Performance Improvement Tips for Oracle on UNIX

讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Atlas快速入门之实战AtlasAtlas快速入门之实战Atlas
.net页面间的参数传递简单实例.net页面间的参数传递简单实例
推荐阅讯
Web2.0公司所要做的就是撕掉Web2.0标签
浅谈CLR的内存分配和回收机制
Web 2.0中AJAX技术应用详解
专访菠萝网创始人:盲目做Web2.0不可取
创建有个性的对话框之MFC篇
Hibernate作为数据持久层的分析和研究
基于Ajax的应用程序架构设计汇总
WEB2.0对B2B网站经营思路上的启发
J2ME网络编程以及网络游戏的实现
Thinking in AJAX(一)——AJAX-X
阅读排行
1..net页面间的参数传递简单实例
2.VC++与Matlab混合编程之引擎操作详解
3.Oracle数据库数据对象分析
4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
5.Oracle数据库中索引的维护
6.在Oracle的网络结构中解决连接问题
7.Oracle数据安全面面观
8.Oracle数据库的ORA-00257故障解决过程
9.Oracle数据库备份与恢复的三种方法
10.Oracle与SQL Server在企业应用中的比较
专题教程
Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
大话G游 专题:手机病毒揭密
ARP攻击防范与解决方案 路由故障处理手册
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2008 Jztop.Com 版权所有 未经许可 请勿转载
深度XP 雨林木风XP WinXP下载 世界之窗浏览器 风行网络电影 ZCOM电子杂志 UUSee网络电视 金山毒霸 杀毒 酷我音乐盒
深度系统 雨林木风 Ghost ghost系统盘 XP下载 小游戏 flash 股票 购物 彩票 交友 非主流 汽车 健康 电影 金山词霸