This discussion is archived
6 Replies Latest reply: Jul 3, 2013 12:15 PM by rp0428 RSS

12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT

kc-runner Newbie
Currently Being Moderated

Last night I installed Oracle 12C on OEL 6.4. See Installing Oracle Spatial and Graph 12c on OEL 6.4 .

 

Today I attempted to create a test user following a syntax that worked for 11g but I received a permission error.

 

$ sqlplus sys as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Wed Jun 26 07:08:11 2013

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Enter password:

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

 

SQL> GRANT DBA, CONNECT, RESOURCE TO STEVE IDENTIFIED BY dbl-secret-pwd;

GRANT DBA, CONNECT, RESOURCE TO STEVE IDENTIFIED BY dbl-secret-pwd

*

ERROR at line 1:

ORA-65049: creation of local user or role is not allowed in CDB$ROOT

 

Any ideas why I get this error in 12c?

  • 1. Re: 12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT
    DK2010 Guru
    Currently Being Moderated

    Hi,

     

    Its New, so I think You have to create the PDB (plugable DB ) first and then you can create user under the PDB not under the CBD (container DB),

  • 2. Re: 12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT
    kc-runner Newbie
    Currently Being Moderated

    Awesome. I found some good posts on PDBs. I'll dig into those after work. Thanks for the tip.

  • 3. Re: 12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT
    Zoran Pavlovic Explorer
    Currently Being Moderated

    Only common user can be created in root container (common user is a user that starts with c##). You create common user like this:

     

    SQL> create user c##mike identified by <password> container=all;

     

    You cannot create local user in root container, nor common user in pdb.

     

    Same stands for role!

     

     

    - Zoran

  • 4. Re: 12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT
    Zoran Pavlovic Explorer
    Currently Being Moderated

    No! You can create user in CDB$ROOT but only common user!

  • 5. Re: 12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT
    kc-runner Newbie
    Currently Being Moderated

    The answer for my purposes was to uncheck the box "Create as Container database" when I installed the 12c software. The old user and grant syntax works fine. I didn't need containers.

  • 6. Re: 12c: ORA-65049: creation of local user or role is not allowed in CDB$ROOT
    rp0428 Guru
    Currently Being Moderated

    kc-runner wrote:

     

    Last night I installed Oracle 12C on OEL 6.4. See Installing Oracle Spatial and Graph 12c on OEL 6.4 .

     

    Today I attempted to create a test user following a syntax that worked for 11g but I received a permission error.

     

    $ sqlplus sys as sysdba

    SQL*Plus: Release 12.1.0.1.0 Production on Wed Jun 26 07:08:11 2013

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.

     

    Enter password:

    Connected to:

    Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

     

    SQL> GRANT DBA, CONNECT, RESOURCE TO STEVE IDENTIFIED BY dbl-secret-pwd;

    GRANT DBA, CONNECT, RESOURCE TO STEVE IDENTIFIED BY dbl-secret-pwd

    *

    ERROR at line 1:

    ORA-65049: creation of local user or role is not allowed in CDB$ROOT

     

    Any ideas why I get this error in 12c?

    You are getting that exception because the 'creation of local user or role is not allowed in CDB$ROOT'.

     

    Let me be the first to say, as regards 12c, RTFM!

    http://www.oracle.com/pls/db121/homepage

    I suggest you first read chapters 17 and 18 of the Concepts doc about the new multitenant architecture of 12c.

    http://docs.oracle.com/cd/E16655_01/server.121/e17633/part_consol.htm#CHDGDBHJ

     

    The 'Common Users in a CDB section answers your question

    >

    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.)

    >

    There are two types of users in 12c: common and local. You need to understand the difference between them.

     

    There are two types of database in 12c: CDB (container DB) and PDB (pluggable DB). You need to understand the difference between them.

     

    You will not be able to learn the differences in the forums - you will need to read the documentation.

     

    The word 'you' in the following comments are meant for ANYONE that intends to start working with 12c.

     

    You will NOT be successful working with 12c unless you have read and understand the new multitenant architecture that it uses. As you discovered there are very simple things (connecting, startup/shutdown, creation of users, grants to users, etc) that just don't work the same old way anymore.

     

    If you try to just 'plow through it' without reading about it you will get an exception that you won't understand (like your 65049) and it will likely use a term (CDB$ROOT) that you won't understand. Then you will hunt all over (or worse, ask in the forums) to find out about that term.

     

    You will find it MUCH simpler if you just start  with the documentation to begin with.

     

    The odds of receiving a RTFM response for questions about 12c are going to be pretty high since there is little point in even trying to use the forum to explain an exception message like the one you posted; there is just too much background that you need and that background is in the docs.