I have query regarding locations of the SD servers.Can we place background and standaby servers in datacenter at one location and database in another datacenter at different location.And placing application servers at different locations.
This should absolutely be possible, but you will need to validate that all connectivity issues are removed.
I'd suggest taking a look at this Wiki page (it is for 14.1, but still applies for 12.9)
This provides a list of ports. In this environment you will likely want to leverage the options in the NX.env noted in that page:
Then you will need to assure that the range 2100-2300 is open between all ServiceDesk servers, as well as other ports specified. Additionally you will need to make sure that the database port is open between ALL servers in the environment, even the Application servers.
Retrieving data ...