insufficient privileges when executing stored procedure

Hello gurus,
I'm new to plsql, working on a stored procedure.
Basically, trying to create a temporary table by using the dynamic sql... Here is my code, the runtime, I'm encoutering error of insufficient privileges. not sure where I'm wrong. any help is appreciated, thanks

-successfully - compiled code
SQL > CREATE or REPLACE procedure stp_temp (i_table in varchar2)
2 is
3 table_creation_stmt varchar2 (4000): = ";
4 start
5
6 table_creation_stmt: = 'CREATE of TABLE TEMPORARY GLOBAL' | i_table | ' AS select * from TABLE_STGG';
7 dbms_output.put_line (' query is :'|| table_creation_stmt);
8 execution immediate table_creation_stmt;
9 end;
10.

Created procedure.

SQL > exec stp_temp ('table123');
Request: CREATE TEMPORARY TABLE global table123 AS select * from TABLE_STGG
BEGIN stp_temp ('table123'); END;

*
ERROR on line 1:
ORA-01031: insufficient privileges
ORA-06512: at "E3US9T. STP_TEMP', line 8
ORA-06512: at line 1


-table gets created to copy/paste on top of the output (that is the query)

SQL > CREATE GLOBAL TEMPORARY TABLE table123 AS select * from TABLE_STGG;

Table created.

Why the hell you create a TWG in a stored procedure?

Create once and be done with it.

To answer your question, your create table privilege granted to you via a role. Roles are not in pl/sql, you need the privilege granted to you directly.

Tags: Database

