Calling procedure dynamically, from different schema, permissions issue

Hi,
I have a 'master_user' schema that needs to run DDL on a 'secondary_user' schema.
There appears to be some kind of permissions subtlety that I'm missing. Here are the simplified steps to create, test and troubleshoot:
Secondary schema has a procedure defined:
-- Run as SYSTEM (at build time)
CREATE OR REPLACE PROCEDURE secondary_user.execute_immediate(p_sql_statement IN VARCHAR2)
IS
BEGIN
    EXECUTE IMMEDIATE p_sql_statement;
END;
GRANT EXECUTE ON secondary_user.execute_immediate TO master_user;
I then want to call this procedure from master_user to execute DDL dynamically in secondary_user.
- Run as master_user
BEGIN
    EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
END;
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at SECONDARY_USER.EXECUTE_IMMEDIATE", line 5
ORA-06512: at line 1
ORA-06512: at line 2
TROUBLESHOOTING SO FAR:
Now I can call this procedure directly:
-- As master_user
EXEC secondary_user.execute_immediate('drop table test1')
PL/SQL procedure successfully completed.
I can call the wrapped procedure as different users:
-- As secondary_user
BEGIN
    EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
END;
PL/SQL procedure successfully completed.
-- As SYSTEM
BEGIN
    EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
END;
PL/SQL procedure successfully completed.
Can you shed any light on this behaviour? The master_user clearly has permission to run the procedure, but it cannot see it from within an anonymous block. However SYSTEM can so what permission does SYSTEM have that master_user does not?
Much appreciated,
Si

Something doesn't add up:
SCOTT@orcl > create user secondary_user
  2  identified by secondary_user
  3  default tablespace users
  4  quota unlimited on users
  5  /
User created.
SCOTT@orcl > grant create session to secondary_user
  2  /
Grant succeeded.
SCOTT@orcl > create user master_user
  2  identified by master_user
  3  default tablespace users
  4  quota unlimited on users
  5  /
User created.
SCOTT@orcl > grant create session to master_user
  2  /
Grant succeeded.
SCOTT@orcl > CREATE OR REPLACE PROCEDURE secondary_user.execute_immediate(p_sql_statement IN VARCHAR2)
  2
  3  IS
  4
  5  BEGIN
  6
  7      EXECUTE IMMEDIATE p_sql_statement;
  8
  9  END;
10
11  /
Procedure created.
SCOTT@orcl > GRANT EXECUTE ON secondary_user.execute_immediate TO master_user;
Grant succeeded.
SCOTT@orcl >
SCOTT@orcl > create table secondary_user.test1(n number)
  2  /
Table created.
SCOTT@orcl > connect master_user@orcl
Enter password:
Connected.
MASTER_USER@orcl > BEGIN
  2
  3      EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
  4
  5  END;
  6
  7  /
PL/SQL procedure successfully completed.
MASTER_USER@orcl >
Make sure table secondary_user.test1 exists when you run SP. And, as you can see, neither secondary_user nor master_user have any privs besides create session.
SY.

