basically i am software guy got recently promoted to managerial cadre which requires giving recommendation for server to run software developed by our company , the software is a work flow management and the db is oracle 11 , approximately the size of daily transaction would be around 40 gb, and it should be connected to ~ 150 client machines , the client machine will be growing. help on terms of cpu, processor, memory , rack and stack or raid (i really yet to understand that concept) OS, will be greatly appreciated.
There are a lot more specifics that would be necessary to provide a useful size answer for you. I'm not going to try to go back and forth in this form to get that answer, but here are a question and a recommendation:
Does your company have a hardware relationship with a particular vendor? For example, if you have a data center full of IBM blade servers, you'll probably want to configure an IBM blade server to work even if a Sun box would be slightly better. Spare parts, admin and repair expertise, etc. should fit into your considerations.
If you have such a vendor relationship, use it. Discuss what you need with your vendor sales engineers and make sure you understand why they recommend what they do. Usually, most SEs will be trying to make responsible recommendations and will have much more detailed knowledge of your situation than we possibly can.
If you don't have a single vendor relationship, then speak with multiple vendors for recommendations, but take what they say with larger grains of salt, and compare the recommendations (you are still asking them to explain why you need each component, right?). When you buy servers, the price includes pre-sales support salaries, so leverage their expertise. A similar helpful technique is to ask one vendor for recommendations on a necessary component that they don't supply, or at least just repackage. Ask the software vendor for hardware recommendations; the NAS vendor for router recommendations, etc.
You will probably pick up on most of the important considerations in one or two of those detailed discussions and be able to make a good choice.
Do you have a support department which looks after your servers, or is the support outsourced?
If you have an internal IT Support department, they will know your current setup very well, and I would say they were in a very good position to recommend hardware and/or software.
You, as the manager would then have to go though what they suggest (ask for clarification if you don't understand something) and make the final recommendation.
Not to be mean, but it sounds like you were promoted outside your knowledge sphere (or at least to a position where you're being asked to spec something you don't fully understand). This isn't necessarily a bad thing (some of the best managers I ever worked with were non-technical), but it makes your job harder.
If the internal team you're managing is competent enough to help you put together an appropriate spec you should work with them (see Ben's answer). They will be able to clarify any points and help create something you can bring to those above you with solid justification and a reasonable expectation that it will work.
If you don't trust the team you're working with to do that you should probably point out to those above you that you're not 100% solid on what you're going to be proposing (and fall back to mpez0's suggestion of discussing it with your vendors: though this means your solution will likely grow in cost & be overbuilt that's better than dropping $20k on a solution and then having to turn around and drop $50k to re-implement in 6 months because it wasn't scalable).
mpez0 had some very good recommendations. The only other path I see, that he didn't list, is to determine requirements through testing.
From your description, it sounds like you have an application of unknown temperment. What I mean by this is that you really don't know what the work load is going to require.
Your first goal then is to nail down what it's performance profile really is. In other words is it really DB heavy or are the transactions (even 40GB worth) fairly straight forward?
To find out, pick a server that you already have, install the application on it, then run profiling tests to figure out how it responds. The tests should start light with a small number of clients, then ramp it up to the full # of connections you expect.
Along the way you are going to learn several things, the most important of which is what parts need to be beefed up. You should watch the disk queue length as well as ram, network, and processor utilization. Which of those fall down?
If you go the testing route, then you'll know exactly what hardware you need for a given performance profile.
You should detremine if your DB will be IO bound or CPU bound ? How much data you will store in database, how many requests you may run over the database ?
In my experience, I noted that every mainstream CPU is sufficiently powerfull to overflow IO bandwidth of hard disks.
I suggest you put your money on hard disks and then RAM.
Having multiple hard disks connected to several IO path will greatly improve performance. Spread your data and index over multiple files into multiple disks.
For redondancy, I suggest you use RAID-1 or RAID-10 (for stripping + miroring) and avoid RAID-5. It is only good if you have lots of read, and performs not very well in write scenarios.
And preferably use separate disks for system files (windwos + paging) and data files.
Then after you may think of adding some RAM, SQL perform much better by having lots of memory but it still depends on your data volume.
And don't forget back system, it is a must if you go for hosting databases for you clients.
Currently, one of my databases has a 100 GB data file and I can handle 300 to 400 requests/seconds without any problem on a sinlg CPU, 2GB RAM. I'm actually IO bound. with disks giving me 80 MB/Seconds at most.