I have the Oracle Database App Development VM (12c) and am trying to create a new container. Specifically:
conn / as sysdba
create pluggable database pdborcl admin user system identified by oracle FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/pdbseed/', '/u01/app/oracle/oradata/cdb1/pdb2'');
However, I cannot connect to the root container. The above conn
spits out:
URL = jdbc:oracle:oci8:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
Error Message = ORA-01017: invalid username/password; logon denied
USER =
URL = jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
Error Message = ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
And sqlplus / as sysdba
returns:
ERROR:
ORA-01017: invalid username/password; logon denied
Logging in with sqlplus system as sysdba
logs into the connection ORCL
.
Best Answer
The reason for
sqlplus / as sysdba
not working is:SQL*Plus connections automatically connect to the TNS alias defined in the
TWO_TASK
environment variable. When it is set,sqlplus / as sysdba
does not work.It is like trying this (will not work):
To "fix" this:
You can not connect to a PDB directly with SQL*Plus, you need to use a TNS alias or EZCONNECT. Setting
TWO_TASK
takes care of this, so you can login with for examplesqlplus hr/hr
directly to the PDB, without manually specifying its address.I guess Oracle just wanted to make simple to connect to the
ORCL
PDB - instead of actually explaining how things work.