Search code examples
oracleoracle11goracle10goracle-sqldeveloperoracle19c

Oracle Database - Different between C## user and Regular user?


Hello I want to know what's different between

Create User C##USERNAME 

and

Create user USERNAME 

in oracle database? Oracle 19c


Solution

  • In versions you tagged (10g and 11g), none (except that it makes your life more complicated than it should be).

    In later Oracle database versions, it is related to CDB. From CREATE USER (19c version, as edited question suggests):

    (user:) Specify the name of the user to be created. This name can contain only characters from your database character set and must follow the rules described in the section "Database Object Naming Rules". Oracle recommends that the user name contain at least one single-byte character regardless of whether the database character set also contains multibyte characters.

    In a non-CDB, a user name cannot begin with C## or c##.

    In a CDB, the requirements for a user name are as follows:

    • The name of a common user must begin with characters that are a case-insensitive match to the prefix specified by the COMMON_USER_PREFIX initialization parameter. By default, the prefix is C##.

    • The name of a local user must not begin with characters that are a case-insensitive match to the prefix specified by the COMMON_USER_PREFIX initialization parameter. Regardless of the value of COMMON_USER_PREFIX, the name of a local user can never begin with C## or c##.