No, you do not have a name collision. Your DB_DOMAIN, DB_NAME, and INSTANCE_NAME can all be identical as long as the databases are on different hosts (as you have indicated). However, as others have stated using the same DB_NAME is a bad idea for anything other than perhaps a recovery operation. A policy enforcing distinct passwords will be broken. Connections will be confused. Most things you can do to ensure that changes are not inadvertently made on production are probably worth the hassle.
Here is the relevant documentation:
DB_DOMAIN
In a distributed database system, DB_DOMAIN specifies the logical
location of the database within the network structure. You should set
this parameter if this database is or ever will be part of a
distributed system. The value consists of the extension components of
a global database name, consisting of valid identifiers (any
alphanumeric ASCII characters), separated by periods.
Note: Oracle recommends that you specify DB_DOMAIN as a unique string
for all databases in a domain.
This parameter allows one department to create a database without
worrying that it might have the same name as a database created by
another department. If one sales department's DB_DOMAIN is
JAPAN.ACME.COM, then their SALES database (SALES.JAPAN.ACME.COM) is
uniquely distinguished from another database with DB_NAME = SALES but
with DB_DOMAIN = US.ACME.COM.
If you omit the domains from the name of a database link, Oracle
expands the name by qualifying the database with the domain of your
local database as it currently exists in the data dictionary, and then
stores the link name in the data dictionary.
DB_NAME
DB_NAME specifies a database identifier of up to 8 characters. This
parameter must be specified and must correspond to the name specified
in the CREATE DATABASE statement.
If you have multiple databases, the value of this parameter should
match the Oracle instance identifier of each one to avoid confusion
with other databases running on the system. The value of DB_NAME
should be the same in both the standby and production initialization
parameter files.
INSTANCE_NAME
In a Real Application Clusters environment, multiple instances can be
associated with a single database service. Clients can override
Oracle's connection load balancing by specifying a particular instance
by which to connect to the database. INSTANCE_NAME specifies the
unique name of this instance.
In a single-instance database system, the instance name is usually the
same as the database name.
Best Answer
In general, it would mean that the instance that was servicing the request failed and is no longer running. In a RAC cluster, you run one instance on each node of the cluster. I wouldn't make sense to move an instance from one node to another in the cluster-- that would imply that one node would be running two instances of the same database. Depending on your environment, the DBA might choose to add a new node (and a new instance) to the RAC cluster at least temporarily in response to the failure of one of the instances.