📄 oracle inside out - linux vs windows.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.interealm.com/technotes/roby/pentmark.html -->
<HTML><HEAD><TITLE>Oracle Inside Out - Linux vs Windows</TITLE>
<META http-equiv=Content-Language content=en-us>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<STYLE>P.MsoBodyText2 {
FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Garamond
}
P.MsoNormal {
FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""
}
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<CENTER>
<TABLE id=AutoNumber1 style="BORDER-COLLAPSE: collapse" borderColor=#111111
cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD width="100%">
<HR color=#000000 noShade SIZE=4>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center width=600>
<P align=center><FONT face=Verdana size=2><IMG height=218
src="Oracle Inside Out - Linux vs Windows.files/dbinoutlogo.gif"
width=500 border=0></FONT></P></TD></TR></TBODY></TABLE></DIV>
<P align=center><B><FONT face=Verdana color=#800000>Oracle 9i on Linux vs.
Windows 2000 Server </FONT><FONT face=Verdana size=2><BR>By <A
href="http://www.interealm.com/roby/index.html">Roby
Sherman</A></FONT></B></P>
<HR color=#000000 noShade>
<BR>
<P class=MsoNormal><FONT size=2><SPAN style="FONT-FAMILY: Arial">I
recently performed a technical, head-to-head comparison of Oracle 9i
release 2 running under out-of-the-box versions of Red Hat Linux 7.2
(kernel 2.4.7-10smp) and Windows 2000 Server Edition, on identical
Pentium-based hardware. The goal of these tests was identify the strengths
and weaknesses of each operating system in the areas of database
performance, stability, and ease of administration / support.
</SPAN></FONT></P>
<P class=MsoNormal> </P>
<P class=MsoNormal> </P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 14pt"><B><SPAN
style="FONT-FAMILY: Garamond">Notes on the Hardware, Operating Systems
Compared, Etc.</SPAN></B></SPAN></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><FONT face=Arial size=2>Testing was performed on a
Compaq DL380 with 1 GB RAM and 2 Pentium III processors with 512K of
cache, running at 1.13 Gigahertz. The chassis contained five (5) 18.2 GB
Drives hooked to a MegaRAID controlled (although RAID was not used on the
disks containing database data files or operating system swap).</FONT></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><FONT face=Arial size=2>After each test run was
completed, the server disks were wiped of partitioning information,
reformatted and re-imaged with the competing operating system with a
comparable swap configuration / layout, Oracle software
installation, and eventual database configuration and layout.</FONT></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><FONT size=2><SPAN style="FONT-FAMILY: Arial">The Linux
configuration with ext3 filesystems with journaling enabled. The Windows
filesystem used the closest equivalent on it's platform, namely
NTFS.</SPAN></FONT></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 14pt"><B><SPAN
style="FONT-FAMILY: Garamond">Why Not Raw?</SPAN></B></SPAN></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: Arial"><FONT size=2>I've
received several questions from readers asking why I preferred to compare
filesystems on two different operating systems over a more (in their
opinion) "Apples-to-Apples" type comparison via Raw devices. My answer
breaks down into two, simple arguments:</FONT></SPAN></P>
<P class=MsoNormal> </P>
<UL>
<LI><SPAN class=MsoNormal style="FONT-FAMILY: Arial"><FONT size=2>The
code for a given operating system's asynchronous kernel I/O module
varies just a much from OS platform to platform as does the direct I/O
code for given filesystem implementation. As long as other factors (e.g.
filesystem journaling, use of buffering versus direct I/O, equal
serialization due to single-file write locks, etc.) are taken into
consideration and configured equally for both OS environments, there is
really no reason to believe that a comparison of Linux Raw versus
Windows Raw would be any more comparable than a comparison of a Linux FS
versus Windows NTFS.<BR></FONT></SPAN>
<LI><SPAN class=MsoNormal style="FONT-FAMILY: Arial"><FONT
size=2>Regardless of your personal preferences, it's fairly safe to say
that a majority of DBAs implementing Oracle databases under Linux- and
Windows-based servers are creating their datafiles on the filesystems
rather than Raw devices. Given this fact, it made sense to test based on
these more prevalent environments.</FONT></SPAN> </LI></UL>
<P class=MsoNormal> </P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 14pt"><B><SPAN
style="FONT-FAMILY: Garamond">Limitations of the
Evaluation</SPAN></B></SPAN></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><FONT size=2><SPAN style="FONT-FAMILY: Arial">Due to
hardware resource constraints and a lack of production-ready software, I
was unable to evaluate RDBMS performance in a Linux or Windows-based
clustering environment or on Itanium-based hardware. It is presently
unclear how such configurations would affect the recommendations made in
this document. Until such configurations can be tested, I cannot and will
not make any assumptions or recommendations on operating in such
environments.</SPAN></FONT></P>
<P class=MsoNormal> </P>
<P class=MsoNormal> </P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 14pt"><B><SPAN
style="FONT-FAMILY: Garamond">The Performance Tests</SPAN></B></SPAN></P>
<P class=MsoNormal> </P>
<P class=MsoNormal><FONT size=2><SPAN style="FONT-FAMILY: Arial">A series
of RDBMS tests were coded to produce a mix of I/O characteristics similar
to those found in typical, single instance OLTP, DSS and hybrid
environments. These tests were specifically designed to stress the
database instance in the areas of:</SPAN></FONT></P>
<P class=MsoNormal> </P>
<TABLE id=AutoNumber3 style="BORDER-COLLAPSE: collapse"
borderColor=#111111 cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top width="50%">
<UL>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Datafile creation</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Locally managed and dictionary managed
extent management</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Redo generation (and subsequent LGWR
flushing)</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">DBWR block acquisition and flushing
during I/O loads and checkpointing</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Parallel / Bulk DML</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Parallelized table scans, joins, and
intercommunication.</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Large transactional and query
performance against range, hash, and list-partitioned
tables</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT size=2><SPAN
style="FONT-FAMILY: Arial">Statistics generation and
analysis</SPAN></FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Latch acquirement,
sleep/spinning, and release</FONT></P></LI></UL></TD>
<TD vAlign=top width="50%">
<UL>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Oracle JVM class
loading and general processing</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>PL/SQL
execution</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Shared pool
manipulation (shared, parsed SQL, etc.)</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Sorting and related PGA
management</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Multi-threaded Server
(MTS) processing</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Direct I/O</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Sequence
generation</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Undo generation and
rollback</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Index block update,
splits, and scans</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Enqueue acquirement,
processing, and release</FONT></P>
<LI>
<P class=MsoNormal><FONT face=Arial size=2>Inter-process
communication and posting</FONT></P></LI></UL></TD></TR></TBODY></TABLE>
<P class=MsoNormal> </P>
<P class=MsoNormal> </P>
<P class=MsoNormal> </P>
<P class=MsoNormal><FONT face=Arial size=2>The following bar graph
represents key performance areas broken down by specific RDBMS operations
and/or tasks:</FONT></P>
<P class=MsoNormal> </P>
<P class=MsoNormal align=center><IMG height=292
src="Oracle Inside Out - Linux vs Windows.files/linwin.jpg" width=577></P>
<P class=MsoNormal align=center><B><FONT size=2>Figure 1. Comparison of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -