PL/SQL: ORA-01031: insufficient privileges

Hi Guys,
I am trying to create a package, inside that package create a function.
I am getting error - PL/SQL: ORA-01031: insufficient privileges.
I have done -
1. Conn system/system@mydb
2. Grant select on system.v_db_name to <user>
3. Conn <user>/<pwd>@mydb
4. Create or Replace Function get_db_name Return VARCHAR2 IS
v_db_name1 VARCHAR2(100):= NULL;
BEGIN
Select instance_name into v_db_name1
from system.v_db_name
where rownum<2;
IF Lower(v_db_name1) = 'vdev9i' THEN
v_db_name1 := 'vd';
ELSIF Lower(v_db_name1) = 'vcal9i' THEN
v_db_name1 := 'vc';
ELSIF Lower(v_db_name1) = 'vlive9i' THEN
v_db_name1 := 'vl';
END IF; RETURN v_db_name1;
END;
I understand that privileges have to be given directly and not through role.
That is what i have done in first step, but still this error persists.
Can anyone please help in this?
Thanks!
Av.

Hi Mtichel,
Thanks for your feedback,
I have given explicit grants to User1 on sys.v_$instance as follows -
SQL> Conn sys/<pwd>@dbname as sysdba
SQL> grant select on sys.v_$instance to User1
SQL> Conn system/<pwd>@dbname
SQL> Grant select on system.v_db_name to User1
SQL> Conn User1/<pwd>@dbname
SQL> Select * from v_db_name - successfull
SQL>
1 create or replace Function get_db_name Return VARCHAR2 IS
2 v_db_name VARCHAR2(100):= NULL;
3 BEGIN
4 Select instance_name into v_db_name
5 from system.v_db_name
6 where rownum<2;
7 IF Lower(v_db_name) = 'vdev9i' THEN
8 v_db_name := 'vd';
9 ELSIF Lower(v_db_name) = 'vcal9i' THEN
10 v_db_name := 'vc';
11 ELSIF Lower(v_db_name) = 'vlive9i' THEN
12 v_db_name := 'vl';
13 END IF; RETURN v_db_name;
14* END;
SQL> /
Warning: Function created with compilation errors.
SQL> sho err
Errors for FUNCTION GET_DB_NAME:
LINE/COL ERROR
4/2 PL/SQL: SQL Statement ignored
5/14 PL/SQL: ORA-01031: insufficient privileges

Similar Messages

  • ORA-01031: insufficient privileges in PL/SQL but not in SQL

    I have problem with following situation.
    I switched current schema to another one "ban", and selected 4 rows from "ed"
    alter session set current_schema=ban;
    SELECT * FROM ed.PS WHERE ROWNUM < 5;
    the output is OK, and I get 4 rows like
    ID_S ID_Z
    1000152 1
    1000153 1
    1000154 1
    1000155 1
    but following procedure is compiled with warning
    create or replace
    procedure proc1
    as
    rowcnt int;
    begin
    select count(*) into rowcnt from ed.PS where rownum < 5;
    end;
    "Create procedure, executed in 0.031 sec."
    5,29,PL/SQL: ORA-01031: insufficient privileges
    5,2,PL/SQL: SQL Statement ignored
    ,,Total execution time 0.047 sec.
    Could you help me why SELECT does work in SQL but not in PL/SQL procedure?
    Thanks.
    Message was edited by:
    MattSk

    Privs granted via a role are only valid from SQL - and not from/within stored PL/SQL code.
    Quoting Tom's (from http://asktom.oracle.com) response to this:I did address this role thing in my book Expert one on one Oracle:
    <quote>
    What happens when we compile a Definer rights procedure
    When we compile the procedure into the database, a couple of things happen with regards to
    privileges.  We will list them here briefly and then go into more detail:
    q    All of the objects the procedure statically accesses (anything not accessed via dynamic SQL)
    are verified for existence. Names are resolved via the standard scoping rules as they apply to the
    definer of the procedure.
    q    All of the objects it accesses are verified to ensure that the required access mode will be
    available. That is, if an attempt to UPDATE T is made - Oracle will verify the definer or PUBLIC
    has the ability to UPDATE T without use of any ROLES.
    q    A dependency between this procedure and the referenced objects is setup and maintained. If
    this procedure SELECTS FROM T, then a dependency between T and this procedure is recorded
    If, for example, I have a procedure P that attempted to 'SELECT * FROM T', the compiler will first
    resolve T into a fully qualified referenced.  T is an ambiguous name in the database - there may be
    many T's to choose from. Oracle will follow its scoping rules to figure out what T really is, any
    synonyms will be resolved to their base objects and the schema name will be associated with the
    object as well. It does this name resolution using the rules for the currently logged in user (the
    definer). That is, it will look for an object owned by this user called T and use that first (this
    includes private synonyms), then it will look at public synonyms and try to find T and so on.
    Once it determines exactly what T refers to - Oracle will determine if the mode in which we are
    attempting to access T is permitted.   In this case, if we as the definer of the procedure either
    owns the object T or has been granted SELECT on T directly or PUBLIC was granted SELECT, the
    procedure will compile.  If we do not have access to an object called T by a direct grant - the
    procedure P will fail compilation.  So, when the object (the stored procedure that references T) is
    compiled into the database, Oracle will do these checks - and if they "pass", Oracle will compile
    the procedure, store the binary code for the procedure and set up a dependency between this
    procedure and this object T.  This dependency is used to invalidate the procedure later - in the
    event something happens to T that necessitates the stored procedures recompilation.  For example,
    if at a later date - we REVOKE SELECT ON T from the owner of this stored procedure - Oracle will
    mark all stored procedures this user has that are dependent on T, that refer to T, as INVALID. If
    we ALTER T ADD  some column, Oracle can invalidate all of the dependent procedures. This will cause
    them to be recompiled automatically upon their next execution.
    What is interesting to note is not only what is stored but what is not stored when we compile the
    object. Oracle does not store the exact privilege that was used to get access to T. We only know
    that procedure P is dependent on T. We do not know if the reason we were allowed to see T was due
    to:
    q    A grant given to the definer of the procedure (grant select on T to user)
    q    A grant to public on T (grant select on T to public)
    q    The user having the SELECT ANY TABLE privilege
    The reason it is interesting to note what is not stored is that a REVOKE of any of the above will
    cause the procedure P to become invalid. If all three privileges were in place when the procedure
    was compiled, a revoke of ANY of them will invalidate the procedure - forcing it to be recompiled
    before it is executed again. Since all three privileges were in place when we created the procedure
    - it will compile successfully (until we revoke all three that is). This recompilation will happen
    automatically the next time that the procedure is executed.
    Now that the procedure is compiled into the database and the dependencies are all setup, we can
    execute the procedure and be assured that it knows what T is and that T is accessible. If something
    happens to either the table T or to the set of base privileges available to the definer of this
    procedure that might affect our ability to access T -- our procedure will become invalid and will
    need to be recompiled.
    This leads into why ROLES are not enabled during the compilation and execution of a stored
    procedure in Definer rights mode. Oracle is not storing exactly WHY you are allowed to access T -
    only that you are. Any change to your privileges that might cause access to T to go away will cause
    the procedure to become invalid and necessitate its recompilation. Without roles - that means only
    'REVOKE SELECT ANY TABLE' or 'REVOKE SELECT ON T' from the Definer account or from PUBLIC. With
    roles - it greatly expands the number of times we would invalidate this procedure. If some role
    that was granted to some role that was granted to this user was modified, this procedure might go
    invalid, even if we did not rely on that privilege from that role. ROLES are designed to be very
    fluid when compared to GRANTS given to users as far as privilege sets go. For a minute, let's say
    that roles did give us privileges in stored objects. Now, most any time anything was revoked from
    ANY ROLE we had, or any role any role we have has (and so on -- roles can and are granted to roles)
    -- many of our objects would become invalid. Think about that, REVOKE some privilege from a ROLE
    and suddenly your entire database must be recompiled! Consider the impact of revoking some system
    privilege from a ROLE, it would be like doing that to PUBLIC is now, don't do it, just think about
    it (if you do revoke some powerful system privilege from PUBLIC, do it on a test database). If
    PUBLIC had been granted SELECT ANY TABLE, revoking that privilege would cause virtually every
    procedure in the database to go invalid. If procedures relied on roles, virtually every procedure
    in the database would constantly become invalid due to small changes in permissions. Since one of
    the major benefits of procedures is the 'compile once, run many' model - this would be disastrous
    for performance.
    Also consider that roles may be
    q    Non-default: If I have a non-default role and I enable it and I compile a procedure that
    relies on those privileges, when I log out I no longer have that role -- should my procedure become
    invalid -- why? Why not? I could easily argue both sides.
    q    Password Protected: if someone changes the password on a ROLE, should everything that might
    need that role be recompiled?  I might be granted that role but not knowing the new password - I
    can no longer enable it. Should the privileges still be available?  Why or Why not?  Again, arguing
    either side of this is easy. There are cases for and against each.
    The bottom line with respect to roles in procedures with Definer rights are:
    q    You have thousands or tens of thousands of end users. They don't create stored objects (they
    should not). We need roles to manage these people. Roles are designed for these people (end users).
    q    You have far fewer application schema's (things that hold stored objects). For these we want
    to be explicit as to exactly what privileges we need and why. In security terms this is called the
    concept of 'least privileges', you want to specifically say what privilege you need and why you
    need it. If you inherit lots of privileges from roles you cannot do that effectively. We can manage
    to be explicit since the number of development schemas is SMALL (but the number of end users is
    large)...
    q    Having the direct relationship between the definer and the procedure makes for a much more
    efficient database. We recompile objects only when we need to, not when we might need to. It is a
    large efficiency enhancement.
    </quote>

  • Not able to Start the oracle db error "ORA-01031: insufficient privileges"

    Hi experts,
    I have oracle 11g setup on so solaris. i changed the db_cache_size
    & processes values and stopped the DB services after that i am not able to start the oracle DB. Listener is running.
    when i start the db server its giving the below error(startup.log)
    ./dbstart: Starting up database "orcl"
    Mon Sep 27 04:31:08 MDT 2010
    SQL*Plus: Release 11.1.0.7.0 - Production on Mon Sep 27 04:31:08 2010
    Copyright (c) 1982, 2008, Oracle. All rights reserved.
    SQL> ERROR:
    ORA-01031: insufficient privileges
    SQL> ORA-01031: insufficient privileges
    SQL>
    ./dbstart: Database instance "orcl" warm started.
    Please help me to ressolve this issue.
    Thanks
    Krishna

    yes, password file is there in /etc/passwd
    here are the contents:
    root:x:0:0:Super-User:/:/sbin/sh
    lroot:x:0:0:Super-User:/:/sbin/sh
    daemon:x:1:1::/:
    bin:x:2:2::/usr/bin:/bin/false
    sys:x:3:3::/:
    adm:x:4:4:Admin:/var/adm:/bin/false
    lp:x:71:8:Line Printer Admin:/usr/spool/lp:/bin/false
    uucp:x:5:5:uucp Admin:/usr/lib/uucp:/bin/false
    nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
    listen:x:37:4:Network Admin:/usr/net/nls:/bin/false
    nobody:x:60001:60001:Nobody:/:/bin/false
    noaccess:x:60002:60002:No Access User:/:/bin/false
    nobody4:x:65534:65534:SunOS 4.x Nobody:/:/bin/false
    itunix:x:50000:14:IT Unix Account:/export/home/itunix:/bin/csh
    hharika:x:765:38:Harpal Harika:/export/home/hharika:/bin/csh
    prsingh:x:795:38:Pradeep Singh:/export/home/prsingh:/bin/csh
    mmir:x:1229:21:Mir Monis Ali:/export/home/mmir:/bin/csh
    bogunnai:x:1207:21:Bose Ogunnaike:/export/home/bogunnai:/bin/ksh
    mpokala:x:2117:21:Mahesh Pokala:/export/home/mpokala:/bin/ksh
    apopov:x:2385:38:Anton Popov:/export/home/apopov:/bin/csh
    kkeith:x:2629:227:Kevin Keith:/home/kkeith:/usr/bin/ksh
    sshd:x:22:22:SSH Privsep:/var/empty:/bin/false
    patrol:x:2784:10:Patrol User:/opt/bmc:/usr/bin/ksh
    smmsp:x:25:25:Sendmail Submission user:/none:/bin/false
    ldap:x:50001:1002::/export/home/ldap:/bin/sh
    perfuser:x:884:268::/export/home/perfuser:/bin/csh
    webservd:x:80:80::/home/webservd:/bin/pfsh
    oracle:x:156:40:Oracle Software Owner:/export/home/oracle:/bin/bash
    perfuser_idc:x:64383:1::/home/perfuser_idc:/bin/sh
    idc_perf:x:64384:292::/home/idc_perf:/bin/sh

  • Get ORA-01031: insufficient privileges error, but only when using dbstart.

    I am getting ORA-01031: insufficient privileges error, but only when using dbstart. the listener starts but not the database. How come I can start it from SQL prompt but not from dbstart scripts as the oracle user?
    [oracle@mallard bin]$ ./dbstart
    Processing Database instance "gf44": log file /prod/oracle/10/startup.log
    [oracle@mallard bin]$
    Log file:
    Wed Aug 20 10:15:02 CDT 2008
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 20 10:15:02 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    SQL> ERROR:
    ORA-01031: insufficient privileges
    SQL> ORA-01031: insufficient privileges
    SQL>
    /prod/oracle/10/bin/dbstart: Database instance "gf44" warm started.
    >
    oratab file:
    gf44:/prod/oracle/10:Y
    dbstart file section:
    # See if it is a V6 or V7 database
    VERSION=undef
    if [ -f $ORACLE_HOME/bin/sqldba ] ; then
    SQLDBA=svrmgrl
    VERSION=`$ORACLE_HOME/bin/sqldba command=exit | awk '
    /SQL\*DBA: (Release|Version)/ {split($3, V, ".") ;
          print V[1]}'`
    case $VERSION in
    "6") ;;
    *) VERSION="internal" ;;
    esac
    else
    if [ -f $ORACLE_HOME/bin/svrmgrl ] ; then
    SQLDBA=svrmgrl
    VERSION="internal"
    else
    SQLDBA="sqlplus /nolog"
    fi
    fi
    Permissions of file:
    [oracle@mallard bin]$ ls -la dbstart
    -rwxrwxr-x 1 oracle oinstall 10407 Aug 19 12:27 dbstart
    [oracle@mallard bin]$
    User permissions:
    [root@mallard 10]# id oracle
    uid=503(oracle) gid=503(oinstall) groups=503(oinstall),504(dba)
    [root@mallard 10]#
    I can start the listener manually using "./lsnrctl start" and start the database manually from sql prompt using "SQL>startup" (as sysdba) with no problems. this only happens when using dbstart file. I am logged in as oracle user and all environment variables are set
    Thank you for any help you could provide.

    I have the same problem, but i don't want insert this string
    Connect sys/{password} as sysdbaI have deployed an Oracle 10g with os SunOS
    $ uname -a
    SunOS DB02 5.10 Generic_141444-09 sun4v sparc SUNW,Sun-Blade-T6320
    I can connect with sys/password, but I can't login with
    $ sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jan 7 15:19:50 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> connect / as sysdba
    ERROR:
    ORA-01031: insufficient privilegesthe the startup and dbshut don't work.
    Someone maybe help me?
    Thanks,
    Regards.
    Lain

  • Backup via Cron job - SQL ERROR: ORA-01031: insufficient privileges

    Hi,
    We are Using Oracle RAC - linux - SAP EP . We have scheduled online backup through crontab .
    Always we are getting below error when the backup job runs via crontab
    ================
    BR0278E Command output of '/usr/sap/EP1/SYS/exe/run/brtools -f printcmd -U /oracle/EP1/sapbackup/.begpjvay.003 'archive log list;' 'exit;' | /oracle/EP1/102_6
    4/bin/sqlplus /nolog':
    SQL*Plus: Release 10.2.0.5.0
    Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
    SQL> ERROR:
    ORA-01031: insufficient privileges
    SQL> ORA-01012: not logged on
    SQL>
    BR0280I BRBACKUP time stamp: 2011-08-22 02.00.12
    BR0279E Return code from '/usr/sap/EP1/SYS/exe/run/brtools -f printcmd -U /oracle/EP1/sapbackup/.begpjvay.003 'archive log list;' 'exit;' | /oracle/EP1/102_64
    /bin/sqlplus /nolog': 0
    BR0302E SQLPLUS call for database instance EP12 failed
    =====================
    whereas if i trigger the same commend
    brbackup -u / -c force -t online -m all -p <init*.sap> manually it end successfully.
    Kindly can anyone help over below issue.
    Regards,
    Ayyappan

    Hi Ayyappan,
    Thanks in Advance,
    We are also having same scenario with RAC and Linux, we are trying to configure backup and getting the same error could you please guide me how u resolved the issue, please help....
    Regards,
    Sumeesh

  • ORA-01031: insufficient privileges when connecting by SQL PLUS 8.0 with sys

    From client, I use SQL PLUS 8.0 to connect to server: sys/password@MYDB1 as sysdba
    The error always raises “ORA-01031: insufficient privileges”
    I have done:
    - Set: remote_login_passwordfile=exclusive in tnsname.ora file
    - Uncomment: SQLNET.AUTHENTICATION_SERVICES in “sqlnet.ora” file
    Also on this client:
    to use SQL PLUS 8.0 to connect to server: manager/password@MYDB1. To connect normally
    to use PLSQL Deverloper (it is the same oracle_home with SQL PLUS 8.0) to connect to database normally with user sys.
    To use Enterprise manager console (it is other oracle_home with SQL PLUS 8.0) to connect to database normally with user sys
    Please, help me to solve this trouble

    THIS IS CONTENT OF SQLNET.ora CLIENT
    # copyright (c) 1996 by the Oracle Corporation
    # NAME
    # sqlnet.ora
    # FUNCTION
    # Oracle Network Client startup parameter file example
    # NOTES
    # This file contains examples and instructions for defining all
    # Oracle Network Client parameters. It should be possible to read
    # this file and setup a Client by uncommenting parameter definitions
    # and substituting values. The comments should provide enough
    # explanation to enable a reasonable user to manage his TNS connections
    # without having to resort to 'real' documentation.
    # SECTIONS
    # ONames Client
    # Namesctl
    # Native Naming Adpaters
    # MODIFIED
    # skanjila 06/06/97 - Correct default for Automatic_IPC
    # eminer 05/15/97 - Add the relevant onrsd parameters.
    # asriniva 04/23/97 - Merge with version from doc
    # ggilchri 03/31/97 - mods
    # bvasudev 02/07/97 - Change sqlnet.authentication_services documentation
    # bvasudev 11/25/96 - Merge sqlnet.ora transport related parameters
    # asriniva 11/12/96 - Revise with new OSS parameters.
    # asriniva 11/05/96 - Add ANO parameters.
    # - ONames Client ----------------------------------------------------
    #names.default_domain = world
    #Syntax: domain-name
    #Default: NULL
    # Indicates the domain from which the client most often requests names. When
    # this parameter is set the default domain name (for example, US.ACME), the
    # domain name will be automatically appended to any unqualified name in an
    # ONAmes request (query, register, deregister, etc). Any name which contains
    # an unescaped dot ('.') will not have the default domain appended. Simple
    # names may be qualified with a trailing dot (for example 'rootserver.').
    #names.initial_retry_timeout = 30
    #Syntax: 1-600 seconds
    #Default: 15 (OSD)
    # Determines how long a client will wait for a response from a Names Server
    # before reiterating the request to the next server in the preferred_servers
    # list.
    #names.max_open_connections = 3
    #Syntax: 3-64
    #Default: ADDRS in preferred_servers
    # Determines how many connections an ONames client may have open at one time.
    # Clients will ordinarily keep connections to servers open once they are
    # established until the operation (or session in namesctl) is complete. A
    # connection will be opened whenever needed, and if the maximum would be
    # exceeded the least recently used connection will be closed.
    #names.message_pool_start_size = 10
    #Syntax: 3-256
    #Default: 10
    # Determines the initial number of messages allocated in the client's message
    # pool. This pool provides the client with pre-allocated messages to be used
    # for requests to ONames servers. Messages which are in the pool and unused
    # may be reused. If a message is needed and no free messages are available in
    # the pool more will be allocated.
    #names.preferred_servers = (address_list =
    # (address=(protocol=ipc)(key=n23))
    # (address=(protocol=tcp)(host=nineva)(port=1383))
    # (address=(protocol=tcp)(host=cicada)(port=1575))
    #Syntax: ADDR_LIST
    #Default: Well-Known (OSD)
    # Specifies a list of ONames servers in the client's region; requests will be
    # sent to each ADDRESS in the list until a response is recieved, or the list
    # (and number of retries) is exhausted.
    # Addresses of the following form specify that messages to the ONames server
    # should use Oracle Remote Operations (RPC):
    # (description =
    # (address=(protocol=tcp)(host=nineva)(port=1383))
    # (connect_data=(rpc=on))
    #names.request_retries = 2
    #Syntax: 1-5
    #Default: 1
    # Specifies the number of times the client should try each server in the list
    # of preferred_servers before allowing the operation to fail.
    #names.directory_path
    #Syntax: <adapter-name>
    #Default: TNSNAMES,ONAMES,HOSTNAME
    # Sets the (ordered) list of naming adaptors to use in resolving a name.
    # The default is as shown for 3.0.2 of sqlnet onwards. The default was
    # (TNSNAMES, ONAMES) before that. The value can be presented without
    # parentheses if only a single entry is being specified. The parameter is
    # recognized from version 2.3.2 of sqlnet onward. Acceptable values include:
    # TNSNAMES -- tnsnames.ora lookup
    # ONAMES -- Oracle Names
    # HOSTNAME -- use the hostname (or an alias of the hostname)
    # NIS -- NIS (also known as "yp")
    # CDS -- OSF DCE's Cell Directory Service
    # NDS -- Novell's Netware Directory Service
    # - Client Cache (ONRSD) ---------------------------------------------
    names.addresses = (ADDRESS=(PROTOCOL=IPC)(KEY=ONAMES))
    Syntax: ADDR
    Default: (ADDRESS=(PROTOCOL=IPC)(KEY=ONAMES))
    Address on which the client cache listens (is available to clients).
    Any valid TNS address is allowed. The default should be used if at
    all possible; clients have this entry hardwired as the first line
    of their server-list file (sdns.ora). If the address is set to a
    non-default value the client's preferred_servers parameter should
    be set to include the client-cache address first.
    names.authority_required = False
    Syntax: T/F
    Default: False
    Determines whether system querys (for the root etc) require Authoritative
    answers.
    names.auto_refresh_expire = 259200
    Syntax: Number of seconds, 60-1209600
    Default: 259200
    This is the amount of time (in seconds) the server will cache the addresses
    of servers listed in server-list file (sdns.ora). When this time expires the
    server will issue another query to the servers in those regions to refresh
    the data.
    names.auto_refresh_retry = 180
    Syntax: Number of seconds, 60-3600
    Default: sec.     180
    This set how often the server will retry when the auto_refresh query fails.
    names.cache_checkpoint_file = cache.ckp
    Syntax: filename
    Default: $ORACLE_HOME/network/names/ckpcch.ora
    Specifies the name of the operating system file to which the Names Server
    writes its foreign data cache.
    names.cache_checkpoint_interval = 7200
    Syntax: Number of seconds, 10-259200
    Default: 0 (off)
    Indicates the interval at which a Names Server writes a checkpoint of its
    data cache to the checkpoint file.
    names.default_forwarders=
    (FORWARDER_LIST=
    (FORWARDER=
    (NAME= rootserv1.world)
    (ADDRESS=(PROTOCOL=tcp)(PORT=42100)(HOST=roothost))))
    Syntax: Name-Value/address_list
    Default: NULL
    A list (in NV form) of the addresses of other servers which should be used to
    forward querys while in default_forwarder (slave) mode. NAME is the global
    names for the server to which forwards whould be directed, and ADDRESS is its
    address.
    names.default_forwarders_only = True
    Syntax: T/F
    Default: False
    When set to true this server will use the servers listed in default_forwarders
    to forward all operations which involve data in foreign regions. Otherwise it
    will use the servers defined in the server-list file (sdns.ora) in addition
    to any defined in the default_forwarders parameter.
    names.log_directory = /oracle/network/log
    Syntax: directory
    Default: $ORACLE_HOME/network/log
    Indicates the name of the directory where the log file for Names Server
    operational events are written.
    names.log_file = names.log
    Syntax: filename
    Default: names.log
    The name of the output file to which Names Server operational events are
    written.
    names.log_stats_interval = 3600
    Syntax: Number of seconds, 10-ub4max
    Default: sec.     0 (off)
    Specifies the number of seconds between statistical entries in log file.
    names.log_unique = False
    Syntax: T/F
    Default: False
    If set to true the server will guarantee that the log file will have a unique
    name which will not overwrite any existing files (note that log files are
    appended to, so log information will not be lost if log_unique is not true).
    names.max_open_connections = 10
    Syntax: 3-64
    Default: 10
    Specifies the number of connections that the Names Server can have open at any
    given time. The value is generated as the value 10 or the sum of one
    connection for listening, five for clients, plus one for each foreign domain
    defined in the local administrative region, whichever is greater. Any
    operation which requires the server to open a network connection will use
    an already open connection if it is available, or will open a connection
    if not. Higher settings will save time and cost network resources; lower
    settings save network resources, cost time.
    names.max_reforwards = 2
    Syntax: 1-15
    Default: 2
    The maximum number of times the server will attempt to forward a certain
    operation.
    names.message_pool_start_size = 24
    Syntax: 3-256
    Default: 10
    Determines the initial number of messages allocated in the server's message
    pool. This pool provides the server with pre-allocated messages to be used
    for incoming or outgoing messages (forwards). Messages which are in the pool
    and unused may be reused. If a message is needed and no free messages are
    available in the pool more will be allocated.
    names.no_modify_requests = False
    Syntax: T/F
    Default: False
    If set to true, the server will refuse any operations which modify the
    data in its region (it will still save foreign info in the cache which is
    returned from foreign querys).
    names.password = 625926683431AA55
    Syntax: encrypted string
    Default: NULL
    If set the server will require that the user provide a password in his
    namesctl session (either with sqlnet.ora:namesctl.server_password or 'set
    password') in order to do 'sensitive' operations, like stop, restart, reload.
    This parameter is generally set in encrypted form, so it can not be set
    manually.
    names.reset_stats_interval = 3600
    Syntax: 10-ub4max
    Default: 0 (off)
    Specifies the number of seconds during which the statistics collected by the
    Names Servers should accumulate. At the frequency specified, they are reset
    to zero. The default value of 0 means never reset statistics.
    names.trace_directory = /oracle/network/trace
    Syntax: directory
    Default: $ORACLE_HOME/network/trace
    Indicates the name of the directory to which trace files from a Names Server
    trace session are written.
    names.trace_file = names.trc
    Syntax: filename
    Default: names.trc
    Indicates the name of the output file from a Names Server trace session.
    names.trace_func # NA
    Syntax: T/F
    Default: False
    Internal mechanism to control tracing by function name.
    names.trace_level = ADMIN
    Syntax: T/F
    Default: False
    Syntax: {OFF,USER,ADMIN,0-16}
    Default: OFF (0)
    Indicates the level at which the Names Server is to be traced.
    Available Values:
         0 or OFF - No trace output
         4 or USER - User trace information
         10 or ADMIN - Administration trace information
         16 or SUPPORT - WorldWide Customer Support trace information
    names.trace_mask = (200,201,202,203,205,206,207)
    Syntax: list of numbers
    Default: NULL
    Internal mechanism to control trace behavior.
    names.trace_unique = True
    Syntax: T/F
    Default: False
    Indicates whether each trace file has a unique name, allowing multiple trace
    files to coexist. If the value is set to ON, a process identifier is appended
    to the name of each trace file generated.
    # - Namesctl ---------------------------------------------------------
    #namesctl.trace_directory = /oracle/network/trace
    #Syntax: directory
    #Default: $ON/trace
    # Indicates the name of the directory to which trace files from a namesctl
    # trace session are written.
    #namesctl.trace_file = namesctl.trc
    #Syntax: filename
    #Default: namesctl.trc
    # Indicates the name of the output file from a namesctl trace session.
    #namesctl.trace_func # NA
    #Syntax: word list
    #Default: NULL
    # Internal mechanism to control tracing by function name.
    #namesctl.trace_level = ADMIN
    #Syntax: {OFF,USER,ADMIN,0-16}
    #Default: OFF (0)
    # Indicates the level at which the namesctl is to be traced.
    # Available Values:
    #     0 or OFF - No trace output
    #     4 or USER - User trace information
    #     10 or ADMIN - Administration trace information
    #     16 or SUPPORT - WorldWide Customer Support trace information
    #namesctl.trace_mask # NA
    #Syntax: number list
    #Default: NULL
    # Internal mechanism to control trace behavior.
    #namesctl.trace_unique = True
    #Syntax: T/F
    #Default: False
    # Indicates whether each trace file has a unique name, allowing multiple trace
    # files to coexist. If the value is set to ON, a process identifier is appended
    # to the name of each trace file generated.
    #namesctl.no_initial_server = False
    #Syntax: T/F
    #Default: False
    # If set to TRUE namesctl will suppress any error messages when namesctl is
    # unable to connect to a default names server.
    #namesctl.internal_use = True
    #Syntax: T/F
    #Default: False
    # If set to true namesctl will enable a set of internal undocumented commands.
    # All internal commands are preceded by an underscore ('_') in order to
    # distinguish them as internal. Without going into details, the commands
    # enabled are:
    # adddata createname deletename
    # fullstatus ireplacedata newttlname
    # pause                 remove_data renamename
    # replacedata start                 walk*
    # There are also a set of names server variables which may be set when
    # namesctl is in internal mode:
    # authorityrequired autorefresh*
    # cachecheckpoint_interval cachedump
    # defaultautorefresh_expire defaultautorefresh_retry
    # defaultforwarders_only forwardingdesired
    # maxreforwards modifyops_enabled
    # nextcache_checkpoint nextcache_flush
    # nextstat_log nextstat_reset
    # reload                         request_delay
    # restart                        shutdown
    #namesctl.noconfirm = True
    #Syntax: T/F
    #Default: False
    # When set to TRUE namesctl will suppress the confirmation prompt when
    # sensitive operations (stop, restart, reload) are requested. This is
    # quite helpful when using namesctl scripts.
    #namesctl.server_password = mangler
    #Syntax: string
    #Default: NULL
    # Automatically sets the password for the names server in order to perform
    # sensitive operations (stop, restart, reload). The password may also be
    # set manually during a namesctl session using 'set password'.
    #namesctl.internal_encrypt_password = False
    #Syntax: T/F
    #Default: True
    # When set to TRUE namesctl will not encrypt the password when it is sent to
    # the names server. This would enable an unencrypted password to be set in
    # names.ora:names.server_password
    # - Native Naming Adpaters -------------------------------------------
    #names.dce.prefix = /.:/subsys/oracle/names
    #Syntax: DCE cell name
    #Default: /.:/subsys/oracle/names
    #Specifies the DCE cell (prefix) to use for name lookup.
    #names.nds.name_context = personnel.acme
    #Syntax: NDS name
    #Default: (OSD?)
    # Specifies the default NDS name context in which to look for the name to
    # be resolved.
    #names.nis.meta_map # NA
    # Syntax: filename
    # Default: sqlnet.maps
    # Specifies the file to be used to map NIS attributes to an NIS mapname.
    # Currently unused.
    # - Advanced Networking Option Authentication Adapters ----------------
    #sqlnet.authentication_services
    # Syntax: A single value or a list from {beq, none, all, kerberos5,
    #       cybersafe, securid, identitx}
    # Default: NONE
    # Enables one or more authentication services. To enable
    # authentication via the Oracle Security Server, use (beq, oss). If
    # the Advanced Networking Option has been installed with Kerberos5
    # support, using (beq, kerberos5) would enable authentication via
    # Kerberos.
    sqlnet.authentication_services=(beq, oss)
    ## Parmeters used with Kerberos adapter.
    #sqlnet.kerberos5_cc_name
    # Syntax: Any valid pathname.
    # Default: /tmp/krb5cc_<uid>
    # The Kerberos credential cache pathname.
    #sqlnet.kerberos5_cc_name=/tmp/mycc
    #sqlnet.kerberos5_clockskew
    # Syntax: Any positive integer.
    # Default: 300
    # The acceptable difference in the number of seconds between when a
    # credential was sent and when it was received.
    #sqlnet.kerberos5_clockskew=600
    #sqlnet.kerberos5_conf
    # Syntax: Any valid pathname.
    # Default: /krb5/krb.conf
    # The Kerberos configuration pathname.
    #sqlnet.kerberos5_conf=/tmp/mykrb.conf
    #sqlnet.kerberos5_realms
    # Syntax: Any valid pathname
    # Default: /krb5/krb.realms
    # The Kerberos host name to realm translation file.
    #sqlnet.kerberos5_realms=/tmp/mykrb.realms
    #sqlnet.kerberos5_keytab
    # Syntax: Any valid pathname.
    # Default: /etc/v5srvtab
    # The Kerberos secret key file.
    #sqlnet.kerberos5_keytab=/tmp/myv5srvtab
    #sqlnet.authentication_kerberos5_service
    # Syntax: Any string.
    # Default: A default is not provided.
    # The Kerberos service name.
    #sqlnet.authentication_kerberos5_service=acme
    ## Parmeters used with CyberSAFE adapter.
    #sqlnet.authentication_gssapi_service
    # Syntax: A correctly formatted service principal string.
    # Default: A default is not provided.
    # The CyberSAFE service principal
    #sqlnet.authentication_gssapi_service=acme/[email protected]
    ## Parmeters used with Identix adapter.
    #sqlnet.identix_fingerprint_method
    # Syntax: Must be oracle.
    # Default: A default is not provided.
    # The Identix authentication server method
    #sqlnet.identix_fingerprint_method=oracle
    #sqlnet.identix_fingerprint_database
    # Syntax: Any string.
    # Default: A default is not provided.
    # The Identix authentication server TNS alias
    #sqlnet.identix_fingerprint_database=ofm
    #sqlnet.identix_fingerprint_database_user
    # Syntax: Any string
    # Default: A default is not provided.
    # The Identix authentication service well known username.
    #sqlnet.identix_fingerprint_database_user=ofm_client
    #sqlnet.identix_fingerprint_database_password
    # Syntax: Any string
    # Default: A default is not provided.
    # The Identix authentication service well known password.
    #sqlnet.identix_fingerprint_database_password=ofm_client
    # - Advanced Networking Option Network Security -------------------------
    #sqlnet.crypto_checksum_client
    #sqlnet.crypto_checksum_server
    #sqlnet.encryption_client
    #sqlnet.encryption_server
    # These four parameters are used to specify whether a service (e.g.
    # crypto-checksumming or encryption) should be active:
    # Each of the above parameters defaults to ACCEPTED.
    # Each of the above parameters can have one of four possible values:
    # value          meaning
    # ACCEPTED     The service will be active if the other side of the
    #          connection specifies "REQUESTED" or REQUIRED" and
    #          there is a compatible algorithm available on the other
    #          side; it will be inactive otherwise.
    # REJECTED     The service must not be active, and the connection
    #          will fail if the other side specifies "REQUIRED".
    # REQUESTED     The service will be active if the other side specifies
    #          "ACCEPTED", "REQUESTED", or "REQUIRED" and there is a
    #          compatible algorithm available on the other side; it
    #          will be inactive otherwise.
    # REQUIRED     The service must be active, and the connection will
    #          fail if the other side specifies "REJECTED" or if there
    #          is no compatible algorithm on the other side.
    #sqlnet.crypto_checksum_types_client
    #sqlnet.crypto_checksum_types_server
    #sqlnet.encryption_types_client
    #sqlnet.encryption_types_server
    # These parameters control which algorithms will be made available for
    # each service on each end of a connection:
    # The value of each of these parameters can be either a parenthesized
    # list of algorithm names separated by commas or a single algorithm
    # name.
    # Encryption types can be: RC4_40, RC4_56, RC4_128, DES, DES40
    # Encryption defaults to all the algorithms.
    # Crypto checksum types can be: MD5
    # Crypto checksum defaults to MD5.
    #sqlnet.crypto_seed ="4fhfguweotcadsfdsafjkdsfqp5f201p45mxskdlfdasf"
    #sqlnet.crypto_checksum_server = required
    #sqlnet.encryption_server = required
    # - Oracle Security Server ---------------------------------------------
    #oss.source.my_wallet
    # Syntax: A properly formatted NLNV list.
    # Default: Platform specific. Unix: $HOME/oracle/oss
    # The method for retrieving and storing my identity.
    #oss.source.my_wallet
    # =(source
    # =(method=file)
    # (method_data=/dve/asriniva/oss/wallet)
    #oss.source.location
    # Syntax: A properly formatted NLNV list.
    # Default: Oracle method, oracle_security_service/oracle_security_service@oss
    # The method for retrieving encrypted private keys.
    #oss.source.location
    # =(source
    # =(method=oracle)
    # (method_data=
    # (sqlnet_address=andreoss)
    # - Sqlnet(v2.x) and Net3.0 Client ------------------------------------------
    # In the following descriptions, the term "client program" could mean
    # either sqlplus, svrmgrl or any other OCI programs written by users
    #trace_level_client = ADMIN
    #Possible values: {OFF,USER,ADMIN,0-16}
    #Default: OFF (0)
    #Purpose: Indicates the level at which the client program
    # is to be traced.
    # Available Values:
    # 0 or OFF - No Trace output
    #     4 or USER - User trace information
    #      10 or ADMIN - Administration trace information
    #     16 or SUPPORT - Worldwide Customer Support trace information
    #Supported since: v2.0
    #trace_directory_client = /oracle/network/trace
    #Possible values: Any valid directory path with write permission
    #Default: $ORACLE_HOME/network/trace ($ORACLE_HOME=/oracle at customer
    # site)
    #Purpose: Indicates the name of the directory to which trace files from
    # the client execution are written.
    #Supported since: v2.0
    #trace_file_client = /oracle/network/trace/cli.trc
    #Possible values: Any valid file name
    #Default:     $ORACLE_HOME/network/trace/cli.trc ($ORACLE_HOME =
    #          /oracle at customer site)
    #Purpose: Indicates the name of the file to which the execution trace
    # of the client is written to.
    #Supported since: v2.0
    #trace_unique_client = ON
    #Possible values: {ON, OFF}
    #Default: OFF
    #Purpose: Used to make each client trace file have a unique name to
    #     prevent each trace file from being overwritten by successive
    #     runs of the client program
    #Supported since: v2.0
    #log_directory_client = /oracle/network/log
    #Possible values: Any valid directory pathname
    #Default: $ORACLE_HOME/network/log ($ORACLE_HOME = /oracle at customer
    #     site)
    #Purpose: Indicates the name of the directory to which the client log file
    #     is written to.
    #Supported since: v2.0
    #log_file_client = /oracle/network/log/sqlnet.log
    #Possible values: This is a default value, u cannot change this
    #Default: $ORACLE_HOME/network/log/sqlnet.log ($ORACLE_HOME=/oracle in
    # customer site)
    #Purpose: Indicates the name of the log file from a client program
    #Supported since: v2.0
    #log_directory_server = /oracle/network/trace
    #Possible values: Any valid diretcory path with write permission
    #Default: $ORACLE_HOME/network/trace ( $ORACLE_HOME=/oracle at customer
    #     site)
    #Purpose: Indicates the name of the directory to which log files from the
    #      server are written
    #Supported since: v2.0
    #trace_directory_server = /oracle/network/trace
    #Possible values: Any valid directory path with write permission
    #Default: $ORACLE_HOME/network_trace ( $ORACLE_HOME=/oracle at customer
    #     site)
    #Purpose: Indicates the name of the directory to which trace files from
    # the server are written
    #Supported since: v2.0
    #trace_file_server = /orace/network/trace/svr_<pid>.trc
    #Possible values: Any valid filename
    #Default: $ORACLE_HOME/network/trace/svr_<pid>.trc where <pid? stands for
    # the process id of the server on UNIX systems
    #Purpose: Indicates the name of the file to which the execution trace of
    # the server program is written to.
    #Supported since: v2.0
    #trace_level_server = ADMIN
    #Possible values: {OFF,USER,ADMIN,0-16}
    #Default: OFF (0)
    #Purpose: Indicates the level at which the server program
    # is to be traced.
    # Available Values:
    # 0 or OFF - No Trace output
    # 4 or USER - User trace information
    # 10 or ADMIN - Administration trace information
    # 16 or SUPPORT - Worldwide Customer Support trace information
    #Supported since: v2.0
    #use_dedicated_server = ON
    #Possible values: {OFF,ON}
    #Default:      OFF
    #Purpose: Forces the listener to spawn a dedicated server process for
    #     sessions from this client program.
    #Supported since: v2.0
    #use_cman = TRUE
    #Possible values: {TRUE, FALSE}
    #Default:     FALSE
    #Purpose:
    #Supported since: v3.0
    #tnsping.trace_directory = /oracle/network/trace
    #Possible values: Any valid directory pathname
    #Default: $ORACLE_HOME/network/trace ($ORACLE_HOME=/oracle at customer
    #     site)
    #Purpose: Indicates the directory to which the execution trace from
    #     the tnsping program is to be written to.
    #Supported since: v2.0
    #tnsping.trace_level = ADMIN
    #Possible values: {OFF,USER,ADMIN,0-16}
    #Default: OFF (0)
    #Purpose: Indicates the level at which the server program
    # is to be traced.
    # Available Values:
    # 0 or OFF - No Trace output
    # 4 or USER - User trace information
    # 10 or ADMIN - Administration trace information
    # 16 or SUPPORT - Worldwide Customer Support trace information
    #Supported since: v2.0
    #sqlnet.expire_time = 10
    #Possible values: 0-any valid positive integer! (in minutes)
    #Default: 0 minutes
    #Recommended value: 10 minutes
    #Purpose: Indicates the time interval to send a probe to verify the
    #     client session is alive (this is used to reclaim watseful
    #     resources on a dead client)
    #Supported since: v2.1
    #sqlnet.client_registration = <unique_id>
    #Possible values:
    #Default: OFF
    #Purpose: Sets a unique identifier for the client machine. This
    #     identifier is then passed to the listener with any connection
    #     request and will be included in the Audit Trail. The identifier
    #     can be any alphanumeric string up to 128 characters long.
    #Supported since: v2.3.2
    #bequeath_detach = YES
    #Possible values: {YES,NO}
    #Default: NO
    #Purpose: Turns off signal handling on UNIX systems. If signal handling
    #     were not turned off and if client programs written by users make
    #     use of signal handling they could interfere with Sqlnet/Net3.
    #Supported since: v2.3.3
    #automatic_ipc = OFF
    #Possible values: {ON,OFF}
    #Default: OFF
    #Purpose: Force a session to use or not to use IPC addresses on the
    #     client's node.
    #Supported since: v2.0
    #disable_oob = ON
    #Possible values: {ON,OFF}
    #Default: OFF
    #Purpose: If the underlying transport protocol (TCP, DECnet,...) does
    # not support Out-of-band breaks, then disable out-of-band
    #     breaks
    #Supported since: v2.0
    #

  • Java.sql.SQLException: ORA-01031: insufficient privileges

    Hi I'm using oracle 8.1.6 here is a small code
    import java.sql.*;
    import oracle.jdbc.driver.*;
    class JDBCVersion
    public static void main (String args [])
    throws SQLException
    // Load the Oracle JDBC driver
    DriverManager.registerDriver
    (new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@DEV","test","test");
    // Create Oracle DatabaseMetaData object
    DatabaseMetaData meta = conn.getMetaData ();
    // gets driver info:
    System.out.println("JDBC driver version is " + meta.getDriverVersion());
    it gives an exception
    java.sql.SQLException: ORA-01031: insufficient privileges
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1597)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:354)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:246)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
    at java.sql.DriverManager.getConnection(DriverManager.java:517)
    at java.sql.DriverManager.getConnection(DriverManager.java:177)
    at JDBCVersion.main(JDBCVersion.java:12)
    has anyone got an idea.. what's happening..TNS is set .. and if i use thin driver.. instead of oci.. it runs fine.. infact on oracle user env .. it runs ok.. but with any other unix user.. it gives this exception.. i tried .. using the same env variables in oracle user too..
    thanks a lot
    -alok

    I think it's not oracle privileges ... as i have tried with dba privilege and without dba privileges, the same thing runs as oracle (unix) user.. but not by any other user.... any clues??
    -alok
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Alok Gupta:
    Hi I'm using oracle 8.1.6 here is a small code
    import java.sql.*;
    import oracle.jdbc.driver.*;
    class JDBCVersion
    public static void main (String args [])
    throws SQLException
    // Load the Oracle JDBC driver
    DriverManager.registerDriver
    (new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@DEV","test","test");
    // Create Oracle DatabaseMetaData object
    DatabaseMetaData meta = conn.getMetaData ();
    // gets driver info:
    System.out.println("JDBC driver version is " + meta.getDriverVersion());
    it gives an exception
    java.sql.SQLException: ORA-01031: insufficient privileges
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1597)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:354)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:246)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
    at java.sql.DriverManager.getConnection(DriverManager.java:517)
    at java.sql.DriverManager.getConnection(DriverManager.java:177)
    at JDBCVersion.main(JDBCVersion.java:12)
    has anyone got an idea.. what's happening..TNS is set .. and if i use thin driver.. instead of oci.. it runs fine.. infact on oracle user env .. it runs ok.. but with any other unix user.. it gives this exception.. i tried .. using the same env variables in oracle user too..
    thanks a lot
    -alok<HR></BLOCKQUOTE>
    null

  • SQL connect /as sysdba;  ERROR: ORA-01031: insufficient privileges

    wondering what could be the case, OS Solaris10
    SQL*Plus: Release 10.2.0.3.0 - Production on Thu Sep 11 13:36:17 2008
    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
    SQL> connect /as sysdba;
    ERROR:
    ORA-01031: insufficient privileges
    i have orapwd also setup &
    SQL> connect sys/******** as sysdba;
    Connected.
    SQL> show parameter remote
    NAME TYPE VALUE
    remote_archive_enable string true
    remote_dependencies_mode string TIMESTAMP
    remote_listener string
    remote_login_passwordfile string EXCLUSIVE
    remote_os_authent boolean FALSE
    remote_os_roles boolean FALSE
    Oracle 10.2.0.3: id -a oracle
    uid=101(oracle) gid=101(dba) groups=101(dba)

    Hi DBA2008,
    Please refer to this Metalink Notes:
    - Troubleshooting ORA-1031 Insufficient Privilege While Authentication Note [730067.1|https://metalink.oracle.com/metalink/plsql/f?p=130:14:3634364694467571378::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,730067.1,1,1,1,helvetica]
    - UNIX: Checklist for Resolving Connect AS SYSDBA Issues Note [69642.1|https://metalink.oracle.com/metalink/plsql/f?p=130:14:3634364694467571378::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,730067.1,1,1,1,helvetica]
    - UNIX:Connect Internal asks for password when TWO_TASK is set Note [1066589.6|https://metalink.oracle.com/metalink/plsql/f?p=130:14:3634364694467571378::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,1066589.6,1,0,1,helvetica]
    Regards,
    Francisco Munoz Alvarez
    www.oraclenz.com

  • ORA-01031: insufficient privileges and shared memory realm does not exist

    Hi all,
    I came to a dead end to start oracle 10.2 database. I have searched on google and this forum, none of these solutions work for me. PS, I have installed 11g on my machine too.
    I have set up ORACLE_SID,ORACLE_HOME to 10.2 database based on the tnsnames.ora.
    follow is error message:
    sqlplus sys as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 3 02:09:54 2013
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Enter password:
    ERROR:
    ORA-01031: insufficient privileges
    sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 3 02:10:55 2013
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    SQL> conn / as sysdba
    ERROR:
    ORA-01031: insufficient privileges
    SQL> conn scott/tiger
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
    First I thought the instance has been start yet, but since I can't login with sysdba. I don't know what other options.
    For 10.2, the tnsnames.ora
    ORA102 =
    +(DESCRIPTION =+
    +(ADDRESS = (PROTOCOL = TCP)(HOST =XXX)(PORT = 1523))+
    +(CONNECT_DATA =+
    +(SERVER = DEDICATED)+
    +(SERVICE_NAME = ora102)+
    +)+
    +)+
    LISTENER_ORA102 =
    +(ADDRESS = (PROTOCOL = TCP)(HOST =XXX)(PORT = 1523))+
    EXTPROC_CONNECTION_DATA =
    +(DESCRIPTION =+
    +(ADDRESS_LIST =+
    +(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))+
    +)+
    +(CONNECT_DATA =+
    +(SID = PLSExtProc)+
    +(PRESENTATION = RO)+
    +)+
    +)+
    listener.ora:
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /data/oracle/ora102)
    (PROGRAM = extproc)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
    (ADDRESS = (PROTOCOL = TCP)(HOST =XXXXX)(PORT = 1523))
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    )

    try do this steps on server side:
    1) sqlplus sys as sysdba
    2) select open_mode from v$database;
    show result 2 step

  • Error while Creating Master Repository: ORA-01031: insufficient Privileges

    Hi,
    I'm trying to install ODI into my VM.
    I have done the installation and while creating Master Repository, I'm getting following error:
    ORA-01031: insufficient Privileges
    I'm using Oracle & have created user as ODI_MASTER with Admin Privileges.
    I'll be using it to load metadata onto planning (Version 11.1.2)
    Is there anything that I'm missing out on.
    Jitendra.

    Seems missing grants on the user you are using to create Master Repository.
    you are using Oracle .. grant connect, resource to <your_user>. These two rolesa have sufficient access to db to create the master repository.
    execuute the sql from sys user
    Regards,
    Amit
    Edited by: amitgupta1202 on 20 Aug, 2009 10:42 PM

  • ORA-01031: insufficient privileges

    Hi Everyone,
    I am facing a weird scenario. In this I am creating a test user and after creating and granting the required privilieges I am executing a procedure in this user.
    The steps are as follows:
    SQL> REM ***
    SQL> connect sys/**** as sysdba
    Connected.
    SQL> REM ****
    SQL> REM grant privileges to the test user
    SQL> grant connect, resource, create table, create view, alter session,
    2 create sequence, create session, create procedure to tester ;
    Grant succeeded.
    SQL> grant unlimited tablespace to tester ;
    Grant succeeded.
    SQL> grant execute on dbms_lock to tester ;
    Grant succeeded.
    SQL> grant create any procedure to tester ;
    Grant succeeded.
    SQL>
    SQL> connect tester/tester
    ERROR:
    ORA-01031: insufficient privileges
    Warning: You are no longer connected to ORACLE.
    SQL> set serveroutput on
    SQL> REM ******
    SQL> declare
    <block of code>
    SP2-0640: Not connected
    SQL> SQL>
    I am executing this process in loop for about 4 times and each time the test user is connected successfully in 1st and 4th run while in 2nd and 3rd run it throws privileges error? Any idea why this error is ocurring?

    SQL> create user test identified by test ;
    User created.
    SQL> grant connect, resource, create table, create view, alter session,create sequence, create session, create procedure to test;
    Grant succeeded.
    SQL> conn test/test ;
    Connected.
    SQL>

  • ORA-01031: insufficient privileges when creating a table in other schema

    Dear all,
    I appreciate your help please in this issue :
    when i try to issue the below statement to create a table in an another schema than the user i am connected in
    CREATE TABLE SCHEMA_NAME_B.HST_ARCH nologging AS
    SELECT *
    FROM HST
    WHERE 1 = 0;
    I always get ORA-01031: insufficient privileges error, even if i have granted the create table privilege to the user i am connected in.
    What other privileges should i grant also,
    Please if you have any idea.

    user562674 wrote:
    Dear all,
    I appreciate your help please in this issue :
    when i try to issue the below statement to create a table in an another schema than the user i am connected in
    CREATE TABLE SCHEMA_NAME_B.HST_ARCH nologging AS
    SELECT *
    FROM HST
    WHERE 1 = 0;
    I always get ORA-01031: insufficient privileges error, even if i have granted the create table privilege to the user i am connected in.
    What other privileges should i grant also,
    Can you show us a cut/paste from the sql*plus of session of yours which should show that you have given the privilege directly to this user and after that the command fails?
    Aman....

  • ORA-01031: insufficient privileges problem

    Hi all,
    I am trying to create the below procedure in the BOLMIN schema which in turn selects data from the tables of VALMIN schema. and I get ORA-01031: insufficient privileges error.
    CREATE OR REPLACE PROCEDURE BOLMIN.prcs_load_data
    IS
    BEGIN
    FOR c
    IN (SELECT DISTINCT AL4.GOAL_TEXT,
    AL5.RESPONSE_TEXT,
    AL7.SAMPLE_ID,
    AL7.ACADEMY_NAME,
    AL8.NAME
    FROM VALMIN.USER_PROFILE AL3,
    VALMIN.STUDENT_GOALS AL4,
    VALMIN.STUDENT_QUESTION_DETAILS AL5,
    VALMIN.STUDENT_QUESTION_RESPONSE AL6,
    VALMIN.SAMPLE AL7,
    VALMIN.NAME AL8
    WHERE ( AL3.GOAL_ID = AL4.GOAL_ID(+)
    AND AL3.USER_ID = AL6.USER_ID(+)
    AND AL6.QUESTION_TYPE_SUB_ID = AL5.QUESTION_TYPE_SUB_ID(+)
    AND AL7.NAME_ID = AL8.NAME_ID(+)))
    LOOP
    NULL;
    END LOOP;
    END;
    I checked the grants of each of the VALMIN schema tables involved in the associated sql query & they all have SELECT grant (to BOLMIN schema). Also, the SQL query itself, when executed in BOLMIN schema runs perfectly fine. The problem is occurring only when I enclose the query in a procedure. Isn't that weird? or am I missing something here? Any help regarding this issue is appreciated. Thanks.
    The BOLMIN schema as CREATE PROCEDURE privilege as I have already created other procedures for other purposes.
    Thanks,
    Sirisha
    Edited by: siri_me on Oct 2, 2010 9:23 AM

    siri_me wrote:
    All Roles are disabled in PL/SQL and explicit privileges are needed right from creating procedures to the accessing the underlying tables.WRONG. Roles are disabled in definer rights stored objects - stored procedures, functions, packages triggers. Stored procedures, functions, packages with authid current user and anonymous PL/SQL block honor roles.
    SY.

  • Error ORA-01031: insufficient privileges when backup via DB13

    Hi expert,
    Currently, I have system on SuSE 10 SP2 with ECC6 and Oracle 10.2 installed.
    Database backup works fine when using BRTOOLS from command line.
    Error like this :
    BR0278E Command output of 'SHELL=/bin/sh /oracle/I20/920_32/bin/rman
    nocatalog':
    Recovery Manager: Release 9.2.0.4.0 - Production
    Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
    RMAN>
    RMAN> connect target /;
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    ORA-01031: insufficient privileges
    RMAN> *end-of-file*
    happened when I try to schedule backup through DB13.
    I try to solved this with SAP Note 776505 but still doesn't work.
    Any suggestion ?
    ardhian

    Hi,
    Execute the following command at sql prompt.
    grant dba,resource,connect,sapdba to OPS$<SID>ADM  OPS$ORA<SID>
    grant dba,resource,connect,sapdba to O OPS$ORA<SID>
    grant dba,resource,connect,sapdba to  SAPSR3 or SAP<SID>(YOUR SCHEMA NAME)
    Also check owner of SAPUSER table
    SELECT OWNER FROM DBA_TABLES WHERE TABLE_NAME = 'SAPUSER';
    If it returns value OPS$<SID>ADM than its ok, otherwise you have to drop this & recreate with command
    CREATE TABLE "OPS$QASADM".SAPUSER
           (USERID VARCHAR2(256), PASSWD VARCHAR2(256));
            INSERT INTO "OPS$<sid>ADM".SAPUSER VALUES ('<sapowner>',
    '<password>');
    For more info go through the snote 400241
    [https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=400241]
    Thanks & Regards
    Karan

  • Check database with error "ORA-01031: insufficient privileges"

    Dear Gurus,
            I ran "Check database" in DB13 but I got error "ORA-01031: insufficient privileges"
    BR0280I BRCONNECT time stamp: 2010-03-31 12.37.00
    BR0301E SQL error -1031 at location BrDbdiffRead-1, SQL statement:
    'PREPARE stmt_5 STATEMENT FROM'
    'SELECT OBJNAME FROM "SAPSR3".DBDIFF WHERE DBSYS IN ('ORACLE', ' ') AND OBJTYPE = 'TABL' AND DIFFKIND IN ('02', '61', '99') ORDER BY OBJNAME'
    ORA-01031: insufficient privileges
    BR0806I End of BRCONNECT processing: cecxekdh.chk 2010-03-31 12.37.00
           Note I try to execute sapdba_role.sql (with command "sqlplus /nolog @sapdba_role.sql SR3") as Note 134592 both login 'oradev' and 'devadm' but it seem to do nothing (not found sapdba_role.log)
          Please advice.
    Best regards,
    Choosak B.
    Ps.
    detailed log of /oracle/DEV/sapcheck/cecxekdh.chk
    BR0801I BRCONNECT 7.00 (40)
    BR0477I Oracle pfile /oracle/DEV/102_64/dbs/initDEV.ora created from spfile /oracle/DEV/102_64/dbs/spfileDEV.ora
    BR0805I Start of BRCONNECT processing: cecxekdh.chk 2010-03-31 12.30.53
    BR0484I BRCONNECT log file: /oracle/DEV/sapcheck/cecxekdh.chk
    BR0101I Parameters
    Name                           Value
    oracle_sid                     DEV
    oracle_home                    /oracle/DEV/102_64
    oracle_profile                 /oracle/DEV/102_64/dbs/initDEV.ora
    sapdata_home                   /oracle/DEV
    sap_profile                    /oracle/DEV/102_64/dbs/initDEV.sap
    system_info                    devadm/oradev sapdev SunOS 5.10 Generic_142900-03 sun4v
    oracle_info                    DEV 10.2.0.4.0 8192 7465 94896497 sapdev UTF8 UTF8
    sap_info                       701 SAPSR3 0002LK0003DEV0011N11827599290015Maintenance_ORA
    make_info                      sun_64 OCI_102 Feb 21 2009
    command_line                   brconnect -u / -jid CHECK20100331123000 -c -f check
    alert_log                      /oracle/DEV/saptrace/background/alert_DEV.log
    BR0280I BRCONNECT time stamp: 2010-03-31 12.30.56
    BR0813I Schema owners found in database DEV:
    DBSNMP, DIP, OPS$DEVADM, OPS$ORADEV, OPS$SAPSERVICEDEV, ORACLE_OCM, OUTLN, SAPSR3*, SYS, SYSTEM,
    TSMSYS
    BR0118I Tablespaces and data files
    Tablespace     Status     File                                               Status     Id.        Size      MaxSize     IncrSize  BlkSize      Device  Type  Link
    PSAPSR3        ONLINE+    /oracle/DEV/sapdata2/sr3_1/sr3.data1               ONLINE+     4   2411732992  10485760000     20971520     8192    16777219  FILE  NOLINK
    SYSTEM         ONLINE+    /oracle/DEV/sapdata1/system_1/system.data1         SYSTEM+     1   1017126912  10485760000     20971520     8192    16777219  FILE  NOLINK
    BR0119I Redo log files
    File                                          Status  Group       Size       Device  Type  Link
    /oracle/DEV/origlogA/log_g11m1.dbf            INUSE      1    52429312     16777218  FILE  NOLINK
    /oracle/DEV/mirrlogA/log_g11m2.dbf            INUSE      1    52429312     16777218  FILE  NOLINK
    /oracle/DEV/origlogB/log_g12m1.dbf            INUSE      2    52429312     16777218  FILE  NOLINK
    /oracle/DEV/mirrlogB/log_g12m2.dbf            INUSE      2    52429312     16777218  FILE  NOLINK
    /oracle/DEV/origlogA/log_g13m1.dbf            INUSE      3    52429312     16777218  FILE  NOLINK
    /oracle/DEV/mirrlogA/log_g13m2.dbf            INUSE      3    52429312     16777218  FILE  NOLINK
    /oracle/DEV/origlogB/log_g14m1.dbf            INUSE      4    52429312     16777218  FILE  NOLINK
    /oracle/DEV/mirrlogB/log_g14m2.dbf            INUSE      4    52429312     16777218  FILE  NOLINK
    BR0120I Control files
    File                                                Size       Device  Type  Link
    /oracle/DEV/origlogA/cntrl/cntrlDEV.dbf         15024128     16777218  FILE  NOLINK
    /oracle/DEV/origlogB/cntrl/cntrlDEV.dbf         15024128     16777218  FILE  NOLINK
    /oracle/DEV/sapdata1/cntrl/cntrlDEV.dbf         15024128     16777219  FILE  NOLINK
    BR0982I Database disk volumes
    Directory / Raw disk                          Device      Total[KB]      Free[KB]    Used[%]   MaxNeed[KB]   MaxMiss[KB]
    /oracle/DEV/102_64                          16777218     480700086     404332206      15.89             0             0
    /oracle/DEV                                 16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/mirrlogA                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/mirrlogB                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/origlogA                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/origlogB                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/sapdata1                        16777219     591212116     404332206      31.61     240019884             0
    /oracle/DEV/sapdata2                        16777219     591212116     404332206      31.61     240019884             0
    /oracle/DEV/sapdata3                        16777219     591212116     404332206      31.61     240019884             0
    /oracle/DEV/sapdata4                        16777219     591212116     404332206      31.61     240019884             0
    /oracle/DEV/saparch                         16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/sapbackup                       16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/sapcheck                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/sapreorg                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/saptrace                        16777218     480700086     404332206      15.89             0             0
    /oracle/DEV/oraarch                         16777218     480700086     404332206      15.89             0             0
    BR0280I BRCONNECT time stamp: 2010-03-31 12.31.29
    BR0814I Number of tables in schema of owner SAPSR3: 74582
    BR0836I Number of info cube tables found for owner SAPSR3: 49
    BR0814I Number of tables/partitions in schema of owner SYS: 625/189
    BR0814I Number of tables/partitions in schema of owner SYSTEM: 134/27
    BR0280I BRCONNECT time stamp: 2010-03-31 12.32.28
    BR0815I Number of indexes in schema of owner SAPSR3: 89159
    BR0815I Number of indexes/partitions in schema of owner SYS: 678/199
    BR0815I Number of indexes/partitions in schema of owner SYSTEM: 175/32
    BR0280I BRCONNECT time stamp: 2010-03-31 12.37.00
    BR0816I Number of segments in schema of owner DBSNMP: 25
    BR0816I Number of segments in schema of owner OPS$DEVADM: 1
    BR0816I Number of segments in schema of owner OUTLN: 9
    BR0816I Number of segments/LOBs in schema of owner SAPSR3: 168369/2314
    BR0816I Number of segments/LOBs in schema of owner SYS: 1831/87
    BR0816I Number of segments/LOBs in schema of owner SYSTEM: 353/22
    BR0816I Number of segments in schema of owner TSMSYS: 4
    BR0280I BRCONNECT time stamp: 2010-03-31 12.37.00
    BR0961I Number of conditions found in DBCHECKORA: 118
    BR0983I Tablespace fragmentation
    Tablespace    Files   Tables  Indexes    Extents     Total[KB]   Used[%]     Free[KB]   FreeExt.   MaxSize[KB]   MaxAlloc[KB]   Used[%]       Free[KB]       Largest[KB]
    PSAPSR3          16    74248    88689     209864     54138880     94.51      2970752        240     163840000+     109701120+    31.23+     112671872+       9246720:7966720:7946240:7905280:7905280+
    PSAPSR3701       14        0        0          0     54466560      0.00     54465664         20     143360000+      88893440+     0.00+     143359104+       9021440:8192000:8192000:8192000:8192000+
    PSAPSR3701X       4      310      445      12190     68342784     94.20      3962240          7      68342784              0     94.20        3962240        1298432:1191936:979968:163776:163776
    PSAPSR3USR        1       24       25         51        51200      6.50        47872          1      10240000+      10188800+     0.03+      10236672+      10188800+:47872:0:0:0
    PSAPTEMP          1        0        0          0      1433600      0.00      1433600          0      10240000+       8806400+     0.00+      10240000+       8806400+:0:0:0:0
    PSAPUNDO          1        0        0          0      7823360      0.00      7823296        406      10240000+       2416640+     0.00+      10239936+       2416640+:2041792:1814464:1433536:603072
    SYSAUX            1      254      284       2059       307200     93.35        20416         16      10240000+       9932800+     2.80+       9953216+       9932800+:13248:3072:1024:640
    SYSTEM            1      505      569       2926       993280     98.91        10816          2      10240000+       9246720+     9.59+       9257536+       9246720+:10176:640:0:0
    Total:           39    75341    90012     227090    187556864     62.29     70734656        692     426742784      239185920     27.38      309920576       60157952:19463744:18936384:17695616:16864768
    BR0280I BRCONNECT time stamp: 2010-03-31 12.37.00
    BR0301E SQL error -1031 at location BrDbdiffRead-1, SQL statement:
    'PREPARE stmt_5 STATEMENT FROM'
    'SELECT OBJNAME FROM "SAPSR3".DBDIFF WHERE DBSYS IN ('ORACLE', ' ') AND OBJTYPE = 'TABL' AND DIFFKIND IN ('02', '61', '99') ORDER BY OBJNAME'
    ORA-01031: insufficient privileges
    BR0806I End of BRCONNECT processing: cecxekdh.chk 2010-03-31 12.37.00
    BR0280I BRCONNECT time stamp: 2010-03-31 12.37.00
    BR0804I BRCONNECT terminated with errors

    Hi,
           It solved after change permission of directory that sapdba_role.sql kept to oradev:dba after that it can write sapdba_role.log.
          Thank you for your guideline.
          Now, I can ran 'Check database' via DB13 without that error.
    Best regards,
    Choosak B.

Maybe you are looking for

  • 500 Internal Server Error when deploying struts application on OAS 10.1.3

    I've installed the Oracle Application Server several times, this time with 10.1.3 our application doesn't run and we get the error shown below. Any ideas? It looks to be something with struts or tiles. struts.jar and tiles.jar is included in our depl

  • Not able to start a VM

    Hello, one of my VM was working fine, then i copied the entire VM from one OVM server to another. Now I am not able to start that VM. # xm create vm.cfg Using config file "./vm.cfg". Started domain OEL5u2 (id=25) It does give me the vm ID but it is n

  • In query  display  sales negative values

    Hi Friends Iam Exicuting query based on these selection parameters Sales Org: 5360 cal Month/Year: 04.2007 to 04.2008 When am exucuting the query above parameters some values display negative values like 04.2007 month display -39 07.2007 month displa

  • GDM: How to display it in the first screen (Dual monitors)

    I have a PCI Express video card which i use for video-output for two screens. The hing is that when i boot the system up, and gnome gives me the choice for selecting the user and so (GDM), this appears in the secondary screen, which is most of the ti

  • IPhone needs Flash support in a hurry...

    Just to let you guys know. I already know a few people thinking about returning there iPhones because they are unable to view some web pages that have flash content. Do you have any idea when a possible update for flash could happen? I've read a few