此问题已回答。
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?
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),
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),
Awesome. I found some good posts on PDBs. I'll dig into those after work. Thanks for the tip.
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
No! You can create user in CDB$ROOT but only common user!
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.
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.