locked
Oracle 11g Middleware & Dynamic Suite Composition RRS feed

  • Question

  • Guys,

    Can you please provide some assitance on how to sequence Oracle 11g & .Net Framework 4.0 as middleware and use Dynamic Suite Composition to be used by multiple applications.

    Ive been banging my head against a wall with this for nearly a week now and would like a fresh pair of hands to assist me. Ive done the following so far;

    Sequenced the Oracle 11g Client R2 as per the recipe provided on here.

    Ive then created an environment variable, registry entry and used setx to declare TNS_ADMIN as C:\OracleTNS\.

    Now before I finished sequencing I took a snapshot of my VM and continued to install a client (Capita One) and copied my tnsnames to c:\OracleTNS. 

    The application ran and confirmed working fine - and TNS_ADMIN is confirmed working.

    I reverted to my snapshot and finished sequencing Oracle as middleware, packaged it up and went back to my flat image.

    Heres where I encounter my problems. When I expand the Oracle Middleware and start to install Capita One on the sequencer when I launch the application it fails to find the TNSNames.

    Ive created the environment variable, added the registry entry and used setx and this still doesnt work.

    Ive also copied the TNSNames to the default location (v:\11gClientR2\install\admin\network\) and this still doesnt pick the tnsnames up!

    Can someone please tell me what Im doing wrong or not doing?

    I can get the application working by sequencing the Oracle Client and applciaton together but this doesnt allow me to have Oracle and a seperate package or allow me to utilise DSC. We have a large amount of Oracle applications using various TNSNAMES.ora and therefore getting this working Via DSC would be greatly beneficial.

    Regards

    Matt

    Thursday, February 9, 2012 5:29 PM

Answers

  • Got this working successfully and deployed with DSC via SCCM. Heres how;

    1. Sequence Oracle 11g Client R2. Create an environment variable called c:\OracleTNS and copy the tnsnames.ora file to this location.
    2. Revert to snapshot and install Oracle 11g Client R2 using the same method as above then start sequencing Capita One V3 (expanding the application in the sequencer doesnt work)
    3. Copy the environment variables from the Oracle 11g OSD and put these in the Capita One V3 OSD.
    4. Create a dependency using the DSC tool (Capita One as primary and Oracle 11g as a dependency).
    5. Import Oracle 11g in SCCM and note the name change of the SFT file within SCCM.
    6. Edit the OSD file of Capita One V3 to point to the SCCM SFT under dependency in the Capita One V3 OSD.

    Hope this brief guide makes sense. The problems were caused by me not copying all the environment variables from Oracle and adding this in the Primary Application.

    Thursday, February 16, 2012 3:08 PM

