SID is a unique name that is given to the database, and databases are identified using SID names. If for example you have 2 databases as TEST and PROD, you may set the SID name to switch between databases when connecting to them respectively.
Service name is a logical representation of a database, which is the way a database is presented to clients. A database can be presented as multiple services and a service can be implemented as multiple database instances. The service name is a string that is the global database name, that is, a name comprising the database name and domain name, entered during installation or database creation. If you are not sure what the global database name is, you can obtain it from the value of the
SERVICE_NAMESparameter in the initialization parameter file.
Please also refer link:
Hope this answers!