Similar Questions

  • insufficient privileges when you create sequence using the procedure

    CREATE OR REPLACE PROCEDURE schema1.proc1 AS
    BEGIN
    EXECUTE IMMEDIATE 'DROP SEQUENCE schema1.add_ins_seq';
    EXECUTE IMMEDIATE 'CREATE SEQUENCE schema1.add_ins_seq MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 1000 NOORDER  NOCYCLE';
    END;
    

    This procedure is created to schema1 by schema1.

    Schema1 boasts a CREATE SEQUENCE privilege.

    When I run this procedure through SQL Developer after the Cup to schema1, the error is thrown in insufficient privilege to CREATE SEQUENCE, however, DROP SEQUENCE is executed. I can create the sequence without the procedure call.

    If I add AUTHID CURRENT_USER so I don't get the error of insufficient privileges.

    Why it gives this error when the owner and the applicant of the procedure is schema1?

    Hello

    1st thing to know: when a procedure is defined (and updated), any privileges granted through ROLE is not taken into account. This is because these privileges can be active or not at the level of the session (as happens if for example a user has active 'role A' in session 1 but not in session 2 and if this role has been used to define a procedure?) The proecedure must at the same time be VALID in session 1 and INVALID session 2? Is not possible.

    Thus, for instance in a situation of 'standard': user SYSTEM has 'DBA Rôle', so you can for example make a sqlplus session "SELECT * v $ instance;", but you would write a procedure owned by system making instance_name SELECT INTO l_variable OF v$ instance;  "then"surprise": the procedure cannot be compiled because of the ORA-904 Table or view does not exist..." To be able to create the procedure, a DSS system needs to be done.

    2nd thing for your special case, a little more complex: default for a procedure is 'AUTHID DEFINE', but once more: it means "privileges of the author creating the procedure", so without taking into account the acquired privileges through roles... Your user name is 'sequence create' through a role, it cannot use the privilege within the procedure.  But... but when you define the procedure with AUTHID CURRENT_USER, privileges are evaluated at run time, and thanks to the active ROLE in the session by calling the procedure, at this time, the user can create the sequence.  If try again you but with 'The VALUE NONE ROLE' in the session before the call, you will again have the question.

    Conclusion: If you need to do the action, you must grant the user the necessary privilege directly.

    Best regards

    Bruno Vroman.

  • insufficient privileges when using dynamic sql statements in the procedure

    Hello
    I use following script on oracle 10g. and get the error not enough privs. Please advice.

    SQL > show user
    The user is 'GRSADM '.
    SQL > create or replace procedure grsadm.test_proc as
    a varchar2 (2000);
    Start
    a: =' VIEW to CREATE or REPLACE
    TEST_VIEW
    IN SELECT
    "FLAS" one
    THE DOUBLE ';
    immediately run one;
    end;
    Created procedure.
    SQL > start
    grsadm.test_proc;
    end;
    Start
    grsadm.test_proc;
    end;
    Error on line 16
    ORA-01031: insufficient privileges
    ORA-06512: at "GRSADM. TEST_PROC', line 9
    ORA-06512: at line 2

    SQL > select * from session_privs
    where the privilege as "VIEW %.

    PRIVILEGE
    ----------------------------------------
    CREATE A VIEW
    REMOVE ANY VIEW
    CREATE A MATERIALIZED VIEW
    MODIFY A MATERIALIZED VIEW
    REMOVE ANY MATERIALIZED VIEW


    5 selected lines.

    Published by: Rous Sharma on November 24, 2011 12:00

    GRSADM has a privilege ' CREATE (all) VIEW ' live?
    And not via a role...

    SSM
    Samir,
    GRSADM is the owner of this procedure, it seems that the EXECUTE priv, that you suggested is already involved.

  • Problem: Not sufficient privileges execution of stored procedure in a package

    I am using Visual Studio 2008 Team Suite, ODT with ODAC 111.07.20 and I am trying to run a procedure stored within a packet, it displays the following error message:

    Oracle.DataAccess.Client.OracleException: ORA-01031: insufficient privileges
    ORA-06512: at & quot; KIKO. PACK_SP & quot; line 205
    ORA-06512: at line 1
    at Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx * pOpoSqlValCtx, ByVal src, String, Boolean Bcheck procedure)
    at Oracle.DataAccess.Client.OracleException.HandleError (Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx * pOpoSqlValCtx, ByVal src, Boolean Bcheck)
    at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery)
    at SqlOracleWebService.OracleReplicationTool.GetData (String strNameServer, String strNameDatabase, String strNameTable, String strNameStoreProcedure, String strUserId, String strPassword, intSince, intUntil, Int32 intPort, string strID Int64 Int64) in C:\Documents and Settings\kiko\Desktop\kiko\SQL-ORACLE\SqlOracleWebService\SqlOracleWebService\Oracle\OracleReplicationTool.vb:line 1171
    at SqlOracleWebService.OracleReplicationTool.SmallDataInit (String strNameServerSource, String strNameDatabaseSource, String strNameServerDestiny, String strNameDatabaseDestiny, String strNameTable, String strUserIdSource, String strPasswordSource, String strUserIdDestiny, String strPasswordDestiny, Int32 intPortSource, Int32 intPortDestiny) in C:\Documents and Settings\kiko\Desktop\kiko\SQL-ORACLE\SqlOracleWebService\SqlOracleWebService\Oracle\OracleReplicationTool.vb:line 614
    at SqlOracleWebService.OracleReplicationTool.ReplicationDataInit (Boolean boolBothDirections, String strNameServerSource, String strNameDatabaseSource, String strNameServerDestiny, String strNameDatabaseDestiny, String strNameTable, String strUserIdSource, String strPasswordSource, String strUserIdDestiny, String strPasswordDestiny, Int32 intPortSource, Int32 intPortDestiny) in C:\Documents and Settings\kiko\Desktop\kiko\SQL-ORACLE\SqlOracleWebService\SqlOracleWebService\Oracle\OracleReplicationTool.vb:line 28
    at SqlOracleWebService.Service1.Oracle_ReplicationDataInit (Boolean boolBothDirections, String strNameServerSource, String strNameDatabaseSource, String strNameServerDestiny, String strNameDatabaseDestiny, String strNameTable, String strUserIdSource, String strPasswordSource, String strUserIdDestiny, String strPasswordDestiny, Int32 intPortSource, Int32 intPortDestiny) in C:\Documents and Settings\kiko\Desktop\kiko\SQL-ORACLE\SqlOracleWebService\SqlOracleWebService\Service1.asmx.vb:line 20

    I have change the execute privileges and granted to the user KIKO execute the PACK_SP package, but it does not work. Could you help me?

    Thanks in advance.

    Published by: user9112176 on February 8, 2010 10:27

    This behavior is probably not related to the ODP and will happen when you run the same procedure as the same user of SQLPlus directly for example, so the PLSQL forum is probably a more appropriate place for assistance.

    What is 'KIKO. PACK_SP', line 205? Roles are disabled inside stored procedures, so you must have the permissions that are granted directly.

    It will be useful,
    Greg

  • ORA-01031: insufficient privileges when you try to run a proc

    I have a procedure called KILL_MY_SESSION that is defined with a value of DEFINE AUTHID

    The schema JOHN belonged procedure. The procedure makes several calls to PL/SQL DBMS_SQL package.
    The last thing that not with DBMS_SQL proceedings concern an ALTER SYSTEM KILL SESSION statement.
    Schema JOHN has privileges to kill a session in the database.
    If I log in the scheme of JOHN, I can issue the statement ALTER SYSTEM KILL SESSION successfully.
    Also, when you are logged in the scheme of JOHN, I can run the KILL_MY_SESSION procedure.

    Now I have the ISTO schema. I got ISTO privileged EXECUTE on the JOHN. Procedure KILL_MY_SESSION.
    Since JOHN. KILL_MY_SESSION is a privilege of rights DEFINERs, if RIGHTS shouldn't be able to execute the procedure correctly and kill a session?

    This is an output of the session of the ISTO when you try to run JOHN. KILL_MY_SESSION:

    SQL > conn oifs@dbname
    Enter password: *.
    Connected.
    SQL > 500 fixed lines
    SQL > select username, osuser, sid, serial #.
    2 session $ v
    3 where username = "OIFS."

    USERNAME OSUSER SID SERIAL #.
    ------------------------------ ------------------------------ ---------- ----------
    OIFS administrator 142 325
    OIFS administrator 139 613

    SQL > exec ('142 ', 325') john.kill_my_session
    BEGIN john.kill_my_session ('142 ', 325'); END;

    *
    ERROR on line 1:
    ORA-01031: insufficient privileges
    ORA-06512: at "SYS." DBMS_SYS_SQL", line 1204
    ORA-06512: at "SYS." DBMS_SQL", line 323
    ORA-06512: at "EIADBA. KILL_MY_SESSION', line 20
    ORA-06512: at line 1


    Someone at - he a clue as to what I'm doing wrong?
    View DBA_PROCEDURES, here's the record for KILL_MY_SESSION


    OWNER
    ------------------------------
    OBJECT_NAME
    --------------------------------------------------------------------------------
    OBJECT_TYPE AUTHID
    ------------------- ------------
    JOHN
    KILL_MY_SESSION
    DEFINE PROCEDURE

    I mean the privilege of system alter directly, not through roles.

    GRANT ALTER SYSTEM TO JOHN;
    

    Please read the articles below, you should restrict the sessions that can be killed, according to what will be your implementation.

    It could be useful.
    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:226613885088
    http://DBA-Oracle.com/t_granting_alter_system_kill_session.htm

  • ORA-01031: insufficient privileges when granted access privileges to a new user

    Hello.

    When you are connected to a SYSTEM, I'm trying to create a new user and give him all the system privileges, but do so always the following error message appears:

    Cannot process the SQL command

    -

    Error at startup to the line: 123 to orders.

    SYSDBA GRANT TestUser

    Error report-

    SQL error: ORA-01031: insufficient privileges

    01031 00000 - "insufficient privileges".

    * Cause: An attempt was made to execute a database operation without

    the necessary privileges.

    * Action: Ask your database or the designated security administrator

    administrator to grant you the required privileges

    After clicking OK, the user is still being created, but it lacks many privileges to access.

    How can I solve this problem?

    I use Oracle SQL Developer version 4.1.2.20 and Oracle database 11g of the express edition.

    Connect as SYS, not SYSTEM to grant this priv

    Give him with extreme prejudice - it is powerful

    Note in the 12 c database we have stopped a lot of the administrative bits of the SYSDBA role in less powerful. This gives you more flexibility on who can do what in your database

    https://docs.Oracle.com/database/121/DBSEG/authorization.htm#DBSEG578

  • Download "error: ORA-01031: insufficient privileges" when try to add relief of database

    Hi all

    I get insufficient privileges error when I added a standby database to dg configuration. I read some blog and he said that dgmgrl does not support os authentication, which means that I need to connect with sys and password. But I found that if I keep standby and primary SIDs are the same, the error will not occur even if I don't provide a password. Anyone know the reason? And no workaround?

    The process as follows:

    main SID: orcl ensures sid: prxx

    connect to "dgmgrl / '.

    Run ' add the database ' prxx_stby "as an identifier of connection is"prxx_stby"

    Download:

    Error: ORA-01031: insufficient privileges

    Failed.

    But if sid main: orcl ensures sid: orcl

    connect to "dgmgrl / '.

    Run ' add the database ' orcl_stby "as an identifier of connection is"orcl_stby"

    Download:

    Database "orcl_stby" added

    Liz

    I think still you can connect as "dgmgrl /", but its recommended to use "dgmgrl sys / * '.

    As rchem has said, there can be question of password. It doesn't matter whether the SID is the same or not primary and standby so different locations. So the best practice is to connect to the database from the primary server before using Oracle net service and test whether you connect or not.

    Ex: Prim_host > sqlplus sys/***@stby as sysdba

    There are a lot of possible issues

    -Missing or invalid password file

    -Service name is not registered with earphone

    -service incorrect, mentioned in the tns names

    and so many things, overlaps with these things.

  • NullPointerException when calling stored procedure

    I have the stored procedure

    create or replace PROCEDURE GREETING_PROC

    (

    TEXT_PARAM IN VARCHAR2

    MSG_TEXT VARCHAR2 OUT

    ) AS

    BEGIN

    MSG_TEXT: = "Hello" | TEXT_PARAM;

    END;

    My stored procedure call method

    public class UserBean {}

    public UserBean() {}

    Super();

    }

    Public Shared Sub main (String [] args) {}

    UserBean userBean = new UserBean();

    userBean.callP ();

    userBean.callStoreProcedure ();

    }

    public void callStoreProcedure() {}

    CallableStatement st = null;

    SysUser SysUserEOImpl = new SysUserEOImpl();

    try {}

    String sql = "BEGIN GREETING_PROC (: TEXT_PARAM,: MSG_TEXT); END; « ;

    St = sysUser.getDBTransaction () .createCallableStatement (sql, sysUser.getDBTransaction (). DEFAULT VALUE);

    st.setObject ("TEXT_PARAM", "Scoot");

    st.registerOutParameter ("MSG_TEXT", Types.VARCHAR);

    St.Execute ();

    System.out.println ((String) St.GetObject ("MSG_TEXT"));

    } catch (SQLException e) {}

    throw new Aexception.getLocalizedMessage (e);

    }

    }

    then I got an exception:

    Exception in thread "main" java.lang.NullPointerException

    at cic.opsi.model.bean.UserBean.callStoreProcedure(UserBean.java:35)

    at cic.opsi.model.bean.UserBean.main(UserBean.java:27)

    Hello

    What statemet is UserBean.java:35)?

    Second, create a new SysUserEOImpl()!

    If you want to call stored proc, put the java code calling stored proc in ViewRowImpl/ViewObjectImpl/ApplicationModuleImpl and export this code in the customer interface. Then put this method in the pageDef as a call him as an OperationBinding

    Zeeshan Baig blog: the PL/SQL procedure call and function in the Oracle ADF application

    Extending the functionality of the components Business

    ADF/OFA for Oracle Techies: ADF call stored procedure with Out parameters

    Latest Oracle technology: call Store procedures for Oracle ADF Application

  • Command SQLPLUS to execute stored procedure

    Hello

    I'm trying to run the command SQLPLUS (CONNECT) to the stored procedure.

    It is throwing the error message below.


    Stored procedure:

    SQL > select use double
    2;

    USER
    ------------------------------
    SYS

    SQL > create or replace
    2 PROCEDURE PROCEDURE1 AS
    3 BEGIN
    4 sqlplus sys/sys@D as sysdba;
    5 - immediate execution "create user 'kkk' identified by 'kkk';
    6 END PROCEDURE1;
    5 m

    CAUTION: Procedure created with compilation errors.

    SQL > show err
    PROCEDURE1 PROCEDURAL errors:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    3/9 PLS-00103: encountered the symbol "SYS" when awaits an of the
    Next:
    := . ( @ % ;
    The symbol ': = ' was replaced by 'SYS' continue.

    3/22 PLS-00103: encountered the symbol "UNDER" when awaits an of the
    Next:
    . (* @ & = - +; <>/ at mod is still not rem)
    < an exponent (*) > <>or! = or ~ = > = < = <>and or LIKE2_
    LIKE4_ LIKEC_ between | Member SUBMULTISET_
    The symbol "." has been inserted before "AS" to continue.


    Please let me know if it is possible to do or not.
    If it is possible how is this possible?

    Published by: NGK246 on August 28, 2012 02:21

    NGK246 wrote:
    Now I tried to implement even taking arguments when running in the command prompt, but the OraCallTest.log file is not created.
    Please let me know why is it happening as such.

    Please show it does not work. It works well for me...

    c:\Temp>notepad testing.bat
    
    c:\Temp>more testing.bat
    @echo off
    SET DBUser=%1
    SET DBPass=%2
    SET DBTNS=TEST
    SET LOG=C:\temp\
    
    ECHO spool OraCallTest.log > %LOG%OraCallT.sql
    ECHO set linesize 132 >> %LOG%OraCallT.sql
    ECHO select * from dual; >>%LOG%OraCallT.sql
    ECHO spool off >> %LOG%OraCallT.sql
    ECHO exit >> %LOG%OraCallT.sql
    sqlplus -s "%DBUser%/%DBPass%@%DBTNS%" @%LOG%OraCallT.sql > %LOG%PLTT.log
    
    c:\Temp>testing scott tiger
    
    c:\Temp>more pltt.log
    
    Session altered.
    
    D
    -
    X
    
    c:\Temp>more oracallt.sql
    spool OraCallTest.log
    set linesize 132
    select * from dual;
    spool off
    exit
    
    c:\Temp>more oracalltest.log
    
    D
    -
    X
    
  • ORA-01031: error of insufficient privileges when I try to use ALERT_QUE

    Hello
    I'm working on SYS. ATTENTION. THAT for system alerts. I use ODP in c# to connect to the Oracle database with username = SYSTEM, but when I try to survey or deque any message from SYS. ATTENTION. Que., its gives an error ORA-01031: insufficient privileges. I am not able to understand how to assign SYSDBA privileges to the SYSTEM and access ALERT_QUE to get alerts of system. I write my code below, please take a look and let me know what is wrong with the code. I am able to connect to the database using the SYSTEM, do I have to use username = SYS for access to the content database ALERT_QUE? Please let me know what is the solution.


    Con OracleConnection = new OracleConnection (constr.);

    Create the queue
    Queue OracleAQQueue = new OracleAQQueue ("sys.alert_que", con);

    Open connection
    con. Open();

    BEGIN txn for enqueue
    OracleTransaction txn = con. BeginTransaction();

    Set the type of message to the queue
    queue. MessageType = OracleAQMessageType.Raw;

    Prepare the message and payload BRUTE
    OracleAQMessage enqMsg = new OracleAQMessage();
    Byte [] bytePayload = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    enqMsg.Payload = bytePayload;
    Agent [] OracleAQAgent = new OracleAQAgent [1];

    Agent [0] = new OracleAQAgent ("SUBSCRIBER1");
    enqMsg.Recipients = agent;
    enqMsg.SenderId = new OracleAQAgent ("SENDER1");

    Prepare for the queue
    queue. EnqueueOptions.Visibility = OracleAQVisibilityMode.OnCommit;

    Message from the queue
    queue. Enqueue (enqMsg);


    The code throws the exception to the line "queue. Enqueue (enqMsg); "saying: ORA-01031: insufficient privileges

    Published by: 916462 on February 27, 2012 03:31

    You are looking for a connection preferred, which means that you must connect as SYSDBA
    Check this doc on how to do it.
    http://docs.Oracle.com/CD/B19306_01/win.102/b14307/featConnecting.htm

  • Error ORA-01031 insufficient privilege when selecting a view

    OK, I think it's maybe a stupid question, but I can't understand it:

    The user John won the right to SELECT (directly, not by a database role) to the FRED.table1 schema.
    John user can issue select * from FRED.table1; and it works very well.

    User John then got the right to SELECT (directly, without going through a database role) to the schema
    MARK.view1;

    MARK.view1 selects only FRED.table1. No other table is in the View1.
    Schema MARK questionable views successfully. SELECT * FROM View1 returns results.
    I also checked the MARK scheme to ensure that she got the select on FRED.table1 directly that he has.

    Now, when you're logged in schema John, I try SELECT * to SCORE. VIEW1; and I get error ORA-01031 insufficient privileges.

    I don't know how to solve this. If John is granted SELECT a TABLE, it works of course but I don't want John to have this powerful private.

    As a reminder, SELECT these two brands a John. View1 and the table View1 selects from (FRED. (TABLE 1).
    John can select FRED. Table1: no problem but does not receive a privilege error even if John has SELECT on the BRAND. VIEW1.

    Any thoughts?

    Oh, Oracle 10.2.0.4 EA

    JSebastian wrote:
    OK, I think it's maybe a stupid question, but I can't understand it:

    The user John won the right to SELECT (directly, not by a database role) to the FRED.table1 schema.
    John user can issue select * from FRED.table1; and it works very well.

    User John then got the right to SELECT (directly, without going through a database role) to the schema
    MARK.view1;

    MARK.view1 selects only FRED.table1. No other table is in the View1.
    Schema MARK questionable views successfully. SELECT * FROM View1 returns results.
    I also checked the MARK scheme to ensure that she got the select on FRED.table1 directly that he has.

    Now, when you're logged in schema John, I try SELECT * to SCORE. VIEW1; and I get error ORA-01031 insufficient privileges.

    I don't know how to solve this. If John is granted SELECT a TABLE, it works of course but I don't want John to have this powerful private.

    As a reminder, SELECT these two brands a John. View1 and the table View1 selects from (FRED. (TABLE 1).
    John can select FRED. Table1: no problem but does not receive a privilege error even if John has SELECT on the BRAND. VIEW1.

    Any thoughts?

    Oh, Oracle 10.2.0.4 EA

    Are you sure that John was granted select on Mark.view1? In order for that to work, Mark would have had to select on the WITH GRANT OPTION Fred.table1... otherwise the grant to fail and then John would not be able to select the view because the grant was never issued successfully.

    Here is a basic test case (which I think is consistent with what you said) to make it work.

    drop user u1 cascade;
    drop user u2 cascade;
    drop user u3 cascade;
    
    create user u1 identified by u1;
    grant connect, resource to u1; 
    
    create user u2 identified by u2;
    grant connect, resource, create view to u2;
    
    create user u3 identified by u3;
    grant connect, resource to u3;
    
    connect u1/u1@orcl
    create table test1 (col1 number);
    grant select on test1 to u2 with grant option; --> this is the important part
    grant select on test1 to u3;
    
    connect u2/u2@orcl
    create view test2 as select * from u1.test1;
    grant select on test2 to u3;
    
    connect u3/u3@orcl
    select * from u2.test2;
    
  • Error when the stored procedure returns a cursor in c pro


    Hello

    I tried to make things work, explained to the
    [2537153 m]

    He runs a stored procedure from pro c which returns a cursor.
    But when I compllie to c pro I get following error. My name of the procedure's TEST.
    If I change the output to an int value parameter. It compiles okay.



    PLS-S-00306, wrong number or types of arguments in the call to 'TEST '.
    Error on line 34, column 5 in file E:\C\Test\tt.pc
    TEST(:test_cursor);
    +.... 1 +.
    PLS-S-00000, ignored statement
    A semantic error on line 33, column 1, folder E:\C\Test\tt.pc:
    BEGIN
    + 1 +
    PCC-S-02346, PL/SQL found semantic errors

    Can make a point about what could be the error?
    I work from oracle 8i client. that connects to oracle 9.0.1.
    Operating system is win 2000 sp4

    Oh yes - differs from the code snippet I posted your with the declaration of the host cursor variable. A difference in the case. Is how important it?

    ( it's been almost 10 years since I've coded last in Pro * C, so be careful with these questions! ) ;-) )

  • ORA-01031: insufficient privileges when connecting as SYSDBA

    I am trying to connect to the database and receiving "ORA-01031: insufficient privileges". Database version is 11.2.0.3 (standalone) on Linux.

    [oracle@dbserv admin] $ echo $ORACLE_HOME

    /U01/app/Oracle/product/11.2.0.3/db1

    [oracle@dbserv admin] $

    [oracle@dbserv admin] $ which sqlplus

    /U01/app/Oracle/product/11.2.0.3/db1/bin/sqlplus

    [oracle@dbserv dbs] $ sqlplus sys/oracle@newdb as sysdba

    SQL * more: Production release 11.2.0.3.0 Wed Aug 26 20:38:13 2015

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

    ERROR:

    ORA-01031: insufficient privileges

    Enter the user name:

    Password file has been created and is in $ORACLE_HOME/dbs location.

    [oracle@dbserv dbs] $ pwd

    /U01/app/Oracle/product/11.2.0.3/db1/DBS

    [oracle@dbserv dbs] $ ls - lrt * orapw *.

    -rw - r - 1 oracle oinstall 1536 26 August to 20:38 orapwnewdb

    To be clear, there is a version of GI 11.2.0.2 already installed with 11.2.0.2 RDBMS version on the same server (standalone).

    In addition, 11.2.0.3 has been installed on the same machine and a new listening port has been created on 11.2.0.3 home for databases residing on this House.

    Here are the details:

    [oracle@dbserv dbs] $ ps - ef | grep tns

    Oracle 4226 1 0 20:20?        00:00:00 /u01/app/oracle/product/11.2.0.2/grid/bin/tnslsnr EARPHONE-inherit

    Oracle 4239 1 0 20:20?        00:00:00 /u01/app/oracle/product/11.2.0.3/db1/bin/tnslsnr LISTENER_NEWDB-inherit

    Oracle 4599 3734 0 20:44 pts/2 00:00:00 grep tns

    [oracle@dbserv dbs] $ lsnrctl status LISTENER_NEWDB

    LSNRCTL for Linux: Version 11.2.0.3.0 - Production on August 26, 2015 20:44:32

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

    Connection to (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=dbserv.mydomain) (PORT = 1526)))

    STATUS of the LISTENER

    ------------------------

    Alias LISTENER_NEWDB

    Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production

    Start date August 26, 2015 11:20:20

    Uptime 0 days 0 h 24 min 21 sec

    Draw level off

    Security ON: OS Local Authentication

    SNMP OFF

    Parameter Listener of the /u01/app/oracle/product/11.2.0.3/db1/network/admin/listener.ora file

    The listener log file /U01/app/Oracle/diag/tnslsnr/dbserv/listener_newdb/alert/log.XML

    Summary of endpoints listening...

    (DESCRIPTION = (ADDRESS = (PROTOCOL = tcp)(HOST=dbserv.mydomain) (PORT = 1526)))

    (DESCRIPTION = (ADDRESS = (PROTOCOL = ipc) (KEY = EXTPROC1526)))

    Summary of services...

    Service 'SLAVE_PORT_NUM' has 1 instance (s).

    Instance of 'SLAVE_PORT_NUM', status UNKNOWN, has 1 operation for this service...

    The command completed successfully

    My bad. OP has already validated the status of the listener. I just forgot.

    I suspected to be an incompatibility with SID in regard to upper and lower case letters and now seem to be confident.

    The listener status indicates the name of the instance as SLAVE_PORT_NUM but OP said as slave_port_num lowercase. Let's take a look in the file of the listener.

    TNS ADMIN could also be a cause, but in this case, it could lift error related to the listener (TNS).

    OP, please send the contents of listener.ora crossing 11.2.0.3 House.

    -Jonathan Rolland

  • Error when calling stored procedure of backing bean

    I use Jdeveloper 11.1.1.6 and tries to use the following URL to execute a SP of a bean of support: http://ramannanda.blogspot.com/2011/11/optimized-update-insert-adf.html

    The reason why I'm interested in this is currently I coded my support bean to perform insertions and deletions by the use of my objects in view. I am the scene up to a combined 5-10 K, insertions and deletions and performance is rather slow. If there is a way to adjust the display objects as well as the validation is much faster, it is the preferred method. If this cannot be done then I would understand the approach identified in the URL.

    I've highlighted a section of code below fails when you use the approach of the URL. It-error with the following exception: javax.el.ELException: oracle.jbo.JboException: java.sql.SQLException: internal error: incompatible catalog view


    You have thoughts about what could cause this exception.





    create or replace
    TYP_TEST_R type is object
    (
    Test_Id Number (5.0).
    Test_Num Number (7.0)
    );


    create or replace
    type TYP_TEST_TB as the TYP_TEST_R table;



    {} private void myMethod (MyTableVORowImpl pCurrentRow)
    int i = 0;
    DCIteratorBinding = lDciter
    (DCIteratorBinding) getBindings () .get ("MyTable1Iterator");
    MyAppModuleAMImpl = lMyAppModuleAMImpl
    (MyAppModuleAMImpl) lDciter.getViewObject () .getApplicationModule ();
    Connection = lConnection
    lMyAppModuleAMImpl.getDBTransaction () .createStatement (1) .getConnection ();
    StructDescriptor lTblRecordStructType =
    StructDescriptor.createDescriptor ("DBADMIN. TYP_TEST_R,"
    lConnection);

    ... < additional logic here >...


    Object [] lArray = Object [lSortedDifferences.size (new)];
    all in (...) {
    Number lNumber =...
    Number of lDifferentStore = (Number) lDifferentIterator.next ();


    STRUCT lTempStruct =+ _
    new STRUCT (lTblRecordStructType, lConnection,+ _)
    * new Object() {pCurrentRow.getTestId (), * + _}
    ({ lDifferentStore}) ; +_
    lArray [i] = lTempStruct;
    i = i + 1;
    }

    create table structure descriptor
    ArrayDescriptor = lTableDesc
    ArrayDescriptor.createDescriptor ("DBADMIN. TYP_TEST_TB,"
    lConnection);
    create a type of table with the structure definition
    LTableArray = ARRAY
    New ARRAY (lTableDesc, lConnection, lArray);
    String lCallableProcedureStatement =
    "start DBADMIN. SP_TEST(?,?); end; « ;
    OracleCallableStatement lOracleCallableStatement = null;
    lOracleCallableStatement =
    (OracleCallableStatement) lMyAppModuleAMImpl.getDBTransaction (.createCallableStatement (lCallableProcedureStatement),
    (0);
    lOracleCallableStatement.setARRAY (1, lTableArray);
    lOracleCallableStatement.setString (2,
    (String) ADFUtil.evaluateEL("#{sessionScope['UserName']}"));
    lOracleCallableStatement.executeUpdate ();
    }

    Hello

    the user that executes the statement has the correct grant to the user-defined type?

    concerning
    Peter

  • ORA-01031 insufficient privilege when updating a table join

    Update (select a.f1, b.f2 FROM tableA a join tableB b using (fk))
    Set f1 = f2

    the user connection enough readonly privilege for tableB, but sql never update the tableB, why Oracle triggers the error?

    How can I implement the logic to update?

    UPDATE tablea a
    SET (f1, col) = (SELECT b.f2, b.col
    FROM tableb b
    WHERE = a.key b.key)

    If one given by Danish works, then you can simplify this in writing as it... even that request that eliminating two claims her...

    Ravi Kumar

    Published by: user10164479 on July 24, 2009 11:16

Maybe you are looking for