All replies

  • Also im using 4.6 Sp1 Sequencer. and my environment variable TNS_ADMIN=C:\OracleTNS are in the OSD files for Oracle.
    Thursday, February 9, 2012 5:31 PM
  • Hello,

    The environment variables, which you noticed, are in the OSD-files and will not be expanded when you expand a package. They need to be set manually when a package is expanded.

    They also need to be manually transferred to the primary applications OSD-file.


    Nicke Källén | The Knack| Twitter: @Znackattack

    Thursday, February 9, 2012 6:18 PM
  • can you provide guidance on how to add the environment variables manually when expanding a package?

    Ive put the environment variables into windows and the registry but as stated above this hasnt worked. Is there something else i need to do?

    Thursday, February 9, 2012 6:48 PM
  • Hello,

    Normally - I just redo the step that I did during sequencing the first package before I start the sequencer. Since you actually need it for the primary package - it might be a good idea to do it while sequencing the primary package

    Does that not work? How do you do it?

    Nicke Källén | The Knack| Twitter: @Znackattack

    Thursday, February 9, 2012 7:00 PM
  • During the Oracle Middleware install i exported a registry key -

    [HKEY_LOCAL_MACHINE\Software\Oracle\KEY_OraClient11g_home1]
    "ORACLE_HOME"="V:\\11gClientR2\\product\\11.2.0\\client_1"
    "ORACLE_HOME_NAME"="OraClient11g_home1"
    "ORACLE_GROUP_NAME"="Oracle - OraClient11g_home1"
    "ORACLE_BUNDLE_NAME"="Enterprise"
    "NLS_LANG"="ENGLISH_UNITED KINGDOM.WE8MSWIN1252"
    "TNS_ADMIN"="C:\\OracleTNS\\" (provided by Oracle Support to change the TNS Names Location)

    Ive also modified the environment variables (see image below) during the sequencing of the Oracled Middleware and the sequencing of primary client application. The primary application (Capita One) fails as it is unable to find the TNSNames.ora file.

    I will try this prior to sequencing the Primary application and update you on my results.

    Thanks.

    Thursday, February 9, 2012 7:22 PM
  • Just a quick reply to confirm this doesnt matter whether I set the variable before during or after the sequencing of the primary application it doesnt pick up the tnsnames.ora

    The primary application and middleware will work fine if sequencing together but i would love to get DSC working so i can reduce package size and use the middleware for other apps.

    Cheers.

    Friday, February 10, 2012 1:13 PM
  • Hello,

    When you are deploying the application - is the following set within the virtual environment;

    The environment variable

    The registry key


    Nicke Källén | The Knack| Twitter: @Znackattack

    Friday, February 10, 2012 3:42 PM
  • Ive managed to get this working in the sequencer but after deploying this via SCCM using DSC I cant get the primary application to see the tnsnames.ora :( grrr!

    To get this working within the sequencer rather than expanding the package Ive installed Oracle 11g Client natively on the client using the same setup procedure as the previous packaged middleware application. When testing the application it communciated with the tnsnames.ora as it should do. 

    Ive linked these succesfully with DSC and deployed via SCCM but it won't use C:\OracleTNS\ even if I declare this variable natively in the OS or via the native registry. It still won't work if I manually set the network services in Net Manager in Oracle 11g. 

    What I did notice in my OSDs was that Local Interaction wasn't enabled so I will update my package and re-deploy on monday. 

    Again thanks for your help I will update you on my results monday PM. 


    Friday, February 10, 2012 4:10 PM
  • Hello,

    LOCAL_INTERACTION_ALLOWED does not alter any possibility to see registry keys or environment variables.
    Have you determined if you can see the actual values of the environment variable or the registry keys? Have you determined if your connection between the two packages actually works - and if so, how? What gave away that it actually worked?

    If reviewing the background activity - what happens when the program attempts to start? Does it read the environment variable and fail to enumerate the folder? Does it not read the environment variable? Does it attempt to read the registry key?

    Apart from the TNS_ADMIN variable - does the Oracle Client installation create more? Are those all available in the primary application and how did you determine they were?

    See this article howto access the virtual environment?

    http://blog.stealthpuppy.com/virtualisation/app-v-faq-27-how-do-i-get-an-application-into-the-app-v-bubble-for-troubleshooting/


    Nicke Källén | The Knack| Twitter: @Znackattack

    Saturday, February 11, 2012 11:38 AM
  • DSC linking works and this is proved by launching the primary app without the middleware applications cached to the target machine as it fails to load the application! Also if the middlware applications are cached and then the primary application is launched all 3 applications state they are in use in the appv client mmc.

    Im not sure what other registry keys and environment variables are used. I will do some testing today and report back my results.

    Thanks for your help.

    Monday, February 13, 2012 9:43 AM
  • Got this working successfully and deployed with DSC via SCCM. Heres how;

    1. Sequence Oracle 11g Client R2. Create an environment variable called c:\OracleTNS and copy the tnsnames.ora file to this location.
    2. Revert to snapshot and install Oracle 11g Client R2 using the same method as above then start sequencing Capita One V3 (expanding the application in the sequencer doesnt work)
    3. Copy the environment variables from the Oracle 11g OSD and put these in the Capita One V3 OSD.
    4. Create a dependency using the DSC tool (Capita One as primary and Oracle 11g as a dependency).
    5. Import Oracle 11g in SCCM and note the name change of the SFT file within SCCM.
    6. Edit the OSD file of Capita One V3 to point to the SCCM SFT under dependency in the Capita One V3 OSD.

    Hope this brief guide makes sense. The problems were caused by me not copying all the environment variables from Oracle and adding this in the Primary Application.

    Thursday, February 16, 2012 3:08 PM
  • Matthew,

    Thanks for giving the details here, do you have the recipe of installing the Oracle 11g client without DSC and point to TMS and ORA files within the bubble.

    And also these TNS and ORA files  seems to be changing on daily basis, so I would like to point the TNS_Admin environment variable to some shared location on the network.

    Need your help in knowing the procedure to sequence the Oracle11g client for Windows7 32 bit VDI's.

    thanks

    Thursday, November 29, 2012 8:16 AM
  • Hi Matthew,

    I tried to follow your recipe, however had no success. can you please help me underhand this better, your help greatly appreciated. Please find my in line comments

    1.Sequence Oracle 11g Client R2. Create an environment variable called c:\OracleTNS and copy the tnsnames.ora file to this location.

    a.I have created the env variable TNS_ADMIN, with the value set to my root folder c:\ORAFiles

    2.Revert to snapshot and install Oracle 11g Client R2 using the same method as above then start sequencing Capita One V3 (expanding the application in the sequencer doesnt work)

    a. What do you mean my revert to snapshot, does this mean revert the VM to a clean state and then install the 11g client again or do u mean sequence it again

    b. Also after step a sequence my legacy app that needs to connect to oracle DB

    3.Copy the environment variables from the Oracle 11g OSD and put these in the Capita One V3 OSD.

    a. I did copy the entire <ENVLIST> tag from the oracle 11g OSD to my legacy application OSD.

    4.Create a dependency using the DSC tool (Capita One as primary and Oracle 11g as a dependency).

    a.Completed this step, now my legacy application OSD has the <DEPENDENCIES> set to point to my oracle 11g sft.

    5.Import Oracle 11g in SCCM and note the name change of the SFT file within SCCM.

    a. Completed this step

    6.Edit the OSD file of Capita One V3 to point to the SCCM SFT under dependency in the Capita One V3 OSD.

    a. Is this not the same as step 4 mentioned by you.

    When I run the client I get the following error.

    Provider cannot be found, It may not be properly installed.


    Shailesh

    Wednesday, December 12, 2012 10:16 PM