Can any one guide me taking cold back up of my db
and which procedure is best for taking back up

Click to expand...

As a general rule it's best to use the provided utilitiy intended for such operations, RMAN. The process is simple:

1) Shutdown the database either normal or immediate
2) Startup mount
3) Invoke RMAN to take the backup

Yes, you could do it the old-fashioned way, generating lists of files you need to copy, writing a shell script to effect those copies, shutdown the database either normal or immediate then run the shell script you just created but that is a process you need to repeat each time you backup your database to 'catch' any datafiles you've added to the database since the last backup. RMAN does all of this for you and there are no scripts to generate; the same three steps listed above are all you need for an offline backup of your database.

My suggestion(After Hours) is to shutdown immediately, then take a cold database instance backup
If you can afford the down time, this would be better than nothing.
What is Operating System name & version?
What is Oracle version to 4 decimal places?
What are the backup plans & procedures going forward?

My suggestion(After Hours) is to shutdown immediately, then take a cold database instance backup
If you can afford the down time, this would be better than nothing.
What is Operating System name & version?
What is Oracle version to 4 decimal places?
What are the backup plans & procedures going forward?

Click to expand...

Yes, the last three questions are excellent and should be considered, however the original poster is asking HOW to take a cold backup, not if he should. Since RMAN requires no licensing fees it's free to use by anyone with a valid Oracle installation and I strongly recommend using it.

The first three steps were included in my initial response. The last step is unnecessary in this situation as the original poster only asked how to take a cold backup of his/her database. Why would you take a backup of a database then immediately restore it to the same server if the database you just performed a backup on is not experiencing problems? I can understand doing this to a test server to ensure the backup pieces are usable, but not to the just-backed-up database.