what is SID
SID is unique name of the INSTANCE (eg the oracle process running on the machine). Oracle considers the "Database" to the be files.
what is Service Name
Service Name is an alias to an INSTANCE (or many instances). The main purpose of this is if you are running a cluster, the client can say "connect me to SALES.acme.com", the DBA can on the fly change the number of instances which are available to SALES.acme.com requests, or even move SALES.acme.com to a completely different database without the client needing to change any settings.
what is global_dbname
GLOBAL_DBNAME is the service name -- it is just a way to keep it "all straight", in a multi-database environment, you might think about using the global dbnames (and using the right ones, not the wrong ones) -- as service names so you know what the service names are implicitly (global database names) and have a reasonable expectation of what database you are connecting to.
what is db_unique_name
DB_UNIQUE_NAME specifies a globally unique name for the database. Databases with the same DB_NAME within the same DB_DOMAIN (for example, copies of a database created for reporting or a physical standby) must have a unique DB_UNIQUE_NAME.