Environment Variable management

i have two peoplesoft apps running on the same machine. would someone please advise if there is any way to manage imp EV like Oracle_SID, PS_HOME etc?

Windows is a bit different than on Linux.
Personally I have a large script setup that I deploy on Windows that mimics psconfig.sh from the *nix side.
It's somewhat messy and has scripts that include scripts that include other scripts so I'm not inclined to share it really.
If you simply want to run psadmin, create a .bat script for each ps_home and use it instead, since every new cmd prompt gets a fresh start on env variables, don't set anything at a user/system level. Set up the variables you want in the bat files, if running psadmin, it will take care of most of the values for you, so you don't need to put them on in the bat script unless you want to do advanced stuff like run tmadmin directly. For instance you can issue commands directly to tmadmin and make script to do lots of things, then again, you could also use the psadmin command options like psadmin -c boot -d <domain>
For instance something like
set PATH=D:\psoft\FIN853;%PATH%
set PS_HOME=D:\psoft\FIN853
set PS_APP_HOME=D:\psoft\FIN853
set PS_CFG_HOME=D:\psoft\Domains
set PS_CUST_HOME=D:\psoft\FIN853
: maybe set TUXDIR=D:\psoft\TuxedoPath
: maybe set PS_SERVDIR=%PS_CFG_HOME%\appserv\prcs\FIN853
set ORACLE_SID=FIN853
D:\
cd %PS_HOME%\appserv
: maybe execute psadmin.exe maybe not, maybe we don't want to run it every time and instead just drop us in the appserv directory
%PS_HOME%\appserv\psadmin.exe
--------------

