3 Replies Latest reply on Jan 12, 2006 4:07 PM by Jia-Mei Qian

    deploy package with variable path settings

      We would like to package Oracle for deployment but need to install the application in a different directory based on the server targeted. The install path is /opt/oracle/or[xxxx]/product/.../.../ and the value of would change depending on what the server is used for.


      For example, Oracle on a PeopleSoft server would be installed in /opt/oracle/orpsoft/product/.../.../ whereas Oracle on another application server would be installed in /opt/oracle/orngl/product/.../.../, etc.


      Is there a way to pass in the desired location to a deploy job?


      The only way I can think of to accomplish this is to create a deploy job, then create an NSH script to run that job via BLCLI while passing in the path location as a parameter value. But how do I do this if the deploy job needs to be silent to run correctly, or how do I interface with prompts received by an almost-silent deploy job?

        • 1. Re: deploy package with variable path settings

          Hey Jia-Mei,


          BLPackage deployments are built to use server properties as deployment parameters, so this is easily accomplished.


          Let's say that you have two servers to which to deploy Oracle: one at /opt/oracle/orpsoft/product and one at /opt/oracle/orngl/product. You would do the following:


          1. Go into your property dictionary and create a server property called ORACLE_HOME.

          2. For each of the two servers to which you are deploying, set the server property to be equal to the appropriate value:


          • ??ORACLE_HOME?? = /opt/oracle/orpsoft/product


          • ??ORACLE_HOME?? = /opt/oracle/orngl/product

          3. Create your BLPackage that deploys all Oracle source files, configuration entries, software installs, etc.

          4. Edit the package. Let's say you had packaged up the source from /opt/oracle/product. Delete this and replace it with ??ORACLE_HOME??.

          5. Create a job and deploy your package. This will deploy the source files on each server to that server's value for ??ORACLE_HOME??, hence allowing you to customize your deployments to each server.


          NOTE: External commands within the BLPackage (say to run an installation script) can also use ??ORACLE_HOME?? or any other server properties that you might set up.


          As for setting the server properties across all servers, you can set them in bulk (right-click on a server group and choose "Set Server Property"), set them via the GUI on each server, or write a BLCLI script to run some logic on each server to determine the proper value of Oracle home (for example, ORACLE_HOME=`cat /etc/oratab | grep HOME | awk '{print $1}'`) and set the property for each server.


          Does this make sense?



          • 2. Re: deploy package with variable path settings

            The Oracle silent install response file can be setup as a configuration file, so that alterations to ORACLE_HOME can be parameterised.


            Have a look at my knowledge base article "How to install Oracle 10g"


            In retrospect, I would probably do it differently now. I wouldn't use custom software, and I would have the downloading of the installation directories as part of the BlPackage, and then change the ORACLE_HOME etc using parameterisation.


            It does have a configurable ORACLE_HOME. I use ORACLE_MOUNT to defined an Oracle mount point. Oracle home is then created as ORACLE_MOUNT??/app/oracle/product/10.1.0/db1

            • 3. Re: deploy package with variable path settings

              Thanks Jarrod and Mark, both of your explanations make sense. I don't currently have the package to play with so I can't test your methods out yet, but we wanted to make sure it was doable. We are looking to package this by the end of March for Windows, so you will probably see questions from me again as the deadline nears. :)