This article revisits a series
written around five years ago regarding running an Oracle database on Windows.
There have been quite a few changes, which you may not see or know about unless
you have actively pursued staying abreast of this technology area. One aspect
that has not changed is Oracle Corporation’s commitment to making the RDBMS not
only run, but also run well, on the Windows platform.
Looking at the Oracle
Technology Network site, find the Technologies link on the left frame or side
of the page. There you will see a list of some of the more prominent
technologies Oracle is associated with – but not all of them unless you drill
down a bit more. Clicking either of the TECHNOLOGIES or Technologies A-Z links
takes you to a page showing all of what Oracle calls “Technology Centers.” Windows
Server System is not a “main page” technology link, but neither are some other fairly
common items such as migration and XML.
The Windows Server
System Center page surfaces a wealth of information regarding our topic of
interest. The updated date at the top of the page isn’t necessarily accurate as
the last date before April 6, 2009 (as of this writing) was more than a year
ago, but Oracle OpenWorld presentations from just a few months prior were
included on the page. From a tip or learning perspective, what are some of the
more relevant topics, links, or focus areas? I’ll assume you’re not a .NET
developer, but if you are, there’s help for you too. From an Oracle DBA’s
perspective, architecture, performance, best practices, and Key Technologies
(on the right side of the Center page) are some of the most useful.
The architecture white
papers provide a good explanation of how and where memory on Windows is used
with respect to running an Oracle instance as a process. You may have heard
bits and pieces about some versions of Windows being limited to 4GB of RAM (or
even 2GB, for that matter). This is true, but at the same time not entirely
accurate. In one context, you are limited to 2GB, but can acquire 50% more and
go to 3GB (by modifying a Windows “ini” file), but in another, parts of Oracle
can extend beyond that limit. Roughly put, the bulk of your instance (SGA and otherwise)
runs under the 3GB limit, but data buffers can extend or make use of the higher
physical RAM limit of 4GB. This “reaching out” beyond the hard limit technology
is known as Address Windowing Extensions (AWE). The bottom line is that AWE can
extend Oracle’s use of memory to 64GB.
In the past five years,
another architecture improvement across all of computing includes more and more
use of 64-bit OS platforms. Oracle on Windows is a recipient of better support
and integration in this regard. In fact, there are places where Oracle
recommends you do not use 32-bit OS. The portability of moving Oracle on a
32-bit version of Windows to a 64-bit version (including the Oracle software
being 64-bit) is quite simple and is essentially the same as changing
the word size.
It goes without saying (but
it has to be said anyway) that we want the database to perform well (or be
performant, given that this term will be a “real” word with enough usage).
Performance and adherence to best practices go hand-in-hand. The Windows Server System Center is an
excellent resource for learning about what Oracle Corporation has already
solved (i.e., what you should do to get the best results of your software and
Networking, file systems
(and yes, works well with RAC), and OS parameters are the solutions, but you
also need tools to see the “what.” The management console snap-ins have been
around for quite a while, but you need more OS-specific tools and an awareness
of what to look for.
One of the fundamental
differences between Windows and UNIX is that of threads versus processes. Even
if you don’t plan on using Oracle on Windows, it is worth your while to install
Explorer, freely available at Microsoft’s TechNet site (similar to OTN).
However, if using Windows, you’ve probably run across a situation where the
de-installation of Oracle (the removal of all files) is blocked by some process
having a lock on a file (and it happens outside of Oracle too). Who or what is
locking a file? Process Explorer reveals this bit of information.
The Windows OS has some of
its performance measured or recorded by counters, so you will need to become
familiar with some of these as they relate to Oracle. Just as UNIX can show
disk usage or IO, so can Windows. Client connections can also be observed,
counted, and measured, as an example of common problem areas for performance.
In this regard, what better
way to learn than from Oracle? The company is committed to being a strong
competitor in the “databases that run on Windows” arena, and if you read a few
of the white papers, the point that Oracle Corporation was the first company to
offer a major league RDBMS on Windows (as in “we did this before Microsoft came
up SQL Server or Sybase”) won’t be hard to miss.
Best practices include using
a variety of Windows-specific tools and utilities, monitoring connections,
applying CPU tuning, listener setup, networking settings (sqlnet &
tnsnames), type of server to use (dedicated versus shared), and file system
settings. Even better, a reference breaks these down to 32 and 64-bit
The point of highlighting
this part of the Center is that users frequently struggle to find data
connectors. These connectors facilitate data transfer or exchange outside of
Oracle to within, and vice versa. Whether the connector is based on ODBC, OLE,
or something else specific within .NET, the link here can be useful. Two items
not included are MDAC and Java class files for connecting non-Oracle products
to Oracle. A link to the jar files needed to connect BI Publisher and SQL
Server would a prime candidate for inclusion at the Center page.
One of the better
consolidated one-stop shopping links at the Center site is the free access to
presentations at last year’s Oracle OpenWorld. You can download individual
presentations or demos, or get them all at once. For what it’s worth, lots of
other products and technologies have similar access to OOW content, and much of
that is presented at state of the technology (what’s currently being done now
as opposed to bleeding edge).
Why else should this source
at OTN be of interest to you? Chances are you do or have done a significant
part of your learning about Oracle on your home PC. Why learn Oracle “badly”
when you can learn it more efficiently? That is, don’t impede your learning by
running Oracle on a poorly configured system (even if it is an XP or Vista
computer, many of the steps and concepts still apply). You can get an academic
type of license to use Windows Server at home, and it is not uncommon to boost
onboard RAM to 4GB. Why not make full use of your resources so you can see what
Oracle is capable of doing? The Windows Server System Center is a resource you should definitely keep in mind
when trying out Oracle at home or work.