Similar Messages

  • Accessing tables from different schema in CDS and AMDP

    Hi All,
    We are working on a HANA system which has several schema replicated from SAP R/3/Non SAP systems. We have BW 7.4 SP9 deployed on the same system and accessing the HANA views using latest BW virtual objects such as Open ODS , Composite providers etc.
    We are also using the BW system for few ABAP based data processing developments. We are currently accessing HANA views in ABAP programs by creating dictionary views based on external HANA views.
    We would like to however use recent possibilities of CDS and AMDP for better life cycle management of ABAP based solutions. The open SAP course on this subject was of very good help. Thanks a lot "open SAP team" for that. I would however have few open questions,
    As I understand AMDP gives us full flexibility of writing sql procedures within ABAP development environment, but can we access tables from different schema into AMDP code. If yes, then sample code would help.
    If the answer of first question is yes, then how do we manage transports between development and production systems where the schema names would be different. Currently in open HANA developments, such transport is manged using Schema mapping.
    Can I also use different schema tables in CDS views.
    We are updating few tables in ABAP dictionary after applying processing logic in ABAP program as detailed in step 1. With the new approach using AMDP, can we directly update database schema tables which will give us an optimization advantage.
    New ABAP HANA program interfaces are quite promising and we would like to use them to optimize many data intensive applications.
    Thanks & Regards,
    Anil

    Hi Anil,
    I can only answer 1. and 2. (and would be interested into 3. as well):
    1.
    Yes you can access tables from a different schema and also HANA views. In this case no 'using' is needed.
    Examples:
        RESULT = SELECT
        FROM
              "SAP_ECC"."T441V" AS t,
              "_SYS_BIC"."tmp.package/AFPO" AS a.
        WHERE ...
    2. In this case, if you need schema mapping: You could use HANA (projection) views which just forward to a different schema, also see example.
    Best regards,
    Christoph

  • No Easy Way to Join on Tables from Different Schemas

    Hi,
    The company policy does not allow to join on tables from different schemas or use db links...
    I'm tasked to come up with a Perl script that does exactly that - allows for the SELECT statement to do several joins on 3 different schemas. In addition 1 of the schemas is on the different host altogether.
    Upping the privileges for my user and allowing db links is not an option...Can someone, please help me to understand on a conceptual level how would I use Perl and what logic would it have and what would it (perl) do?
    Thank you,

    Court in the wrong job... ;)
    It's like a librarian who is a hard rock artist maintaining the silence in the premises. ;)
    My dear friend, i don't think this is the right place for your requirement. This is the PL/SQL forum. If you have any problem related PL/SQL or SQL you can place that here.
    Regards.
    Satyaki De.

  • To call from different schemas

    Good Morning Everyone,
    Is it possible to call different environments DB?
    We have test1 and test2 environments. There are 2 tables contact and users table in both environments.
    T.Contact T.User
    T1.User
    The contact is reference table and have to update user table ID.
    If we had a same DB, we could use like this: assumptions.
    UPDATE T.Contact
    SET USER_ID IN (SELECT USER_ID FROM T.User A, T.Contact B , T1.User C
    WHERE
    A.LNAME = C.LNAME
    AND A.FNAME = C.FNAME
    AND A. USER_ID = B.USER_ID
    If you have expereinces in this issue, please share with us.
    Thanks
    S!G

    Answers:
    If different environments mean different schemas, then YES
    If different environments mean different connects from client side, then NO.
    However: You can make them into one "environment" by using database links as it had been mentioned before.
    Furthermore: Your query is not good.
    It is syntactically wrong and it is logically wrong.
    It uses the Table CONTACT two times and therefore would end up in updating all rows, even if the sytax problem is solved.
    A better approach could look like this, but there is still room for optimization:
    UPDATE T.Contact u
    SET u.status = 'is a remote user'
    WHERE u.USER_ID IN (SELECT A.USER_ID
                   FROM T.User A
                   JOIN T1.User C on A.LNAME = C.LNAME
                                     AND A.FNAME = C.FNAME)

  • Analytic View with tables from different schema

    Hi,
    I'm curious if I make something wrong or if this is not possible:
    I want to use two tables each in a different schema. I can drop them into the DataFoundation, can connect them, assign them some measure. But activation fails due to insufficient privileges. When I use the tables from the same schema activation works well. With the insufficient privileges I would guess HANA cannot create a View (failed with the statement CREATE COLUMN_VIEW "_SYS_BIC"."USER/ANALYTIC_VIEW_NAME"....).
    Since I tried the same assignment with the System-User and failed I wonder what kind of permissions are required. Or is this generally not allowed (resp. prohibited)?
    If not allowed, could somebody give me a hint, why its not possible?
    If it is possible, what kind of rights are required to get it working?
    roland

    Hm', I have allowed SYS_REPO the rights to the table and was able to activate the view. But now I have the problem, that the DataPreview is not working (again insufficient privileges). What user has to have additional permissions for the JDBC-query?
    Do I have to take care more on the privileges for other things?

  • Query from different schema

    I am using oracle sqldeveloper. I am trying to run a query on a different schema. Whenever I run the following:
    Select *
    From SchemaA.Users us
    Order by US.last_name asc
    I get the following error:
    US.last_name: invalid identifier.
    I would get the same error when I place a where clause on the end as well. I am sure it is an error in syntax. Nonetheless, I am not sure how to correctly write the query. Any help on this topic would be great. Thanks in advance.

    Hi,
    NewApexCoder wrote:
    I am using oracle sqldeveloper. I am trying to run a query on a different schema. Whenever I run the following:
    Select *  
    From SchemaA.Users us  
    Order by US.last_name asc 
    I get the following error:
    US.last_name: invalid identifier.
    I would get the same error when I place a where clause on the end as well. I am sure it is an error in syntax. Nonetheless, I am not sure how to correctly write the query. Any help on this topic would be great. Thanks in advance.
    I don't see anything obviously wrong with the syntax, or ianything else in that code.  You didn't post CREATE TABLE and INSERT statements for the USERS table, so I can't actually test it, but I can run very similar queries, like this:
    SELECT    *
    FROM      scott.dept  sd
    ORDER BY  sd.dname  ASC
    Are you sure there's a column called LAST_NAME in the SCHEMAA.USERS table?  If I spell DNAME wrong, then the query above gets the "invalid identifier"  error, just like yours.
    USERS is an Oracle keyword, so it's not a very good table name.  That's almost certainly not what's causing this problem, however.

  • How to call java files from different directories

    hi, how do i call java files from a different directory??
    let say i got partA.java, and i need to include functions from partB.java which is in a different folder. how can i do that?

    Chicon wrote:
    Hi nuttynibbles,
    Before the class declaration in partA.java, you must have an import statement like :
    import someDirectory.partB;
    public class partA {
    ... and before you ask... you'll probably want to read through this http://java.sun.com/docs/books/tutorial/java/package/index.html

  • Read tables from different schemas in oracle

    Hi, I'm trying to write a code to run a query to get data from an Oracle server, the problem is that the query refers to multiple tables in multiple schemas... the regular way to do it in oracle (SCHEMANAME.TABLENAME) does not work in excel vba query and
    I cant find a way to so, any help will be really appreciated, below a sample code with one table from WWPP schema.....
    Const DB As String = "Driver={Microsoft ODBC for Oracle};" & _
                         "CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=1526))(CONNECT_DATA=(SERVICE_NAME=MyName)));" & _
                         "Uid=MyID;Pwd=MyPwd*;"
    Sub test()
        Dim cnt As ADODB.Connection, rst As ADODB.Recordset
        Set cnt = New ADODB.Connection
        Set rst = New ADODB.Recordset
        cnt.Open DB
        (I also tried this but didn't work) -> cnt.Execute "ALTER SESSION SET CURRENT_SCHEMA=WWPP"
        rst.Open "SELECT * FROM WWPP.SO_LIFE_CYCLE_BACKLOG_RP", cnt, adOpenDynamic, 2
        If rst.EOF = False Then
            Sheet1.Cells(2, 2).Select
            Selection.CopyFromRecordset rst
        End If
        rst.Close
    End Sub
    Oscar Marquez

    1) Posting the error number (i.e. ORA-00942) in addition to the error message is often quite helpful since that's generally far easier to look up and far less likely to get confused in translation.
    2) Are you using an invoker's rights stored procedure? Or a definer's rights stored procedure? If you're not sure, the default is definer's rights.
    3) How has YFS been granted access to the Y_PS table? My hunch is that it was granted access via a role, not via a direct grant. Privileges granted through a role would be available for ad hoc SQL queries, but those privileges are not available to a definer's rights stored procedure. A definer's rights stored procedure only has access to the privileges granted directly to the owner.
    If my hunch is correct, you'd either have to directly grant YFS access to the table(s) it needs to access in other schemas or you'd need to make the stored procedure use invoker's rights, which may have ripple effects down the line if users other than YFS are going to be running the procedure.
    Justin

  • Calling Procedure B from Procedure A having parameters

    Hi,
    I have two procedures, I m registering first procedure as a concurrent program  like  XXXpackage.main
    I want to call Procudure new_segments_id from Procedure main.
    I need l_old_id  parameter for new_segments_id procedure, so I m passing to main procedure.
    Now, how should i call new_segments_id procedure from main procedure.
    Procedure main(
                           errbuf       OUT VARCHAR2
                          ,retcode    OUT VARCHAR2
                          ,l_old_id    IN  NUMBER
    Procudure new_segments_id(l_old_id    IN  NUMBER
                                             ,l_new_id   OUT NUMBER
    Thanks.

    Not sure if this is what exactly you want but below is an example of propagation of OUT parameters of one procedure as IN parameters to the another procedure within the same package.
    SQL> CREATE OR REPLACE
      2  PACKAGE PACKAGE_TEST
      3  AS
      4    PROCEDURE procedure_1(
      5        out_ename OUT VARCHAR2);
      6    PROCEDURE procedure_2(
      7        v_ename VARCHAR2);
      8  END PACKAGE_TEST;
      9  /
    Package created.
    SQL> CREATE OR REPLACE
      2  PACKAGE body package_test
      3  IS
      4  PROCEDURE procedure_1(
      5      out_ename OUT VARCHAR2)
      6  AS
      7    v_ename VARCHAR2(200) := 'SMITH' ;
      8  BEGIN
      9    SELECT
    10      ename
    11    INTO
    12      out_ename
    13    FROM
    14      emp
    15    WHERE
    16      ename = v_ename;
    17    DBMS_OUTPUT.PUT_LINE('PROCEDURE 1');
    18    procedure_2(out_ename);
    19  END;
    20
    21  PROCEDURE procedure_2(
    22      v_ename VARCHAR2)
    23  IS
    24  v_count number;
    25  BEGIN
    26    DBMS_OUTPUT.PUT_LINE('PROCEDURE 2');
    27    dbms_output.put_line(V_ENAME);
    28    select count(*) into v_count from emp where ename = v_ename;
    29    dbms_output.put_line('COUNT is ' || v_count);
    30  END;
    31  END;
    32
    33  /
    Package body created.
    SQL> DECLARE
      2    ENAME VARCHAR2(5);
      3  BEGIN
      4    package_test.procedure_1(ENAME);
      5  END;
      6  /
    PROCEDURE 1                                                                   
    PROCEDURE 2                                                                   
    SMITH                                                                         
    COUNT is 1                                                                    
    PL/SQL procedure successfully completed.
    Ishan.

  • Can we join table from different schema?

    Hi
    All,
    I have a SYS schema and MED schema. Now, I want to join DBA_USERS tables from SYS schema to EMPLOYEE table from MED schema to get an username. i am using following query but it's not working.
    select username,empl_userid,empl_nm_lst,empl_nm_fst from sys.dba_users db, med.employee emp where db.username = emp.empl_userid;
    Thanks,
    vishal

    g8 it is working now I just modify my query to make user name in upper case and then compare..
    select username,empl_userid,empl_nm_lst,empl_nm_fst from sys.dba_users db, med.employee emp where db.username = upper(emp.empl_userid);
    before that it was returning nothing..
    thanks for your help ... awesome..
    vishal
    Edited by: vishal patel on Sep 29, 2008 2:39 PM
    Edited by: vishal patel on Sep 29, 2008 2:40 PM

  • Provide a way to distinguish same object from different schema

    Hi there,
    When the same object is present in different schema and loaded into sql developer, there no chance to distinguish at first sight to which connection (or schema) the object belong.
    Example :
    DbConnection1 -> tables -> my_table
    DbConnection2 -> tables -> my_table
    when both are "loaded" (visible as a tab on the right side of sql developer)...i have no chance to find visually which "my_table" tab belong to "DbConnection1" or to "DbConnection2"...
    Regards,
    Pierre-Yves

    Thanks.
    A good idea would be to provide an option in "Preferences" to activate (or not) the display of the connection info directly in the tab name (my_table@dbConnection1).
    Regards,
    Pierre-Yves

  • Calling a Smartform from different driver programs

    Hi everyone,
    I have two driver programs and from both these programs i'm calling the same Smartform.
    I have a field in smartform. and i want it to be printed for one program but not printed when the
    smartform is called from the second program.
    Pls. can anyone help me out about how this can be achieved.
    Thanks in advance.
    Regards
    Tanu

    Create an import parameter (flag) in your smartform interface and when you call your smartform from one of these drivers pass assume 'X' value to this flag. And add a condition for the field you want to hide. like below. 
    if flag = 'X'
    show or don't show.
    endif.
    Edited by: Gungor Ozcelebi on Jul 3, 2009 5:08 PM

  • Permisssion for executing procedure from different schema

    Hi ,
    I am executing following procedure in different package and, I am getting error. Following procedure and error:
    Procedrue:
    DECLARE
    l_tbl_timecard_info APPS.HXC_self_service_time_deposit.timecard_info;
    l_tbl_attributes_info APPS.HXC_self_service_time_deposit.app_attributes_info;
    l_tbl_messages APPS.HXC_self_service_time_deposit.message_table;
    l_new_timecard_id NUMBER;
    l_new_timecard_ovn NUMBER;
    l_time_building_block_id APPS.HXC_time_building_blocks.time_building_block_id%TYPE;
    begin
    --FND_GLOBAL.APPS_INITIALIZE( user_id => 12345,resp_id => 56789,resp_appl_id => 809 );
    APPS.HXC_timestore_deposit.create_time_entry ( p_measure=> 7, p_day => APPS.fnd_date.canonical_to_date ('2002/09/02'), p_resource_id=> 9389, -- Identifies a person on our DB, REPLACE WITH YOUR IDs
    p_app_blocks=> l_tbl_timecard_info, p_app_attributes=> l_tbl_attributes_info, p_time_building_block_id=> l_time_building_block_id);
    end;
    Error:
    Error starting at line 1 in command:
    DECLARE
    l_tbl_timecard_info APPS.HXC_self_service_time_deposit.timecard_info;
    l_tbl_attributes_info APPS.HXC_self_service_time_deposit.app_attributes_info;
    l_tbl_messages APPS.HXC_self_service_time_deposit.message_table;
    l_new_timecard_id NUMBER;
    l_new_timecard_ovn NUMBER;
    l_time_building_block_id APPS.HXC_time_building_blocks.time_building_block_id%TYPE;
    begin
    --FND_GLOBAL.APPS_INITIALIZE( user_id => 12345,resp_id => 56789,resp_appl_id => 809 );
    APPS.HXC_timestore_deposit.create_time_entry ( p_measure=> 7, p_day => APPS.fnd_date.canonical_to_date ('2002/09/02'), p_resource_id=> 9389, -- Identifies a person on our DB, REPLACE WITH YOUR IDs
    p_app_blocks=> l_tbl_timecard_info, p_app_attributes=> l_tbl_attributes_info, p_time_building_block_id=> l_time_building_block_id);
    end;
    Error report:
    ORA-00942: table or view does not exist
    ORA-06512: at "APPS.HXC_TIMESTORE_DEPOSIT_UTIL", line 1519
    ORA-06512: at "APPS.HXC_TIMESTORE_DEPOSIT_UTIL", line 1599
    ORA-06512: at "APPS.HXC_TIMESTORE_DEPOSIT", line 1233
    ORA-06512: at "APPS.HXC_TIMESTORE_DEPOSIT", line 1327
    ORA-06512: at line 10
    00942. 00000 - "table or view does not exist"
    *Cause:   
    *Action:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    The schema on which you are running this procedure do not have the access to the tables that you are referring in this procedure.

  • Oracle: PL/SQL Procedure involving two different Schema in two different Databases

    I got a scenario like this, I have an existing procedure that looks similar to this.
    PROCEDURE A_DATA_B( p_ID IN SCHEMA1.TABLE1.ID%TYPE,
                        p_MATCH IN SCHEMA1.TABLE2.MATCH%TYPE,
                        p_STATUS IN SCHEMA1.TABLE3.STATUS%TYPE, 
                        p_MSG IN SCHEMA1.TABLE1.MSG%TYPE,
      The list goes on...
    The SCHEMA1 was residing in the same database previously. Now this needs to be moved to another database in different server as such. But the schema name goes to be different but the Table name and the column name remain the same.  So I changed the procedure to look like this
    PROCEDURE A_DATA_B( p_ID IN SCHEMA2.TABLE1.ID%TYPE,
                        p_MATCH IN SCHEMA2.TABLE2.MATCH%TYPE,
                        p_STATUS IN SCHEMA2.TABLE3.STATUS%TYPE, 
                        p_MSG IN SCHEMA2.TABLE1.MSG%TYPE,
      The list goes on..
    But when I compile I got the error
    PLS-00201: identifier 'SCHEMA2.TABLE1' must be declared
    PL/SQL: Declaration ignored
    I can understand from this error that SCHEMA2 is not in the database which gives the error. So How should I tackle it?
    In the package body where ever am using this SCHEMA2 has been followed by an @db_link. So can I make use of that db_link to solve this?
    By looking in to some article I came to know that SYNONYM can also be used. So is this the right way to create a synonym will work?
    CREATE SYNONYM SCHEMA2 FOR SCHEMA2@db_link;
    Can Someone help me in this regards.
    Notes : I may not be able to convert the %type to varchar2 or numbers etc..
    Thanks In Advance.

    This works for me:
    PROCEDURE A_DATA_B( p_ID IN SCHEMA2.TABLE1.ID@dblink%TYPE, 
                        p_MATCH IN SCHEMA2.TABLE2.MATCH@dblink%TYPE,  
                        p_STATUS IN SCHEMA2.TABLE3.STATUS@dblink%TYPE,   
                        p_MSG IN SCHEMA2.TABLE1.MSG@dblink%TYPE,  
    Alternatively create a synonym for the table (you can't create a synonym for a schema):
    create synonym ref_table1 for SCHEMA2.TABLE1.ID@dblink
    PROCEDURE A_DATA_B( p_ID IN REF_TABLE1.ID%TYPE, 
                        p_MATCH IN REF_TABLE2.MATCH%TYPE,  
                        p_STATUS IN REF_TABLE3.STATUS%TYPE,   
                        p_MSG IN REF_TABLE1.MSG%TYPE, 
    but I don't like the idea of depending on a schema in another instance at all.
    Can you create a reference set of tables in a schema on the current database, to be the source for the data types?

  • How to rebuild index from different schema

    Hi All,
    I want to rebuild an Index of schema A from Schema B.
    Is there any grant needs to be give to Schema B in order to rebuild index of Schema A?
    Thanks,
    Tarak

    It is true what P. Forstmann said. However if you don't want to give the second user the ANY priviledge, then you can do a little workaround. Create a small procedure in Schema A that does the rebuild (maybe dynamically). Then grant execute rights on the procedure to Schema B.

Maybe you are looking for

  • Two iPhones and one iTunes account`

    Ok, my scenario. I have a single iTunes account on my Windows pc for both my wife and me. All of our music is on there. I had an iPhone and when I got the new iPhone4, I gave my wife my 3G iPhone. Here's what I want to do: * Have iTunes treat both ph

  • I updated my iphone3gs to iOS5.0.1 and now it won't recognize my simcard.

    I updated my Iphone3gs to iOS5.0.1 and now it won't recognize my SIM card. After updating, my phone went off and when I opened it,this message appeared; "SIM NOT VALID. Only compatible SIM cards from a supported carrier may be used to activate iPhone

  • Slide Shows not behaving

    I just spent last night going over iphoto 09 and found it very frustrating how the slide show settings would not change when requested. To begin with I would create a new slide show, then adjust the settings and play. Sometimes the inital settings ed

  • Custom import

    HI, I'm newbee in coding In Lightroom, and need to design a custom import to import photo automatic in Lightroom. I has coded a few code below using SDK 3.0. I would like to get help from your guys a fews things: 1) It's the code below is the right w

  • 10.2 companion CD

    This CD includes 1.6 version of ApEx. What is the right order of staps to get 2.2 installed on a 10.2 data base? 1. install HTTP server from the companion CD - installing this option will not create marvel directory within the new apex home - this op