When we perform network bandwidth planning for Exchange deployments we always ask “what is the size of your OAB?” This is important since if you have a large OAB file it can severely affect the amount of network bandwidth that you require.
One of the things that I noticed while creating and validating the Exchange Client Network Bandwidth Calculator was that many organizations did not know much about their OAB size or placement. This was tricky since I needed to know the size of the OAB so that we could predict how it might affect the network bandwidth requirements for that customer.
I decided that I would start this post to explain what the OABv4 files are, where to find them and how to determine the size of your OABv4 file J
Note: Before we dive in it is important to note here that I am concentrating on OABv4 – this was introduced with Exchange Server 2003 SP2 and Outlook 2003 SP2 (that was a long time ago!). I am hoping that everyone reading this is using OABv4 – if you’re not then it’s probably time you looked at how to upgrade since there are many benefits from OABv4 including additional stability and much better bandwidth usage.
The OAB file is generated on one of your Exchange Mailbox Servers, to find out which one, we need to take a quick look at the Offline Address Books.
Get-OfflineAddressBook | ft server,guid,AddressLists –AutoSize
In this example I am going to look at the Default Global Address List. The command returns two interesting values for each OAB;
To find the actual files, we need to take a look at the server that is generating the OAB file; on that server we need to look in the following folder;
C:\Program Files\Microsoft\Exchange Server\V14\ExchangeOAB\
Inside this folder we need to look for a folder with the name that matches our OAB GUID returned earlier. In this example we are looking for 2b525e9b-6030-428d-adb4-87c8d52df116
In my lab I only have a single OAB file, so it’s pretty easy.
This folder is where your OAB files are stored; if we take a look inside the folder, we can see the files that are used by clients to generate the OAB can be found….
Now, this is the interesting question! So, we know where our OAB files are, but which files are important?
Let’s take a look at the files we have…
The <sequence> number is iterated each time the OAB is regenerated. If there have been no changes since the last build, there will be no iteration of the sequence number and the clients will not download any patches. You can see from this that my lab has had 4 generations of the OAB.
The bandwidth calc asks for two pieces of information about your OAB file:
Offline Address Book size is simply the size of your *-DATA-<sequence>.LZX file.
%GAL Changes per Day is a little more complex. Essentially what we are trying to do with this value is determine how much bandwidth we need on a daily basis to keep Outlook’s OAB up to date. To do this we need to take a look at the size of our *-BINPATCH-<sequence>.LZX files;
To do this I have used the dir command from within the OAB directory
This gives us a list of binpatch files; what we need from this is to determine the size of these as a % of the OAB file and then average the changes.
Note: In this example I use a script and or Loadgen to generate large quantities of mailboxes every week so the data is extremely unrepresentative, however the process remains the same for everyone J
So, for my lab environment I would enter the following values into the network calc.
Exchange Server 2003 stores its OAB files within public folders. If you are using OABv4 then the same files exist within your system public folders;
Write down the sizes of the OAB files
Once you have the sizes for your files you can follow the instructions for Exchange 2007 and Exchange 2010.
I thought I would also include some interesting stuff about OAB files J
Hopefully this post will help remove some of the ambiguity regarding OAB sizes.
Neil Johnson Senior Consultant, MCS UK