Alter session enable parallel dml

Is it necessary to alter session in oracle 11gR2 using "alter session enable parallel dml" to execute parallell DML?Oracle will not use Degree of parallelism in DML statement without altering session even if there is DOP mention in the DML query?
Thanks,

Yes, http://docs.oracle.com/cd/E11882_01/server.112/e25523/parallel003.htm#CACFJJGG
A DML statement can be parallelized only if you have explicitly enabled parallel DML in the session, as in the following statement:ALTER SESSION ENABLE PARALLEL DML;

Similar Messages

  • How to tell if a user is issuing 'alter session statements'

    When I run 'alter session' from sqlplus in my schema, this does not get parsed and go to v$sql or show up in v$open_cursor. I have a user that is running queries from informatica. He says he is passing alter session statements through informatica, I want to see if they actually get there. The person is not real versed in oracle and I don't know informatica.
    i cant turn on trace cause he connects and disconnects and this would run immediately, I am not in a position to turn on system level tracing, add a trigger, or turn on auditing (not allowed).
    anyway to tell from a data dictionary view or something like that if these were issued by a given session? The queries run for a few minutes, so I have a bit before his session disconnects to query the data. I can't get him to change his code to stay connected. Is there a view that shows parameter changes for a given session?
    oracle: 10.2.0.5
    4 alter session commands are:
    Alter session set sort_area_size=999999999;
    Alter session set hash_area_size=999999999;
    Alter session set db_file_multiblock_read_count = 128;
    alter session enable parallel dml;
    Edited by: Guess2 on Jul 17, 2012 12:49 PM

    i cant turn on trace cause he connects and disconnects and this would run immediately, I am not in a position to turn on system level tracing, add a trigger, or turn on auditing (not allowed). If Informatica connects to Oracle via network, capturing TCP/IP traffic and mining in it may be your last resort.
    you can get session's PDML status from
    select pdml_status from v$session;
    i cant turn on trace cause he connects and disconnects and this would run immediatelythis contradicts to your following statement
    The queries run for a few minutes, so I have a bit before his session disconnects to query the data.
    I can't get him to change his code to stay connected. Informatica should have debug. Ask him if he can go step by step.
    Edited by: user11181920 on Jul 17, 2012 5:53 PM

  • Enabling parallellism in oracle sql

    Hi All,
    I have a question related to parallilism enabling statements .
    I have seen that before running a sql statement we may use
    alter session enable parallel DDL;
    alter session enable parallel query;
    alter session enable parallel DML;
    What exactly these statement mean ??
    If i mention parallel hints like below statement ..
    select /*+ parallel(a,8) */ count(1) from customer a;
    parallelism won't happen Until session is altered with above statement ??
    Is thr any depedency b/w above 'alter session' statement and parallel hint in query .
    Thanks

    By default parallel execution is enabled for DDL and query statements. Unless you had turn it off somewhere then you need to manually enable it subsequentially.
    Overview of Parallel Execution
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/manproc.htm#sthref688
    for example, I login to my DB without issue enable statement.
    %sqlplus test/test
    SQL*Plus: Release 10.1.0.2.0 - Production on Tue Sep 1 12:15:26 2009
    Copyright (c) 1982, 2004, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    TEST@etest> set autotrace on
    TEST@etest> select /*+ parallel(a,8) */ count(1) from test a
      2  /
      COUNT(1)
             4
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=0 Card=1)
       1    0   SORT (AGGREGATE)
       2    1     PX COORDINATOR
       3    2       PX SEND* (QC (RANDOM)) OF ':TQ10000'                   :Q1000
       4    3         SORT* (AGGREGATE)                                    :Q1000
       5    4           PX BLOCK* (ITERATOR) (Cost=0 Card=4)               :Q1000
       6    5             TABLE ACCESS* (FULL) OF 'TEST' (TABLE) (Cost=0 C :Q1000
              ard=4)
       3 PARALLEL_TO_SERIAL
       4 PARALLEL_COMBINED_WITH_PARENT
       5 PARALLEL_COMBINED_WITH_CHILD
       6 PARALLEL_COMBINED_WITH_PARENT

  • Oracle 11.2 - Perform parallel DML on a non partitioned table with LOB column

    Hi,
    Since I wanted to demonstrate new Oracle 12c enhancements on SecureFiles, I tried to use PDML statements on a non partitioned table with LOB column, in both Oracle 11g and Oracle 12c releases. The Oracle 11.2 SecureFiles and Large Objects Developer's Guide of January 2013 clearly says:
    Parallel execution of the following DML operations on tables with LOB columns is supported. These operations run in parallel execution mode only when performed on a partitioned table. DML statements on non-partitioned tables with LOB columns continue to execute in serial execution mode.
    INSERT AS SELECT
    CREATE TABLE AS SELECT
    DELETE
    UPDATE
    MERGE (conditional UPDATE and INSERT)
    Multi-table INSERT
    So I created and populated a simple table with a BLOB column:
    SQL> CREATE TABLE T1 (A BLOB);
    Table created.
    Then, I tried to see the execution plan of a parallel DELETE:
    SQL> EXPLAIN PLAN FOR
      2  delete /*+parallel (t1,8) */ from t1;
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 3718066193
    | Id  | Operation             | Name     | Rows  | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
    |   0 | DELETE STATEMENT      |          |  2048 |     2   (0)| 00:00:01 |        |      |            |
    |   1 |  DELETE               | T1       |       |            |          |        |      |            |
    |   2 |   PX COORDINATOR      |          |       |            |          |        |      |            |
    |   3 |    PX SEND QC (RANDOM)| :TQ10000 |  2048 |     2   (0)| 00:00:01 |  Q1,00 | P->S | QC (RAND)  |
    |   4 |     PX BLOCK ITERATOR |          |  2048 |     2   (0)| 00:00:01 |  Q1,00 | PCWC |            |
    |   5 |      TABLE ACCESS FULL| T1       |  2048 |     2   (0)| 00:00:01 |  Q1,00 | PCWP |            |
    PLAN_TABLE_OUTPUT
    Note
       - dynamic sampling used for this statement (level=2)
    And I finished by executing the statement.
    SQL> commit;
    Commit complete.
    SQL> alter session enable parallel dml;
    Session altered.
    SQL> delete /*+parallel (t1,8) */ from t1;
    2048 rows deleted.
    As we can see, the statement has been run as parallel:
    SQL> select * from v$pq_sesstat;
    STATISTIC                      LAST_QUERY SESSION_TOTAL
    Queries Parallelized                    1             1
    DML Parallelized                        0             0
    DDL Parallelized                        0             0
    DFO Trees                               1             1
    Server Threads                          5             0
    Allocation Height                       5             0
    Allocation Width                        1             0
    Local Msgs Sent                        55            55
    Distr Msgs Sent                         0             0
    Local Msgs Recv'd                      55            55
    Distr Msgs Recv'd                       0             0
    11 rows selected.
    Is it normal ? It is not supposed to be supported on Oracle 11g with non-partitioned table containing LOB column....
    Thank you for your help.
    Michael

    Yes I did it. I tried with force parallel dml, and that is the results on my 12c DB, with the non partitionned and SecureFiles LOB column.
    SQL> explain plan for delete from t1;
    Explained.
    | Id  | Operation             | Name     | Rows  | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
    |   0 | DELETE STATEMENT      |          |     4 |     2   (0)| 00:00:01 |        |      |            |
    |   1 |  DELETE               | T1       |       |            |          |        |      |            |
    |   2 |   PX COORDINATOR      |          |       |            |          |        |      |            |
    |   3 |    PX SEND QC (RANDOM)| :TQ10000 |     4 |     2   (0)| 00:00:01 |  Q1,00 | P->S | QC (RAND)  |
    |   4 |     PX BLOCK ITERATOR |          |     4 |     2   (0)| 00:00:01 |  Q1,00 | PCWC |            |
    |   5 |      TABLE ACCESS FULL| T1       |     4 |     2   (0)| 00:00:01 |  Q1,00 | PCWP |            |
    The DELETE is not performed in Parallel.
    I tried with another statement :
    SQL> explain plan for
    2        insert into t1 select * from t1;
    Here are the results:
    11g
    | Id  | Operation                | Name     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
    |   0 | INSERT STATEMENT         |          |     4 |  8008 |     2   (0)| 00:00:01 |        |      |            |
    |   1 |  LOAD TABLE CONVENTIONAL | T1       |       |       |            |          |        |      |            |
    |   2 |   PX COORDINATOR         |          |       |       |            |          |        |      |            |
    |   3 |    PX SEND QC (RANDOM)   | :TQ10000 |     4 |  8008 |     2   (0)| 00:00:01 |  Q1,00 | P->S | QC (RAND)  |
    |   4 |     PX BLOCK ITERATOR    |          |     4 |  8008 |     2   (0)| 00:00:01 |  Q1,00 | PCWC |            |
    |   5 |      TABLE ACCESS FULL   | T1       |     4 |  8008 |     2   (0)| 00:00:01 |  Q1,00 | PCWP |            |
    12c
    | Id  | Operation                          | Name     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
    |   0 | INSERT STATEMENT                   |          |     4 |  8008 |     2   (0)| 00:00:01 |        |      |            |
    |   1 |  PX COORDINATOR                    |          |       |       |            |          |        |      |            |
    |   2 |   PX SEND QC (RANDOM)              | :TQ10000 |     4 |  8008 |     2   (0)| 00:00:01 |  Q1,00 | P->S | QC (RAND)  |
    |   3 |    LOAD AS SELECT                  | T1       |       |       |            |          |  Q1,00 | PCWP |            |
    |   4 |     OPTIMIZER STATISTICS GATHERING |          |     4 |  8008 |     2   (0)| 00:00:01 |  Q1,00 | PCWP |            |
    |   5 |      PX BLOCK ITERATOR             |          |     4 |  8008 |     2   (0)| 00:00:01 |  Q1,00 | PCWC |            |
    It seems that the DELETE statement has problems but not the INSERT AS SELECT !

  • Enable parallel processing

    Hello,
    I'm trying to enable parallel processing at the session level to force parallel processing on all DML and DDL statements regardless of object definition or lack of hints for DML. I thought the following would do the trick but it's not working. Wondering if I'm missing an instance setting. Thanks for any advice.
    alter session force parallel ddl parallel 2;
    alter session force parallel dml parallel 2;
    SQL>show parameter parallel
    NAME TYPE VALUE
    fast_start_parallel_rollback string LOW
    parallel_adaptive_multi_user boolean TRUE
    parallel_automatic_tuning boolean FALSE
    parallel_execution_message_size integer 2152
    parallel_instance_group string
    parallel_max_servers integer 160
    parallel_min_percent integer 0
    parallel_min_servers integer 0
    parallel_server boolean FALSE
    parallel_server_instances integer 1
    parallel_threads_per_cpu integer 2
    recovery_parallelism integer 0

    I think I see the problem. The statement that I was looking to force parallel processing was an alter table add col with default value. Reading the documentation :) and it states that the alter table statement can only be parallelized for partitioned tables - the table in question is not partitioned. Documentation also states that even with DML parallel enabled the DML operation may still execute serially if there are no parallel hints or no tables with a parallel attribute or if restrictions on parallel operations are violated, i.e. Parallel DML operations cannot be done on tables with triggers.
    The problem for me is that I'm dealing with a 3rd party vendor script that I do not want to modify it (very long, complex PL/SQL with dynamic SQL), among other things the script alters high volume tables with default values, before it alters the table it renames it as table_old and then re-creates as ctas from old, so enabling parallel at the object level is only viable if I modify the script. Same thing with hints.

  • Executing alter system enable restricted session on RAC nodes

    alter system enable restricted session command enables restricted mode only on the node on which it runs. I need that all nodes entering this node after executing this statement.
    Please help.

    Something like this using ssh and ksh:
    export db_name=<your database name as appears in crs_stat>
    srvctl status database -d ${db_name} | while read a inst b c d e node
    do
    ssh -f $node "print $inst | . oraenv; print 'alter system enable restricted session;' | sqlplus / as sysdba"
    done
    or you using dbms_job (old but easer to tie to instance than dbms_scheduler):
    declare
    job binary_integer;
    begin
    for i in (select inst_id from gv$instance)
    loop
    dbms_job.submit (
    job=>job,
    what=> 'begin execute immediate ''alter system enable restricted session''; end;',
    instance=>i.inst_id
    commit;
    end loop;
    end;
    /

  • Is parallel DML transactionally equivalent to non parellel DML?

    So I've got a whole bunch of insert into select statements where I have parallel hints on my inserts.
    if I have parent object A and child object B
    I fetch all the A's I want to move and use FORALL (with FETCH LIMIT ie.batches)
    to insert all the A's in the parent table. I also store the pk's of batch A so that I can use those in a join to identify the B's for this batch of A's.
    INSERT /*+ parallel(arch,4) */ INTO ARCHIVED_A arch
    SELECT *
    FROM NONARCHIVED_A non_arch
    WHERE EXISTS (
    SELECT 1
    FROM ids i
    WHERE non_arch.ot_id = i.ot_id);
    something like that.
    I am finding that this works fine when I don't use parallel DML
    whenever I use parallel DML I end up with the A's archived but no B's.

    From: http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/usingpe.htm#i1006876
    A session that is enabled for parallel DML may put transactions in the session in a special mode: If any DML statement in a transaction modifies a table in parallel, no subsequent serial or parallel query or DML statement can access the same table again in that transaction. This means that the results of parallel modifications cannot be seen during the transaction.
    Serial or parallel statements that attempt to access a table that has already been modified in parallel within the same transaction are rejected with an error message.So it's not quite "transactionally equivalent", in the sense that you cannot read the changes made by a parallel DML statement: you must commit them first.
    Could your code be loosing the error message (that you will get if you try to read your changes) in some when-others handler?

  • Alter session set NLS_DATE_FORMAT and to_date not working

    Hey folks,
    for the sake of simplicity let's assume i want to get the current system time from the table dual in a certain format, e.g. 'YY.MM.DD'.
    Currently the query
    select sysdate from dual;
    yields:
    07-JAN-08
    The desired output should look like this:
    08.01.07
    So, according to the manual, i tried the following:
    alter session set NLS_DATE_FORMAT = 'yy.mm.dd';
    No effect, date is still displayed as
    07-JAN-08
    Even the following query:
    select TO_DATE (sysdate, 'yy.mm.dd') from dual;
    yields
    07-JAN-08
    What am i doing wrong here?
    Additional information:
    -> DB is Oracle 9
    -> I am using the Oracle SQL Developer under Ubuntu Gutsy
    -> No, i did not forget to commit my commands....:-)
    Any ideas?

    select TO_CHAR (sysdate, 'yy.mm.dd') from dual;However the alter session command should work:
    SQL*Plus: Release 9.2.0.2.0 - Production on Mon Jan 7 14:32:26 2008
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.8.0 - Production
    SQL> alter session set NLS_DATE_FORMAT = 'yy.mm.dd';
    Session altered.
    SQL> select sysdate from dual;
    SYSDATE
    08.01.07
    SQL> Note: There is nothing to commit here. Only selects, no DML.
    Message was edited by:
    Sven W.

  • Confuse on alter session

    Hi,
    I was trying to enable the sql_trace or the events for me to start the tracing utility. I got this following output:
    rrkr@ORA10G> alter session set timed_statistics=true;
    Session altered.
    rrkr@ORA10G> alter session set events '10046 trace name context forever, level 12';
    ERROR:
    ORA-01031: insufficient privileges
    rrkr@ORA10G> alter session set sql_trace=true;
    alter session set sql_trace=true
    ERROR at line 1:
    ORA-01031: insufficient privileges
    -- at another session
    rrkr_dba@ORA10G> grant alter session to rrkr;
    Grant succeeded.
    --- back to the first session
    rrkr@ORA10G> alter session set sql_trace=true;
    Session altered.
    rrkr@ORA10G>As you can see I got to execute the timed_statistics, but not the sql_trace. How did that happen if I really dont have the alter session priviledge? Thank you.
    Regards,
    Rhani

    It seems Oracle first checks whether it has to change anything.
    It doesn't need to change anything, the statements succeeds, without having checked whether the session has privilege to change the session.
    In other cases, you had to change something, privileges were checked, and you got an error.
    Privilege checking should occur first.
    The internal algorithm is fundamentally flawed.
    Sybrand Bakker
    Senior Oracle DBA

  • How to enable Parallelism process in 10.1.0.5 database

    Hi All,
    We have oracle database 10.1.0.5 running in windows 2003 server.
    I am trying to enable parallelism process in the database by including the following init parameters
    PARALLEL_AUTOMATIC_TUNING
    PARALLEL_SERVER
    PARALLEL_MIN_SERVERS
    PARALLEL_MAX_SERVERS
    But while i am trying to bring the database i am getting an error message like these parameter has been deprecated.
    Could anyone help me to enable parallel process in 10g database.
    Thanks in advance.
    Regards
    Aruna

    >
    I am trying to enable parallelism process in the database by including the following init parameters
    PARALLEL_AUTOMATIC_TUNING
    PARALLEL_SERVER
    PARALLEL_MIN_SERVERS
    PARALLEL_MAX_SERVERS
    But while i am trying to bring the database i am getting an error message like these parameter has been deprecated.
    >
    PARALLEL_AUTOMATIC_TUNING is deprecated since 10g. It's always true now. PARALLEL_SERVER is related to OPS (prior to RAC) and long time deprecated.
    You enable parallel query with an ALTER TABLE statement like
    SQL> ALTER TABLE SALES PARALLEL;or with a hint like
    SQL> select /*+ parallel(sales) */ * from sales;Kind regards
    Uwe
    http://uhesse.wordpress.com

  • Alter session attributes in OBIEEreports

    Hi All,
    I want to know whethe I can 'alter session' before the SQL generated by OBIEE automatically?
    If yes, how should I configure it?
    Thank you in advance.
    Leon

    Hi Leon,
    I think that option a) is used for each connection and option b) for each SQL statement.
    Maybe something is available in the front-end that will enable you to execute the ALTER SESSION ahead of a specific statement... but I am not aware of that.
    If you want to use ALTER SESSION only for SQL commands on a specific set of tables, you can try to create a new physical database / business model / presentation catalog specifically for those requests? Then you can use option a) and or b)..
    Regards,
    Marco
    Edited by: m.siliakus on Feb 21, 2011 3:12 PM

  • Ability to perform ALTER SESSION SET SQL TRACE but not all alter clauses

    I see that in order to run the ALTER SESSION SET SQL TRACE command, the user should be explicitly granted alter session privilege as the CREATE SESSION privilege alone is not enough. Is there a way to grant the ability to perform ALTER SESSION SET SQL TRACE but not the other clauses such as GUARD, PARALLEL & RESUMABLE?.
    Thanks
    Sathya

    If you are using Oracle 10g and above, you can use DBMS_SESSION.session_trace_enable procedure,
    it doesn't require alter session system privilege.
    Simple example:
    SQL> connect test/test@//192.168.1.2:1521/xe
    Connected.
    SQL> alter session set tracefile_identifier='my_id';
    Session altered.
    SQL> alter session set sql_trace = true
      2  ;
    alter session set sql_trace = true
    ERROR at line 1:
    ORA-01031: insufficient privileges
    SQL> execute dbms_session.session_trace_enable;
    PL/SQL procedure successfully completed.
    SQL> select * from user_sys_privs;
    USERNAME                 PRIVILEGE                    ADM
    TEST                      CREATE PROCEDURE                NO
    TEST                      CREATE TABLE                    NO
    TEST                      CREATE SEQUENCE                    NO
    TEST                      CREATE TRIGGER                    NO
    TEST                      SELECT ANY DICTIONARY               NO
    TEST                      CREATE SYNONYM                    NO
    TEST                      UNLIMITED TABLESPACE               NO
    7 rows selected.
    SQL> execute dbms_session.session_trace_disable;
    PL/SQL procedure successfully completed.
    SQL> disconnect
    Disconnected from Oracle Database 10g Release 10.2.0.1.0 - Productionand here is result from tkprof:
    TKPROF: Release 10.2.0.1.0 - Production on So Paź 23 00:53:07 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Trace file: xe_ora_176_my_id.trc
    ( ---- cut ---- )
    select *
    from
    user_sys_privs
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.08       0.08          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch        2      0.01       0.01          0         15          0           7
    total        4      0.09       0.09          0         15          0           7
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 61 
    Rows     Row Source Operation
          7  HASH GROUP BY (cr=15 pr=0 pw=0 time=11494 us)
          7   CONCATENATION  (cr=15 pr=0 pw=0 time=4913 us)
          0    MERGE JOIN CARTESIAN (cr=4 pr=0 pw=0 time=1169 us)
          0     NESTED LOOPS  (cr=4 pr=0 pw=0 time=793 us)
          0      TABLE ACCESS FULL SYSAUTH$ (cr=4 pr=0 pw=0 time=592 us)
          0      INDEX RANGE SCAN I_SYSTEM_PRIVILEGE_MAP (cr=0 pr=0 pw=0 time=0 us)(object id 312)
          0     BUFFER SORT (cr=0 pr=0 pw=0 time=0 us)
          0      TABLE ACCESS FULL USER$ (cr=0 pr=0 pw=0 time=0 us)
          7    NESTED LOOPS  (cr=11 pr=0 pw=0 time=3429 us)
          9     HASH JOIN  (cr=9 pr=0 pw=0 time=2705 us)
          9      TABLE ACCESS FULL SYSAUTH$ (cr=4 pr=0 pw=0 time=512 us)
         63      TABLE ACCESS FULL USER$ (cr=5 pr=0 pw=0 time=914 us)
          7     INDEX RANGE SCAN I_SYSTEM_PRIVILEGE_MAP (cr=2 pr=0 pw=0 time=510 us)(object id 312)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       2        0.00          0.00
      SQL*Net message from client                     2       20.64         20.65
    BEGIN dbms_session.session_trace_disable; END;
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.01       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           1
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.01       0.00          0          0          0           1
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 61 

  • 'alter session' command generating a vast number of audit files

    Oracle: 10.2.0.5
    OS: HP Itanium.
    We have requirements to turn on auditing to the operating system for security purposes. We have only set the init.ora parameters and have not actually enabled any sql statement tracing yet. The parameters we have set are:
    audit_file_dest
    audit_sys_operations=true
    audit_trail =xml, extended (the xml is based on requirements).
    We have a login trigger that runs 'alter session set current_schema=<>' This has been a part of the application for years. Every time someone logs in this gets set.
    We are getting 1 trace file every time this is run.
    Is this from the audit_sys_operations?
    I ran some queries of the Audit views and I don't think we have anything turned on. This is an old legacy system so someone may have issued some commands at some point in the past. There are a lot of views and I may have missed this.
    How do we disable auditing the 'alter session commands' ?
    Edited by: Guess2 on Sep 17, 2012 6:46 AM

    Hi,
    You could try: noaudit alter session;
    Regards,

  • Create view and alter Session gets 0RA-01031

    I can't create a view after using ALTER SESSION set current_schema without using an explicit schema. I get ORA-01031. Is this a known bug? Here are the details:
    1. Log on as SYSTEM
    2. ALTER SESSION set current_schema=FRED;
    3. CREATE VIEW vFoo as select * from Foo;     -- ORA-01031: insufficient privileges
    4. CREATE VIEW FRED.vFoo as select * from Foo;     -- this works!
    I've read where some privileges need to be granted directly. In fact, if Fred grants select privilege on Foo to SYSTEM, the statement in #3 above works. However, something doesn't seem right because why does #4 succeed without the GRANT?
    In case you're wondering why I don't just use #4 above, which does work, it's because I've got a script that will be run by customers to create tables, views, etc. in an arbitrary schema and the schema is associated with a user with limited permissions. Hence, the use of the ALTER SESSION.

    See, You looged as SYSTEM (Scheme = SYSTEM)
    Now you alter your session to another schema FRED.
    Now if you want to access SCHEMA of FRED, You need to connect first.
    SQL > connect user/password@host
    Then
    SQL > CREATE VIEW vFoo as select * from Foo;
    View created.

  • RMAN-10006: error running SQL statement: alter session set remote_dependenc

    Backups are failing with following error
    RMAN-00554: initialization of internal recovery manager package failed
    RMAN-12001: could not open channel default
    RMAN-10008: could not create channel context
    RMAN-10002: ORACLE error: ORA-00096: invalid value SIGNATURE for parameter remote_dependencies_mode, must be from among MANUAL, AUTO
    RMAN-10006: error running SQL statement: alter session set remote_dependencies_mode = signature
    Not able to change to signature
    SQL> alter session set remote_dependencies_mode=signature;
    ERROR:
    ORA-00096: invalid value SIGNATURE for parameter remote_dependencies_mode, must
    be from among MANUAL, AUTO
    I dont see MANUAL or AUTO as valid value for this parameter (http://download.oracle.com/docs/cd/B10501_01/server.920/a96536/ch1175.htm#1023124) DB version is 9.2.0
    Parameter type
    String
    Syntax
    REMOTE_DEPENDENCIES_MODE = {TIMESTAMP | SIGNATURE}
    Default value
    TIMESTAMP
    Parameter class
    Dynamic: ALTER SESSION, ALTER SYSTEM
    =======================================
    I believe it could be because of following bug
    "A PRE-PATCHED ORACLE IMAGE CAN BE INSTALLED IN MEMORY "
    Refer: "https://metalink2.oracle.com/metalink/plsql/f?p=130:15:1613505143885559758::::p15_database_id,p15_docid,p15_show_header,p15_show_help,p15_black_frame,p15_font:BUG,4610411,1,1,1,helvetica"
    I appreciate your effort in fixing this issue.
    Edited by: user10610722 on Nov 25, 2008 4:37 PM

    Hi:
    It seems when you are starting RMAN it's executing some commands (one 'ALTER SESSION...'. It's seems to be a batch which has a bad value for SORT_AREA_SIZE. Find it and modify to a proper value as message shows. If you can't find start RMAN by calling directly the executable ($ORACLE_HOME/bin/rman or %ORACLE_HOME%/bin/rman.exe).

Maybe you are looking for

  • Group is not assigned error in LSWM when uploading Routings

    Hi All, I am trying to upload the routings using LSMW Direct Input method using program RCPTRA02. While executing the lsmw, i am getting an error " Group cannot be determined for material XXXXXXXX plant XXXXX". But the SAP has to assign the Group whi

  • Poor reflow on Reader for Android

    On opening a new PDF in Adobe Reader on my Samsung Galaxy SII and setting the display to reflow some of the paragraphs in the document are broken up so they dispay as if there are lots of little paragraphs instead of one paragraph. When I open the sa

  • Order-related intercompany BIlling - RVIVAUFT

    Dear SAP Experts, Currently I am doing the Order-related intercompany Billing, However the 2nd billing document is not created. I have referred to OSS notes and they are referring to report RVIVAUFT and the output type RDIV and copy control settings.

  • MC in a MC

    Hey Guys, Here is my basic build up Menu (MC)      Btn1      Btn2      Btn3 Content (MC)      Frame1      Frame2      Frame3 I want the buttons in the MenuMc to control the frames in the ContentMc. Whats wrong? (This is the code in the MenuMC, of cou

  • Problem with XI objects transport - Unable to set import lock for SWC

    Hi guys! I try to import objects from dev to qa but I'm getting following error: Unable to set import lock for software component version SWC_xxxx , 1.0 of company.com because user OSALUDEW is currently importing data to this component Try again once