1. Could you please explain what factors should be taken into account while creating a new database?
2. How can I decide when creating a new database the amount of RAM allocated and the number of CPUs?
1. You need to know the amount of total memory available on the box, how much is already in use (either by other Oracle instances or other tools/apps/products), how much disk space and its configuration, the number and type of users expected for your new database and the backup strategy you will want to use.
2. Look in the install guide for your OS to determine any max limits on SGA size and then use as much as you have reasonably available for Oracle. Some OS's have a limit as to how big the SGA can get. Make sure to not exceed any limits. As far as the number of CPUs, this is shown to you in the parameter cpu_count and is assessed by Oracle.