Similar Messages

  • Open module for managing property file and environment variables

    Looking for an open module for managing property files and environment variables (like CLASSPATH) set in a shell script. For handeling properties (preserving comments, supporting includes, appending new entries, and more) I have looked at SuperProperties from openadaptor but find certain functionality lacking. As for interfacing with common shell scripts/files containing setting for CLASSPATH, JAVA_HOME, other system/application variables another type of object editor is needed. Maybe JFIG?
    Any ideas are greatly welcomed.

    You seem wright, you hit a brick wall here with Air to find the location
    of the command console on windows...
    So in fact I never build an exe tool, but this little problem was a nice
    case to test it and I tried it.:
    I downloaded monodevelop
    -GTK# for .NET 2.12.10*
    -MonoDevelop 2.4.2*
       from http://monodevelop.com/Download
    created a console project and had an exe in 5 minutes !
    You can download the findconsole tool and the projectfiles here:
       http://greencollective.nl/temp/dump/findconsole_monoproject.zip
    findconsole.exe will reveal the path/location of cmd.exe on a windows system.
    Cheers,
    Latcho

  • Passing environment variables to managed server during nmStart

    I'm trying to script automated start with WLST using node managers but noticed that we're having some applications depending on some environment variables being set during startup.
    How can I pass these from the node manager? Is it possible?
    I'm trying to keep the number of nodemanagers to a minimum, otherwise I just could have just used a second one with these variables defined.
    Edit: Could I just use os.environ perhaps for this?
    Edit2: Say I wan't to use the admin console to restart said managed servers, is it possible to set these variables when starting from the adminconsole through the node manager?
    Edited by: user13100625 on Aug 23, 2011 11:23 AM
    Edited by: user13100625 on Aug 23, 2011 12:04 PM

    os.environ did not work because the nodemanager forks a new process inherited on it self... seems like I need a second nodemanager...

  • BKI0008E: The environment variable BI_CALLER is not set correctely. The cur

    Hi All,
    I have configured backint for backup of maxdb for content server 640. I configured it as per the documents available, created the configuration fiale and the parameter file. Created the backup medium in dbmgui.
    Now when i try to run the backup using the pipe am getting the above mentioned error.
    Please find below the dbm.ebp log for the same...
    more dbm.ebp
    2009-10-22 02:06:08
    Setting environment variable 'TEMP' for the directory for temporary files and pi
    pes to default ''.
    Setting environment variable 'TMP' for the directory for temporary files and pip
    es to default ''.
    Using connection to Backint for MaxDB Interface.
    2009-10-22 02:06:08
    Checking existence and configuration of Backint for MaxDB.
        Using configuration variable 'BSI_ENV' = '/sapdb/CFC/lcbackup/apoatlas.env'
    as path of the configuration file of Backint for MaxDB.
        Setting environment variable 'BSI_ENV' for the path of the configuration fil
    e of Backint for MaxDB to configuration value '/sapdb/CFC/lcbackup/apoatlas.env'
        Reading the Backint for MaxDB configuration file '/sapdb/CFC/lcbackup/apoatl
    as.env'.
            Found keyword 'BACKINT' with value '/sapdb/CFC/db/bin/backint'.
            Found keyword 'INPUT' with value '/tmp/backint4sapdbCFC.in'.
            Found keyword 'OUTPUT' with value '/tmp/backint4sapdbCFC.out'.
            Found keyword 'ERROROUTPUT' with value '/tmp/backint4sapdbCFC.err'.
            Found keyword 'PARAMETERFILE' with value '/sapdb/CFC/lcbackup/param.cfg'
            Found keyword 'TIMEOUT_SUCCESS' with value '1800'.
            Found keyword 'TIMEOUT_FAILURE' with value '1800'.
        Finished reading of the Backint for MaxDB configuration file.
        Using '/sapdb/CFC/db/bin/backint' as Backint for MaxDB program.
        Using '/tmp/backint4sapdbCFC.in' as input file for Backint for MaxDB.
        Using '/tmp/backint4sapdbCFC.out' as output file for Backint for MaxDB.
        Using '/tmp/backint4sapdbCFC.err' as error output file for Backint for MaxDB
        Using '/sapdb/CFC/lcbackup/param.cfg' as parameter file for Backint for MaxD
    B.
        Using '1800' seconds as timeout for Backint for MaxDB in the case of success
        Using '1800' seconds as timeout for Backint for MaxDB in the case of failure
        Using '/sapdb/data/wrk/CFC/dbm.knl' as backup history of a database to migra
    te.
        Using '/sapdb/data/wrk/CFC/dbm.ebf' as external backup history of a database
    to migrate.
        Checking availability of backups using backint's inquire function.
    Check passed successful.
    2009-10-22 02:06:08
    Checking medium.
    Check passed successfully.
    2009-10-22 02:06:08
    Preparing backup.
        Setting environment variable 'BI_CALLER' to value 'DBMSRV'.
        Setting environment variable 'BI_REQUEST' to value 'NEW'.
        Setting environment variable 'BI_BACKUP' to value 'FULL'.
        Constructed Backint for MaxDB call '/sapdb/CFC/db/bin/backint -u CFC -f back
    up -t file -p /sapdb/CFC/lcbackup/param.cfg -i /tmp/backint4sapdbCFC.in -c'.
        Created temporary file '/tmp/backint4sapdbCFC.out' as output for Backint for
    MaxDB.
        Created temporary file '/tmp/backint4sapdbCFC.err' as error output for Backi
    nt for MaxDB.
        Writing '/sapdb/CFC/lcbackup/pipe1 #PIPE' to the input file.
        Writing '/sapdb/CFC/lcbackup/pipe2 #PIPE' to the input file.
    Prepare passed successfully.
    2009-10-22 02:06:08
    Creating pipes for data transfer.
        Creating pipe '/sapdb/CFC/lcbackup/pipe1' ... Done.
        Creating pipe '/sapdb/CFC/lcbackup/pipe2' ... Done.
    All data transfer pipes have been created.
    2009-10-22 02:06:08
    Starting database action for the backup.
        Requesting 'SAVE DATA QUICK TO '/sapdb/CFC/lcbackup/pipe1' PIPE,'/sapdb/CFC/
    lcbackup/pipe2' PIPE BLOCKSIZE 8 NO CHECKPOINT MEDIANAME 'BACKINT_ONLINE1'' from
    db-kernel.
    The database is working on the request.
    2009-10-22 02:06:09
    Waiting until database has prepared the backup.
        Asking for state of database.
        2009-10-22 02:06:09 Database is still preparing the backup.
        Waiting 1 second ... Done.
        Asking for state of database.
        2009-10-22 02:06:10 Database is still preparing the backup.
        Waiting 2 seconds ... Done.
        Asking for state of database.
        2009-10-22 02:06:12 Database has finished preparation of the backup.
    The database has prepared the backup successfully.
    2009-10-22 02:06:12
    Starting Backint for MaxDB.
        Starting Backint for MaxDB process '/sapdb/CFC/db/bin/backint -u CFC -f back
    up -t file -p /sapdb/CFC/lcbackup/param.cfg -i /tmp/backint4sapdbCFC.in -c >>/tm
    p/backint4sapdbCFC.out 2>>/tmp/backint4sapdbCFC.err'.
        Process was started successfully.
    Backint for MaxDB has been started successfully.
    2009-10-22 02:06:12
    Waiting for end of the backup operation.
        2009-10-22 02:06:12 The backup tool is running.
        2009-10-22 02:06:12 The database is working on the request.
        2009-10-22 02:06:14 The backup tool process has finished work with return co
    de 2.
        2009-10-22 02:06:17 The database is working on the request.
        2009-10-22 02:06:27 The database is working on the request.
        2009-10-22 02:06:42 The database is working on the request.
        2009-10-22 02:07:02 The database is working on the request.
        2009-10-22 02:07:15 Canceling Utility-task after a timeout of 60 seconds ela
    psed ... OK.
        2009-10-22 02:07:17 The database has finished work on the request.
        Receiving a reply from the database kernel.
        Got the following reply from db-kernel:
            SQL-Code              :-903
    The backup operation has ended.
    2009-10-22 02:07:17
    Filling reply buffer.
        Have encountered error -24920:
            The backup tool failed with 2 as sum of exit codes. The database request
    was canceled and ended with error -903.
        Constructed the following reply:
            ERR
            -24920,ERR_BACKUPOP: backup operation was unsuccessful
            The backup tool failed with 2 as sum of exit codes. The database request
    was canceled and ended with error -903.
    Reply buffer filled.
    2009-10-22 02:07:17
    Cleaning up.
        Removing data transfer pipes.
            Removing data transfer pipe /sapdb/CFC/lcbackup/pipe2 ... Done.
            Removing data transfer pipe /sapdb/CFC/lcbackup/pipe1 ... Done.
        Removed data transfer pipes successfully.
        Copying output of Backint for MaxDB to this file.
    Begin of output of Backint for MaxDB (/tmp/backint4sapdbCFC.out)-
                                     Data Protection for mySAP(R)
                         Interface between BR*Tools and Tivoli Storage Manager
                         - Version 5, Release 4, Modification 0.0  for Linux x86_64
                               Build: 303  compiled on Nov 16 2006
                    (c) Copyright IBM Corporation, 1996, 2006, All Rights Reserved.
            BKI0008E: The environment variable BI_CALLER is not set correctely. The
    current value is "DBMSRV"
            usage:
             backint -p <par_file> [-u <user_id>] [-f <function>]
                    [-t <type>] [-i <in_file>] [-o <out_file>] [-c]
            where:
                   <user_id>    backint utility user
                   <function>   backup | restore | inquire | password | delete
                   <type>       file | file_online
                   <par_file>   parameter file for backup utility
                   <in_file>    name of a text file  that defines the objects
                                default: STDIN
                   <out_file>   Pool for processing messages and the results
                                of the executed function.
                                default: STOUT
            BKI0020I: End of program at: Thu 22 Oct 2009 02:06:14 AM EDT .
            BKI0021I: Elapsed time: 01 sec .
            BKI0024I: Return code is: 2.
    End of output of Backint for MaxDB (/tmp/backint4sapdbCFC.out)---
        Removed Backint for MaxDB's temporary output file '/tmp/backint4sapdbCFC.out
        Copying error output of Backint for MaxDB to this file.
    Begin of error output of Backint for MaxDB (/tmp/backint4sapdbCFC
    .err)----
    End of error output of Backint for MaxDB (/tmp/backint4sapdbCFC.e
    rr)----
        Removed Backint for MaxDB's temporary error output file '/tmp/backint4sapdbC
    FC.err'.
        Removed the Backint for MaxDB input file '/tmp/backint4sapdbCFC.in'.
    Have finished clean up successfully.

    Also, is there any specification about the user permissions and about how the backup should be run?

  • How do I use Embed with an environment variable in an Actionscript AIR project Flash Builder 4.7

    I am using Flash Builder 4.7 to build an Actionscript AIR project.  The project embeds a number of png files from my local directory and I have been using absolute paths which all works fine.
    I have a laptop with which I want to start developing the same project - I set up a git repository that both the laptop and main pc can pull from and so I can get the source where I need it and push it back to the central repository.
    My problem is that the absolute paths for the embed commands don't work on the laptop as it has a different filesystem setup (Windows 8 with one drive as opposed to Windows 7 with a SSD and a data drive).  I thought the solution would be as easy as using an environment variable to specify the path which could then point to a different physical directory on both machines, i.e:
    [Embed(source = "DEVELOPER_RESOURCES/graphics/are/here.png"]
    I did a bit of research and there was quite a lot mentioned about setting up resource directories using path variables which I worked through but I just can't get it to compile.  The Actionscript compiler just won't find the png files however I specify the path.  I tried something with a FLEX project and the compiler didn't complain but I think this is because the compiler for FLEX uses a different convention.
    [Embed(source ="/Project Name/DEVELOPER_RESOURCES/graphics/are/here.png"]  works with FLEX but not Actionscript.
    So does anyone have a recipe for using the Embed command referencing assets using an environment variable that works across multiple machines with different file structures?

    I managed to find a solution on Windows which was to use symlinks and absolute paths.  You an basically point one directory to another so I did something like:
    mklink c:\developer_resources c:/the/local/path/to/my/resources
    and then reference all resources as c:\developer_resources\...
    Now as long as a developer machine has the right link (from c:\developer_resources to the place where the resources are kept) then it seems to work. 
    This doesn't however work for Mac and certainly isn't a solution for passing files between Mac and windows

  • SQL SERVER - Error while executing SSIS package on specific environment : Connection manager - The specified module could not be found

    I have deployed my SSIS packages on SQL 2008 server.
    I have a .bat file which will invoke these packages and also the bat file is placed in the server where the SSIS packages are deployed.
    Scenario 1:
    I double clicked on the bat file to invoke the SSIS packages and ; this executed successfully
    Scenario 2:
    I have used the IBM Tivoli work scheduler(TWS)  to invoke the bat file which in tern will invoke the ssis packges; 
    but when i do this i am getting the below error
     Code: 0x8007007E
       Source: SSIS_Master_Event_Data_Transfer Connection manager "Config DB"
       Description: The specified module could not be found.
    Config BD is a connection manager which will get the connection string from the config file of the SSIS package.
    Please help me to resolve this issue.
    Regards,
    Prakash

    Check you TWS jobmanrc.cmd configuration file.   You may need to add a PATH environment variable in that file that includes your SQL Server file locations.   When TWS jobs are executed, they may not be executing with the same
    PATH variable as when you execute the SSIS outside of TWS.

  • Library paths and environment variables

    Hello,
    I am using 10g AS 9.0.4 on a Unix system.
    I am trying to convert an old JSP web application to work with 10g. It is not an EAR/WAR file so I am manually trying to set it up under the "default-web-app" folder. It uses a number of java class files which currently reside in $J2EE_HOME/default-web-app/WEB-INF/classes/mystuff.
    These class files require access to a number of libraries. I foolishly believed that they would be accessible if I were to place them in the $J2EE_HOME/default-web-app/WEB-INF/lib folder, but that did not work.
    I read that OC4J uses a "catch all" lib directory at $J2EE_HOME/applib. I copied the library files there and they still did not work.
    Frustrated, I tried to print out the environment variables for the server - only to find that this function is not supported.
    I managed to print out the library path by creating a Java class files which returns the following as a string:
    System.getProperty("java.library.path");
    This (when called from a JSP) prints a number of different library paths, none of which match those found listed in the $J2EE_HOME/config/application.xml file. I placed the library files in one of the paths listed by the "java.library.path" and it worked!
    3 questions:
    1. How do you print the server's environment variables using a JSP? This strikes me as a very useful function for sorting out library and path issues. Do a search on Google for "print environment variables OC4J" or something similar and there are no useful pages suggesting how this can be done.
    2. Why are the default library paths different on the server than to those specified in application.xml?
    3. How do I change the LD_LIBRARY_PATH (or any environment variable for that matter)? I have tried adding the following line to $ORACLE_HOME/Apache/Jserv/etc/jserv.properties without success:
    wrapper.env=LD_LIBRARY_PATH=/my/custom/library/path
    Any help you can offer would be most appreciated.

    >
    Thanks very much for a such a comprehensive response
    - it has helped answer a lot of questions, especially
    being able to print out the system properties. That
    will be really useful!
    No worries at all Rob.
    The main hurdle is that the libraries are indeed
    native (*.so) libraries. I hadn't considered that
    until you pointed it out in your message. Can I
    assume, then, that $J2EE_HOME/applib and
    $J2EE_HOME/default-web-app/WEB-INF/lib are only
    designed to handle Java's .JAR librares? That would
    explain why placing the native libraries in there
    didn't work, but is there a way of getting such
    native libraries recognised and bundled up in a
    WAR/EAR file?
    Yep, that's it.
    Our proprietary applib and the servlet specs web-inf/lib are only dealing with Java archives.
    The J2EE specs don't cover how to deal with native libs like this.
    Now I've NEVER EVER tried it, but it's worth a shot of at least trying -- for simplified packaging purposes, what you may be able to do is to distribute the .so's within the web-inf/lib -- and then just set that directory (where's its realized on the server after the app is deployed) to be referenced witihn the LD_LIBRARY_PATH. I'd expect our deployment manager will just ignore files it doesn't know about, so arguably you should be able to at least distribute them with the standard archive.
    You'll need to specifically set the LD_LIBRARY_PATH as a separate task outside of the deployment operation though.
    >
    This is where things get a bit weird, and is partly
    my fault during the installation of 10g AS.
    We already had an existing installation of Oracle 10g
    Database (10.1.0) at $ORACLE_HOME under the user
    "oracle". I logged in as the user "oracle" to install
    the Application Server into a different location (In
    this case, "$ORACLE_HOME/../ias10g_9.0.4" - let's
    call this $IAS_HOME). So there is no separate user
    account for Oracle Database and Application Server
    (and hence no separate $LD_LIBRARY_PATH).
    If I log into UNIX as the user "oracle" and echo the
    LD_LIBRARY_PATH, I get the following directories:
    $ORACLE_HOME/lib
    /usr/openv/netbackup/bin
    /usr/dt/lib
    /usr/lib
    I use this user to do "opmnctl stopall" and "opmnctl
    startall". If I then print out the library path from
    a JSP using
    "System.getProperty("java.library.path");", I get the
    following paths:
    $IAS_HOME/jdk/jre/lib/sparc/server
    $IAS_HOME/jdk/jre/lib/sparc
    $IAS_HOME/jdk/jre/../lib/sparc
    $IAS_HOME/opmn/lib
    $IAS_HOME/lib
    $IAS_HOME/usr/lib
    Which is totally different to those listed by
    $LD_LIBRARY_PATH at the command line, which means
    they must be coming from somewhere else.
    It gets worse - my application is trying to call a
    native library that is only present in the
    $ORACLE_HOME/lib32 directory (libclntsh.so.10.1), so
    unless I can include this path in the
    "java.library.path" on the Applicaiton Server, then
    my program will not work.
    So, how do I change the "java.library.path" when the
    values aren't coming from $LD_LIBRARY_PATH in the
    first place?
    The utility $IAS_HOME/opmn/bin/opmnctl is actually a shell script.
    It has this section which sets the LD_LIBRARY_PATH:
    if [ -z "$LD_LIBRARY_PATH" ]
    then
    LD_LIBRARY_PATH=$ORACLE_HOME/opmn/lib:$ORACLE_HOME/lib ; export LD_LIBRARY_PATH
    else LD_LIBRARY_PATH=$ORACLE_HOME/opmn/lib:$ORACLE_HOME/lib:${LD_LIBRARY_PATH} ; export LD_LIBRARY_PATH
    fi
    So if you have an existing LD_LIBRARY_PATH env var set, it should just be putting its paths onto the front of it.
    What you could try as a quick test is to edit the opmnctl script (after taking a backup of course) and either appending the path you need to it, or just add some debug statements to output the LD_LIBRARY_PATH value it ends up setting so you can try and work out what's causing it.
    I expect these other entries:
    $IAS_HOME/jdk/jre/lib/sparc/server
    $IAS_HOME/jdk/jre/lib/sparc
    $IAS_HOME/jdk/jre/../lib/sparc
    are coming from the JRE when it is launched, in probably a similar manner to our opmn entries.
    I really appreciate your help, and I bet if anyone
    can answer these questions, you can! ;-)
    You're very welcome.
    cheers
    -steve-

  • Using environment variable / double quotes in "Arguments" in "Server Start"

    I have an admin server, NodeManager, and 1 managed server, all on the same machine (windows). I am trying to enter something similar to this to the arguments field in the Server Start tab:
    -Dmy.property=%USERPROFILE%\someDir\someJar.jar
    But when the managed server is started it throws this exception:
    Error opening zip file or JAR manifest missing : %USERPROFILE%\someDir\someJar.jar
    It appears that the environment variable is not being translated into it's value. It is just passed on to the managed server as plain-text. I tried surrounding the path with double quotes (") but the console validates the input and does not allow this: *"Arguments may not contain '"'"*
    Even editing the config.xml file manually cannot work, as the admin server fails to startup after this:
    <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: [Management:141266]Parsing failure in config.xml: java.lang
    .IllegalArgumentException: Arguments may not contain '"'.>
    I also tried using %20 to no avail, it is just passed as %20.
    I thought that perhaps this had something to do with the spaces in the value of %USERPROFILE% (which is "C:\documents and settings.."), but the same thing happens with other env. variables which point to other directories with no spaces.
    _My question:_
    Is there any supported way of :
    using double quotes? what if i have to reference a folder with spaces in it's name?
    reference an environment variable? What if i have to rely on it's value for distributed servers where i do not know in advance the variable's value?
    Edited by: 937622 on Sep 28, 2012 1:02 AM

    There is workaround : http://stackoverflow.com/questions/12629395/weblogic-using-environment-variable-double-quotes-in-arguments-in-server
    Just posting here for reference. Let's see if we get a different answer from anyone else.

  • Unix shell: Environment variable works for file system but not for ASM path

    We would like to switch from file system to ASM for data files of Oracle tablespaces. For the path of the data files, we have so far used environment variables, e.g.,
    CREATE TABLESPACE BMA DATAFILE '${ORACLE_DB_DATA}/bma.dbf' SIZE 2M AUTOEXTEND ON;
    This works just fine (from shell scripts, PL/SQL packages, etc.) if ORACLE_DB_DATA denotes a file system path, such as "/home/oracle", but doesn’t work if the environment variable denotes an ASM path like "\+DATA/rac/datafile". I assume that it has something to do with "+" being a special character in the shell. However, escaping "\+" didn’t work. I tried with both bash and ksh.
    Oracle managed files (e.g., set DB_CREATE_FILE_DEST to +DATA/rac/datafile) would be an option. However, this would require changing quite a few scripts and programs. Therefore, I am looking for a solution with the environment variable. Any suggestions?
    The example below is on a RAC Attack system (http://en.wikibooks.org/wiki/RAC_Attack_-OracleCluster_Database_at_Home). I get the same issues on Solaris/AIX/HP-UX on 11.2.0.3 also.
    Thanks,
    Martin
    ==== WORKS JUST FINE WITH ORACLE_DB_DATA DENOTING FILE SYSTEM PATH ====
    collabn1:/home/oracle[RAC1]$ export ORACLE_DB_DATA=/home/oracle
    collabn1:/home/oracle[RAC1]$ sqlplus "/ as sysdba"
    SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 24 20:57:09 2012
    Copyright (c) 1982, 2009, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    SQL> CREATE TABLESPACE BMA DATAFILE '${ORACLE_DB_DATA}/bma.dbf' SIZE 2M AUTOEXTEND ON;
    Tablespace created.
    SQL> !ls -l ${ORACLE_DB_DATA}/bma.dbf
    -rw-r----- 1 oracle asmadmin 2105344 Aug 24 20:57 /home/oracle/bma.dbf
    SQL> drop tablespace bma including contents and datafiles;
    ==== DOESN’T WORK WITH ORACLE_DB_DATA DENOTING ASM PATH ====
    collabn1:/home/oracle[RAC1]$ export ORACLE_DB_DATA="+DATA/rac/datafile"
    collabn1:/home/oracle[RAC1]$ sqlplus "/ as sysdba"
    SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 24 21:08:47 2012
    Copyright (c) 1982, 2009, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    SQL> CREATE TABLESPACE BMA DATAFILE '${ORACLE_DB_DATA}/bma.dbf' SIZE 2M AUTOEXTEND ON;
    CREATE TABLESPACE BMA DATAFILE '${ORACLE_DB_DATA}/bma.dbf' SIZE 2M AUTOEXTEND ON
    ERROR at line 1:
    ORA-01119: error in creating database file '${ORACLE_DB_DATA}/bma.dbf'
    ORA-27040: file create error, unable to create file
    Linux Error: 2: No such file or directory
    SQL> -- works if I substitute manually
    SQL> CREATE TABLESPACE BMA DATAFILE '+DATA/rac/datafile/bma.dbf' SIZE 2M AUTOEXTEND ON;
    Tablespace created.
    SQL> drop tablespace bma including contents and datafiles;

    My revised understanding is that it is not a shell issue with replacing +, but an Oracle problem. It appears that Oracle first checks whether the path starts with a "+" or not. If it does not (file system), it performs the normal environment variable resolution. If it does start with a "+" (ASM case), Oracle does not perform environment variable resolution. Escaping, such as "\+" instead of "+" doesn't work either.
    To be more specific regarding my use case: I need the substitution to work from SQL*Plus scripts started with @script, PL/SQL packages with execute immediate, and optionally entered interactively in SQL*Plus.
    Thanks,
    Martin

  • Resolution of TNS_ADMIN Environment variable

    In ODAC Release 3 the managed ODP supports TNS_ADMIN environment variable. As it nowhere found in the documentation and judging from this thread it is an undocumented leftover feature that can be removed anytime.
    Are there are any plans on removing this feature? The environment TNS_ADMIN variable has the huge benefit that pretty much all oracle client components support it (managed as well as unmanaged) and it's very easy to maintain. A single setting and a single tnsnames.ora that works for all x86, x64, unmanaged and managed applications - it's really great...

    Please do not remove support for TNS_ADMIN environment variable.  As the original poster stated "The environment TNS_ADMIN variable has the huge benefit that pretty much all oracle client components support it (managed as well as unmanaged) and it's very easy to maintain. A single setting and a single tnsnames.ora that works for all x86, x64, unmanaged and managed applications - it's really great..."  In addition, this is our standard way to set the TNS_ADMIN setting on all our servers and desktops, not what which version of Oracle is used.  Making the ODP.Net driver so it does not support this would just make things confusing.  If users want to use the TNS_Admin environmental variable to identify where the TNSnames.ora files is then ODP.Net should support it.
    Keeping support for the TNS_ADMIN environmental setting in the ODP.Net driver does not hurt anything and give your customers the option of whether they want to continue using the environmental variable or one of the new ways to set where the tnsname.ora file is. But taking it way could cause issues for you customers and have a negative impact on them.  This change could also discourage developers from using the new ODP.Net driver, which would be a shame because the benefits of using it are huge.  The biggest issue with using web.config/ machine.config settings is that the directory structure on the developer machine probably does not match the directory structure on the Dev/QA/Prod server. so this would mean the developer has to change it to the "server" setting before deploying and change it back when running locally.  This is hard to maintain and very likely that the local setting is accidently deployed to the server. 

  • Unix Environment Variables

    I use EBS 11.5 and I am trying to use XML Publisher with RTF files for PO printing. I have a main script loaded into Oracle as the template and it uses
    <?import:file///home/dave/scripts/test.rtf?> to pull in a subtemplate. I want to change this to reference an environment variable, like MY_HOME, instead of having the directory hardcoded into the import statement.
    Home do I do that?
    What is the syntax in the import statement?

    Hi Dave
    If you are just running through the conc manager as a regular report you can not do this. At the CM layer publisher is not aware of nor can it be passed environment variables.
    If you are on 11.5 why not store the sub template in the template manager and then use our URI to reference it:
    xdo://APPCODE.TEMPLCODE.LANG.TERR
    Check the user guide.
    Regards
    Tim

  • Windows System Environment Variables in "Sql * plus"

    Can i use/reference Windows System Environment variables in "Sql * plus"?
    For example, i want to create sql-script to run in database server computer that asks variable "ORA_HOME" and uses this value to execute some sql/plsql sentences.
    Oracle 10g Personal, Windows 7.
    Edited by: CharlesRoos on 12.11.2010 17:28

    CharlesRoos wrote:
    Business problem:
    I have created 2 databases in my computer. Both databases needs tablespaces created by a script. Tablespaces' datafiles (.dbf files) names are same for both database. Both database has it's own directory where it holds datafiles at the moment. At the moment the datafiles for Database1 are in folder something like "%ORACLE_HOME%"\oradata\%databasename1%\*.dbf, and second database has its datafiles in other folder, somewhere ""%ORACLE_HOME%"\oradata\%databasename1%\*.dbf". I want now the script to create tablespace called "INDX" with same datafile name "indx1.dbf" into both database. So into both mentioned folder the file "indx1.dbf" must be created by script. I think the script should do following:
    1. get ORACLE_HOME.
    2. connect to database "databasename1"
    3. EXECUTE IMMEDIATE "Create TableSpace INDX....file=%ORACLE_HOME% || databasename1 || indx1.dbf"
    4. connect to database "databasename2"
    5. EXECUTE IMMEDIATE "Create TableSpace INDX....file=%ORACLE_HOME% || databasename2 || indx1.dbf"I don't have Oracle database near by anymore, so the code was pseudocode.
    I don't understand how to use ?-shortcut.OK, my first impression is "why does this even NEED to be scripted? Creation of new tablespaces is usually a one-off operation.
    But that aside how about this sqlplus command-line substitution variables. This example is in linux, but will work as well in Windows with the change of the way environment variables are referenced:
    *nix - echo $myvariable
    Windows - echo %myvariable%
    First, the sqlscript to create the TS. Note the use of the substitution variable "&1"
    {code}
    [oracle@vmlnx01 ~]$ cat cat makets.sql
    set echo on feedback on verify on trimsp on
    prompt &1
    CREATE SMALLFILE TABLESPACE EDSTEST
    DATAFILE '/ora01/oradata/&1/edstest.dbf'
    SIZE 5M
    REUSE
    AUTOEXTEND ON
    NEXT 1280K
    MAXSIZE 32767M
    LOGGING
    EXTENT MANAGEMENT LOCAL
    SEGMENT SPACE MANAGEMENT AUTO
    drop tablespace edstest
    including contents and datafiles
    exit
    {code}
    So, at the OS prompt: Notice that the @ is separated by a space, makeing it a command line parm instead of part of the connect string
    {code}
    [oracle@vmlnx01 ~]$ export myparm=vlnxora1
    [oracle@vmlnx01 ~]$ sqlplus system/pswd @makets $myparm
    SQL*Plus: Release 10.2.0.4.0 - Production on Fri Nov 12 13:18:05 2010
    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> prompt &1
    vlnxora1
    SQL> --
    SQL> CREATE SMALLFILE TABLESPACE EDSTEST
    2 DATAFILE '/ora01/oradata/&1/edstest.dbf'
    3 SIZE 5M
    4 REUSE
    5 AUTOEXTEND ON
    6 NEXT 1280K
    7 MAXSIZE 32767M
    8 LOGGING
    9 EXTENT MANAGEMENT LOCAL
    10 SEGMENT SPACE MANAGEMENT AUTO
    11 ;
    old 2: DATAFILE '/ora01/oradata/&1/edstest.dbf'
    new 2: DATAFILE '/ora01/oradata/vlnxora1/edstest.dbf'
    Tablespace created.
    SQL> --
    SQL> drop tablespace edstest
    2 including contents and datafiles
    3 ;
    Tablespace dropped.
    SQL> exit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    [oracle@vmlnx01 ~]$
    {code}

  • Using environment variables in RMAN command line

    I'm running Oracle 11gR2 and working in a Solaris 10 environment.
    I am trying to run the rman command by connecting to the target, auxiliary, and catalog by catting out the contents of password files where I have my connect strings stored for each database. Also in there I am trying to use environment variables to reference each database.
    rman target "`cat ${HOME}/password_dir/prod_connect.txt`@${PROD_DB}" auxiliary "`cat ${HOME}/password_dir/stage_connect.txt`@`${STAGE_DB}`" catalog "`cat ${HOME}/password_dir/rman_catalog_connect.txt`@${RMAN_CATALOG_DB}"
    The end result I need is:
    rman target "username/password@db" auxiliary "username/password@db" catalog "username/password@db"
    Is this possible?

    Levi,
    Good idea on the variables. I set up a variable with my connect string including the TNS reference (i.e. user/password@XXX)
    So when I run this:
    rman auxiliary ${AUXILIARY}
    I get this:
    Recovery Manager: Release 11.2.0.2.0 - Production on Wed Jun 13 10:19:44 2012
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00554: initialization of internal recovery manager package failed
    RMAN-04006: error from auxiliary database: ORA-01031: insufficient privileges
    But if I try to run it without the TNS entry it works. The only issue with that is I need the TNS reference to connect to the database I'm cloning from. Any idea what's going on here?
    Also, the same applies to the TARGET, but oddly enough not the CATALOG. It will connect to my rman catalog using the TNS just fine. The only difference is with the catalog I'm logging in as my rman catalog user. With the TARGET and AUXILIARY I'm logging in as the system user.
    Edited by: Nevin on Jun 13, 2012 8:25 AM

  • Adding environment variable in build.xml(ANT)

    Hi,
    I need some information Regarding ANT,
    the problem is i have to add a property file in build.xml (as a environment varialble) so that i can read it in my java code. as
    System.getProperty("").
    Please sugggest me how to set environment variable in build.xml(ANT)
    Thanks
    Edited by: fdfddf on Apr 7, 2008 3:20 PM

    Hi Jakain, yep thanks for your information but my manager wants that way to do..
    he wanted me to set property file as a environment file using build.xml as this property file changes dynamically..
    can you suggest me

  • Environment variables of Winnt winxp

    I wanna set Environment variables of Winnt or winxp thro' Java

    Actually, if you can get access to the registry, you can view/set the user's environment variables at
    HKEY_CURRENT_USER\Environment
    and the system environment variables at
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Evironment
    Note that this is specific to Windows NT 4.0, there's no guarantee that they will be in the same location on other flavours of Windows. Note further that this will certainly work only on Windows machines... there is (AFAIK) no standard way to set environment variables for Linux, BSD or Solaris systems.
    For the particularly brave (or stupid, or both :-), there is a beta(/alpha) registry interface for Java
    http://www.algorekiss.com/wsnE682.html

Maybe you are looking for