Pick any version of oracle documentation and type in global_names in the search engine, you know what it is in 5 min.
It takes much less than what it takes back and forth posting threads with clarifications. beleive me... I did the same and doing ctrl+c, ctrl+v.
When you set the initialization parameter GLOBAL_NAMES to TRUE, Oracle ensures that the name of the database link is the same as the global database name of the remote database. For example, if the global database name for HQ is HQ.ACME.COM, and GLOBAL_NAMES is TRUE, then the link name must be called HQ.ACME.COM. Note that Oracle checks the domain part of the global database name as stored in the data dictionary, not the DB_DOMAIN setting in the init.ora file (see Oracle8i Distributed Database Systems).
If you set the initialization parameter GLOBAL_NAMES to FALSE, you are not required to use global naming. You can then name the database link whatever you want. For example, you can name a database link to HQ.ACME.COM as FOO.