why have to write c## for user creation in oracle 12c I have tried to create user accounts in oracle 12c. But it has shown the error:


  ORA-65096: invalid common user or role name. 


I have tried the following two user name:

BANNER
-----------------------------------------------------------------------------
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL&gt; CREATE USER A3 IDENTIFIED BY p3;
CREATE USER A3 IDENTIFIED BY p3
            *
ERROR at line 1:
ORA-65096: invalid common user or role name


SQL&gt; CREATE USER testUser IDENTIFIED BY pass;
CREATE USER testUser IDENTIFIED BY pass
            *
ERROR at line 1:
ORA-65096: invalid common user or role name


SQL&gt; CREATE USER c##testUser IDENTIFIED BY pass;

User created.

SQL&gt;


Then I have googled and found a solution that I have to write c## before the user name. 

The reason is not clear to me. Can you please clear it to me?
You have a container database and you are in the CDB$ROOT container.

In the root container, you can create only common users.

Local Users in a CDB


  A local user cannot be created in the root.


The name of common users must start with c##.

Common Users in a CDB


  "The name of every user-created common user must begin with the
  characters c## or C##. (Oracle-supplied common user names do not have
  this restriction.)"


For an overview of users in a container database, read Overview of Commonality in a CDB