From this nice website
It is possible and supported to install Exchange 2003 directly on a domain controller. This might be an option for organizations that do not want to deploy two extra servers that run Windows Server 2003 and Active Directory. However, this configuration has performance limitations. When Exchange 2003 runs on a domain controller, it must always use the local domain controller for directory lookups and cannot perform load balancing between multiple domain controllers that might exist on the network. Deploy dedicated domain controllers in the forest of an Exchange 2003 organization, especially if additional servers that also require Active Directory access exist, for example, File, Print, or SQL servers.
So, it works, but can give huge performance errors. There is also no good backup/recovery strategy for this kind of setup.
In your specific case, where you have 100 users, two normal servers are not enough. You also cannot install Microsoft Small Business Server, since this is for 75 or less users.
It is highly recommended to get four decent servers with the following roles:
- Server 01: DC1, file server
- Server 02: DC2, print server
- Server 03: Exchange server
- Server 04: Oracle server
Even in this case all four server will be used at top performance lever. Do not add other roles to these servers!
The less performance rols are the two DC's (with Active Directory synchronisation of course). They are used for the entire network; resources are split over two servers. Users only need it for login. You need it for management.
The meduim performance roles are file and print server; this is why they can run on DC's, depending on the performance the 100 users are needing.
The big performance eaters are Exchange and Oracle. Both will have 100 users connected almost every single day.