Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 10g and dbca

Re: Oracle 10g and dbca

From: Frank van Bortel <>
Date: Mon, 21 Aug 2006 21:49:33 +0200
Message-ID: <ecd2fg$k7g$> schreef:

> Sybrand Bakker wrote:

>> On 20 Aug 2006 11:08:23 -0700, wrote:
>>> I've encountered an unusual problem creating a new database using
>>> Oracle 10g dbca. Whenever I attempt to create the first and only
>>> database using dbca, it reports TNS 12154, and ORA-01031 errors. I have
>>> been using several resources on the web to perform this procedure to
>>> include Dizwell and Puschitz's sites to ensure that I have the precise
>>> procedures, and have shared this problem with my company's Oracle DBA.
>>> I am also a pretty experienced system administator and oracle
>>> administrator, but have been unable to resolve this problem. I have a
>>> new installation of CentOS 4.3, on a Dell 4100 dimension with 512MB
>>> memory. I successfully installed only the oracle software, Oracle
>>> I then created the listener using netca, and then attempted
>>> to create the database using dbca. It immediately reported the
>>> TNS-12154 error, which I selected to ignore, but it is then followed by
>>> the ORA-01031-insufficient privileges error. Moreover, I have performed
>>> this operation succesfully on another machine. Any suggestions would be
>>> welcomed. What could I be missing?
>> Usually one creates the database prior to setting up the listener.
>> The errors you are getting now, you are getting *because* the database
>> doesn't exist.
>> --
>> Sybrand Bakker, Senior Oracle DBA
> Okay, I took a stab a creating the DB without the listener and oracle
> promptly reported the same issue, TNS-12154, followed by ORA-01031.
> Thoughts?

512MB of memory is a tad on the small side. That aside: [oracle10_at_csdb01 oracle10]$ oerr tns 12154 12154, 00000, "TNS:could not resolve the connect identifier specified"

// *Cause:  A connection to a database or other service was requested using
// a connect identifier, and the connect identifier specified could not
// be resolved into a connect descriptor using one of the naming methods
// configured. For example, if the type of connect identifier used was a
// net service name then the net service name could not be found in a
// naming method repository, or the repository could not be
// located or reached.
// *Action:
//   - If you are using local naming (TNSNAMES.ORA file):
//      - Make sure that "TNSNAMES" is listed as one of the values of the
//        NAMES.DIRECTORY_PATH parameter in the Oracle Net profile
//        (SQLNET.ORA)
//      - Verify that a TNSNAMES.ORA file exists and is in the proper
//        directory and is accessible.
//      - Check that the net service name used as the connect identifier
//        exists in the TNSNAMES.ORA file.
//      - Make sure there are no syntax errors anywhere in the TNSNAMES.ORA
//        file.  Look for unmatched parentheses or stray characters. Errors
//        in a TNSNAMES.ORA file may make it unusable.
//   - If you are using directory naming:
//      - Verify that "LDAP" is listed as one of the values of the
//        NAMES.DIRETORY_PATH parameter in the Oracle Net profile
//        (SQLNET.ORA).
//      - Verify that the LDAP directory server is up and that it is
//        accessible.
//      - Verify that the net service name or database name used as the
//        connect identifier is configured in the directory.
//      - Verify that the default context being used is correct by
//        specifying a fully qualified net service name or a full LDAP DN
//        as the connect identifier
//   - If you are using easy connect naming:
//      - Verify that "EZCONNECT" is listed as one of the values of the
//        NAMES.DIRETORY_PATH parameter in the Oracle Net profile
//        (SQLNET.ORA).
//      - Make sure the host, port and service name specified
//        are correct.
//      - Try enclosing the connect identifier in quote marks.
//   See the Oracle Net Services Administrators Guide or the Oracle
//   operating system specific guide for more information on naming.

No, don't thank me, it covered in the monthly fee. </sarcasm> Anyway - why do you want to specify a connect identifier?!?

01031, 00000, "insufficient privileges"

// *Cause: An attempt was made to change the current username or password
//         without the appropriate privilege. This error also occurs if
//         attempting to install a database without the necessary operating
//         system privileges.
//         When Trusted Oracle is configure in DBMS MAC, this error may 
//         if the user was granted the necessary privilege at a higher label
//         than the current login.
// *Action: Ask the database administrator to perform the operation or grant
//          the required privileges.
//          For Trusted Oracle users getting this error although granted the
//          the appropriate privilege at a higher label, ask the database
//          administrator to regrant the privilege at the appropriate label.

What are you doing?!? Sorry to say so, but this is pretty basic stuff. You should (probably - as "pretty experienced admin") know, but your company DBA should really know.

You are probably running a script - if not, choose that option in the dbca. Not only does it allow you to take one step at the time, you can learn from it, and you have a reference ("hey, look, documentation! These scripts were used to create the database")

listener and network configurations are not needed:

My platform:
[oracle10_at_csdb01 oracle10]$ uname -a
Linux 2.4.21-27.0.2.EL #1 Wed Jan 19 15:47:02 EST 2005 i686 i686 i386 GNU/Linux

No listener:
[oracle10_at_csdb01 oracle10]$ lsnrctl status

LSNRCTL for Linux: Version - Production on 21-AUG-2006 21:39:27

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=o10gR1))) TNS-12541: TNS:no listener
  TNS-12560: TNS:protocol adapter error
   TNS-00511: No listener
    Linux Error: 2: No such file or directory

Still, I can connect:
[oracle10_at_csdb01 oracle10]$ sqlplus '/ as sysdba' SQL*Plus: Release - Production on Mon Aug 21 21:40:01 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release - Production With the Partitioning, OLAP and Data Mining options

How come? Using a local ("bequeath") connection: [oracle10_at_csdb01 oracle10]$ env|grep SID ORACLE_SID=o10gR1

How? In my .bash_profile:
# Oracle 10G Specifics...

export ORACLE_BASE=/o/oracle10
export ORACLE_SID=o10gR1

export LD_ASSUME_KERNEL=2.4.20
export PATH=$ORACLE_HOME/bin:$PATH:.:/sbin:/usr/sbin: export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib export TNS_ADMIN=$ORACLE_HOME/network/admin

But still, this does not explain the TNS-12154:

[oracle10_at_csdb01 oracle10]$ unset ORACLE_SID [oracle10_at_csdb01 oracle10]$ sqlplus '/as sysdba' SQL*Plus: Release - Production on Mon Aug 21 21:43:52 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved.

ORA-12162: TNS:net service name is incorrectly specified

Frank van Bortel

Top-posting is one way to shut me up...
Received on Mon Aug 21 2006 - 14:49:33 CDT

Original text of this message