Problem to pass Oracle variable to Unix

11gr2
Problem to pass Oracle variable to Unix
refer to echo $x
in korn shell
$cat /tmp/x.sh
"/tmp/x.sh" 11 lines, 208 characters
#!/bin/ksh
x=`sqlplus -s myacc/myacc <<endl
set echo off verify off feed off termout off pages 0
SELECT p.spid
FROM v$session s, v$process p
WHERE s.paddr = p.addr
AND s.sid =2;
exit
endl`
. /tmp/x.sh
$ echo $x   
FROM v s, v p check_logfiles._var_adm_kernlog.seek csn.16 myspid.sh pw_management ssh-BbLO7942 x.sh ERROR at line 2: ORA-04044: procedure, function, package, or type is not allowed hereuse sqlplus
sql> select p.spid
  2  FROM v$session s, v$process p
  3  WHERE s.paddr = p.addr
  4  AND s.sid =2;
SERVER
PID
22965Edited by: jmft2012 on Mar 23, 2013 9:23 PM

jmft2012 wrote:
$cat /tmp/x.sh
"/tmp/x.sh" 11 lines, 208 characters
#!/bin/ksh
x=`sqlplus -s myacc/myacc <<endl
set echo off verify off feed off termout off pages 0
SELECT p.spid
FROM v$session s, v$process p
WHERE s.paddr = p.addr
AND s.sid =2;
exit
endl`
. /tmp/x.sh
$ echo $x   
FROM v s, v p check_logfiles._var_adm_kernlog.seek csn.16 myspid.sh pw_management ssh-BbLO7942 x.sh ERROR at line 2: ORA-04044: procedure, function, package, or type is not allowed hereuse sqlplus
sql> select p.spid
2  FROM v$session s, v$process p
3  WHERE s.paddr = p.addr
4  AND s.sid =2;
SERVER
PID
22965
since the here script is being processed by the command line interpreter, it resolves "$session" & "$process" to be null values.
You need to be smarter than the tools you are (ab)using.
Handle:     jmft2012
Status Level:     Explorer (65)
Registered:     Nov 13, 2009
Total Posts:     355
Total Questions:     74 (32 unresolved)
I extend my condolences to you since you rarely get answers to your questions here.

Similar Messages

  • Problem with do click on a field - Oracle 10g form - UNIX

    Hello, friends.
    I nedd a help. I have a problem with a Oracle 10g form when it was executed in UNIX environment.
    The problem is that when I do click with the mouse in a different field, doesn't lead me to the other field. That is, don't let me to do click on a different field than the initial field of the form. Just work with TAB or ENTER.
    Would you tell me what I can check?
    Thanks.
    Kisses.
    Annie

    Hello
    Another question about the problem that I posted yesterday:
    Why the system.cursor_item isn't change when I do click in other field? Just the system.mouse_item changes. This problem occurss in Oracle 10g at UNIX environment (don't occurss in Windows environment).
    Thanks.
    Kisses.
    Annie

  • Error while passing ODI variable in JNDI Url for JMS Queue XML

    Hi,
    Facing a weird problem while passing ODI variable in JNDI Url for JMS Queue XML.
    Below is the JNDI Url configured under ODI Topology:
    JNDI Url: t3://<host_location>?d=#TEST.SCHEMA_FILE&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    where,
    #TEST.SCHEMA_FILE --> ODI variable storing xsd name and location
    Issue Description:
    If we restart ODI server then for the first run of any ODI interface using JMS Queue XML, it is unable to get the value for ODI variable present in JNDI Url (d=#TEST.SCHEMA_FILE).
    It throws error message saying: No XSD found
    Temporary Resolution:
    As a temporary fix if we hard-code and pass the value in that ODI variable as shown below, it will successfully go through.
    eg: JNDI Url: t3://<host_location>?d=C:\XSD\test.xsd&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    Reverting it back to variable later will have no issues and subsequent run will succeed.
    But again anytime later if server is restarted then first run will have this issue.
    Want to have permanent fix for it.
    Any one having idea on it please share. Appreciate your help!

    What ODI version are you using? It could be related to the bug in the older version as described in support note Doc ID 1290326.1

  • Unable to pass parameter in oracle procedure through unix shell script

    Hi Experts,
    I have oracle procedure where in I have to pass the value of procedure parameter through unix script.
    Follwoing is the sample procedure which i tried to exceute from the unix.
    Procedure:
    create or replace procedure OWNER.PRC_TESTING_OWNER(OWNER IN VARCHAR2) AS
    sql_stmt varchar2(1000) := NULL;
    v_count number := 0;
    v_owner varchar2(100) := owner;
    begin
    sql_stmt:='select count(1) from '||v_owner||'.EMP@infodb where rownum<=10';
    execute immediate sql_stmt into v_count;
    DBMS_OUTPUT.PUT_LINE(sql_stmt);
    DBMS_OUTPUT.PUT_LINE(v_count);
    END;The script which I used is:
    Unix
    #!/bin/ksh
    parm=$1
    echo start
    sqlplus -s scott@DEV/tiger <<EOF >>result_1.txt
    set serveroutput on;
    select '$parm' from dual;
    exec owner.PRC_TESTING_OWNER('$parm');
    EOFThe script is working fine that is i am able to pass to parameter value through unix shell script. :)
    But if I want to pass the value of the owner in cursor , I am unable to pass this value through unix.
    Following the procedure which i am trying to implement.
    create or replace procedure OWNER.PRC_TESTING_OWNER(OWNER IN VARCHAR2) IS
    v_owner varchar2(100) := owner;
    CURSOR main_cur IS 
      select
      i.ROWID  rid ,
      emp_name,
      deptid
      from v_owner.employee;
    CURSOR subset_cur(c_deptid NUMBER ) IS
        SELECT *
          FROM v_owner.DEPT d
          where  d.dept_id=c_deptid;
    --##main loop     
    FOR i IN main_cur LOOP
          FOR j IN subset_cur(i.deptid) LOOP     
    BEGIN
    insert into v_owner.RESULT_TABLE
    END;
    END LOOP;
    END LOOP;How can i pass parameter value of the stored procedure through unix script(that is "owner" in this case), when these parameter value is
    used in cursor? :(
    Can anybody help me regarding the same?
    Thanks in Advance !! :D

    It's not the parameter in the cursor that is the problem, it's that you are trying to use static SQL for something that won't be known until run time (the owner of the table).
    You would need to use something like ...
    declare
       l_owner        varchar2(30) := 'SCOTT';
       l_ref_cursor   sys_refcursor;  
       type l_ename_tab is table of scott.emp.ename%type;
       l_ename_array  l_ename_tab;
    begin
       open l_ref_cursor for
          'select ename
          from ' || l_owner || '.emp';
       loop
          fetch l_ref_cursor bulk collect into l_ename_array limit 10;
          exit when l_ename_array.COUNT = 0;
          for x in 1 .. l_ename_array.count
          loop
             dbms_output.put_line(l_ename_array(x));
          end loop;
       end loop;
       close l_ref_cursor;
    end;
    SMITH
    ALLEN
    WARD
    JONES
    MARTIN
    BLAKE
    CLARK
    SCOTT
    KING
    TURNER
    ADAMS
    JAMES
    FORD
    MILLER
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.01

  • Problem regarding passing variable  in sdo_ordinate_array

    I want to pass user selected points in sdo_ordinate array and return result in an array . I have created two varrays in oracle called ALLPOS and LSTPOS.ALLPOS is output array . I get the desired output when i hard cord the values of sd0_ordinate_array but i am not able to pass any variable parameter in sdo_ordinate_array . If i try to pass a string variable i get invalid number exception . If i pass a varray called LSTPOS i get following exception.
    FUNCTION FOO(lstpos in LSTPOS) RETURN ALLPOS
    AS
    POS_DATA ALLPOS := ALLPOS();
    CURSOR c_pos is
    SELECT cust_id FROM T_S_CUSTOMERS
    WHERE SDO_RELATE(geometry,
    SDO_GEOMETRY(2003, 8307, NULL,
    SDO_ELEM_INFO_ARRAY(1,1003,1),
    SDO_ORDINATE_ARRAY(lstpos)),'mask=inside querytype=window') = 'TRUE';
    BEGIN
    FOR pos_rec IN c_pos LOOP
    POS_DATA.extend;
    POS_DATA(POS_DATA.count) := pos_rec.cust_id;
    END LOOP;
    RETURN POS_DATA;
    END;
    i get following compilation error
    Error(9,24): PL/SQL: ORA-00932: inconsistent datatypes: expected NUMBER got BATUSER.LSTPOS
    Thanks and Regards
    Nidhi

    Hi!
    I would like you using following with MDSYS.SDO_ORDINATE_ARRAY
    definition: [CREATE TYPE mdsys.sdo_elem_info_array AS VARRAY (1048576) of NUMBER]
    CREATE OR REPLACE FUNCTION FOO(lstpos in MDSYS.SDO_ORDINATE_ARRAY)
      RETURN MDSYS.SDO_ORDINATE_ARRAY AS
      POS_DATA MDSYS.SDO_ORDINATE_ARRAY := MDSYS.SDO_ORDINATE_ARRAY();
      CURSOR c_pos is
        SELECT cust_id FROM T_S_CUSTOMERS
        WHERE SDO_RELATE(
          geometry,
          MDSYS.SDO_GEOMETRY(2003, 8307, NULL,
            MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
            lstpos
          ),'mask=inside querytype=window'
        ) = 'TRUE';
    BEGIN
      FOR pos_rec IN c_pos LOOP
        POS_DATA.extend;
        POS_DATA(POS_DATA.count) := pos_rec.cust_id;
      END LOOP;
      RETURN POS_DATA;
    END;
    --call the function
    declare
      -- Non-scalar parameters require additional processing
      result mdsys.sdo_ordinate_array;
      lstpos mdsys.sdo_ordinate_array := mdsys.sdo_ordinate_array(1,2,3,4);
    begin
      -- Call the function
      result := foo(lstpos => lstpos);
    end;regards, Andreas

  • Problem passing Session variable as URL parameter?

    Hi,
    I am trying to create a multiple page entry form using
    coldfusion session. But I am having some problem when passing the
    session variable to url parameter. For test purpose I have created
    the following code:
    <cfif Not IsDefined("SESSION.AE")>
    <!--- If structure undefined, create/initialize it
    --->
    <cfset SESSION.AE = StructNew()>
    <!--- Represent current form srep; start at one --->
    <cfset SESSION.AE.StepNum = 1>
    </cfif>
    <cfif IsDefined("Form.GoBack")>
    <cfset SESSION.AE.StepNum = #url.StepNum# - 1>
    <cfelseif IsDefined("Form.Next")>
    <cfset SESSION.AE.StepNum = #url.StepNum# + 1>
    </cfif>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1">
    </head>
    <body>
    <form method="post"
    action="/AE/try.cfm?StepNum=#SESSION.AE.StepNum#">
    <input type="submit" name="GoBack" value="Back">
    <input type="submit" name="Next" value="Next">
    </form>
    </body>
    </html>
    When run it I get the following error:
    The value "" cannot be converted to a number
    The error occurred in C:\CFusionMX\wwwroot\AE\try.cfm: line
    11
    9 : <cfset SESSION.AE.StepNum = #url.StepNum# - 1>
    10 : <cfelseif IsDefined("Form.Next")>
    11 : <cfset SESSION.AE.StepNum = #url.StepNum# + 1>
    12 : <!---<cfset SESSION.AE.StepNum = #url.StepNum# +
    1>--->
    13 : </cfif>
    I couldn't figure out where is the problem. Any help is
    really appreciated.
    Thanks in advance.

    You are mixing up your gets and posts aren't you?
    You have your form method set to post which creates form
    variables not
    url variables. So when you try to use the url variable to set
    your
    session it does not exist.
    Change your SESSION.AE.StepNum = #url.StepNum# to
    Session.AE.StepNum =
    form.StepNum, note there is no need for the #'s.
    OR
    change your form method="post" to form method="get"
    Nagelia wrote:
    > Hi,
    >
    > I am trying to create a multiple page entry form using
    coldfusion session. But
    > I am having some problem when passing the session
    counter to url parameter. For
    > test purpose I have created the following code:
    >
    > <cfif Not IsDefined("SESSION.AE")>
    > <!--- If structure undefined, create/initialize it
    --->
    > <cfset SESSION.AE = StructNew()>
    > <!--- Represent current form srep; start at one
    --->
    > <cfset SESSION.AE.StepNum = 1>
    > </cfif>
    > <cfif IsDefined("Form.GoBack")>
    > <cfset SESSION.AE.StepNum = #url.StepNum# - 1>
    > <cfelseif IsDefined("Form.Next")>
    > <cfset SESSION.AE.StepNum = #url.StepNum# + 1>
    > </cfif>
    >
    > <html>
    > <head>
    > <title>Untitled Document</title>
    > <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1">
    > </head>
    > <body>
    > <form method="post"
    action="/AE/try.cfm?StepNum=#SESSION.AE.StepNum#">
    > <input type="submit" name="GoBack" value="Back">
    > <input type="submit" name="Next" value="Next">
    > </form>
    > </body>
    > </html>
    >
    > When run it I get the following error:
    >
    > The value "" cannot be converted to a number
    >
    >
    > The error occurred in C:\CFusionMX\wwwroot\AE\try.cfm:
    line 11
    >
    > 9 : <cfset SESSION.AE.StepNum = #url.StepNum# - 1>
    > 10 : <cfelseif IsDefined("Form.Next")>
    > 11 : <cfset SESSION.AE.StepNum = #url.StepNum# +
    1>
    > 12 : <!---<cfset SESSION.AE.StepNum =
    #url.StepNum# + 1>--->
    > 13 : </cfif>
    >
    > I couldn't figure out where is the problem. Any help is
    really appreciated.
    >
    > Thanks in advance.
    >
    >
    >
    >

  • How to pass bind variable into oracle reports 6i - Parameter form

    Hello All,
    I want to pass bind variable into Oracle Reports 6I - Parameters.
    I have tried out that but got the below error :-
    rep-0781 : Bind variables are not allowed in the select statement
    Kindly help me is there any option which allow me to pass bind variables into Oracle reports 6I.
    Thanks
    HARSH SHAH

    Hi,
    may be its not possible to use :P_PARAM1 in user parameter of oracle 6i reports
    but u can full fill user requirement using oracle forms
    create a form as like as report parameter window
    then create parameter list and run report
    PROCEDURE Run_Emp_Report IS
      pl_id ParamList;
    BEGIN
      pl_id := Get_Parameter_List('tmpdata');
      IF NOT Id_Null(pl_id) THEN
        Destroy_Parameter_List( pl_id );
      END IF;
      pl_id := Create_Parameter_List('tmpdata');
      Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
      Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
    END;
    thanks
    mostafiz mitul
    Dhaka Bangladesh

  • Problems passing timestamp variable to block-SQL command not properly ended

    Can you please help me answer or direct me to resources in answering the following.
    I'm attempting to pass a timestamp variable to a block but am getting errors with every method I've tried yet.
    The example below is attempting to generate a list of all sales dates for orders after the 21st of March 2000.
    DECLARE
    BeginDate Orders.PurchaseDate%TYPE :=to_date('21-3-2000', 'dd-mm-yyyy');
    Target Orders.PurchaseDate%TYPE;
    BEGIN
    DBMS_OUTPUT.PUT_LINE(to_char(BeginDate));
    SELECT Distinct PurchaseDate from Orders into Target WHERE PurchaseDate>BeginDate;
    END;
    When running it - it returns
    ORA-00933: SQL command not properly ended ORA-06512: at line 8Please advise

    -- I"m still trying to get a timestamp into an execute immediate statement.
    Declare
    BeginDate Orders.PurchaseDate%TYPE :=to_date('21-3-2000', 'dd-mm-yyyy');
    var_date Orders.PurchaseDate%TYPE ;
    BEGIN
    DBMS_OUTPUT.PUT_LINE(to_char(BeginDate,'DD.MM.YYYY'));
    sql1 = 'SELECT MAX(PurchaseDate) INTO Target from Orders WHERE PurchaseDate> :var_date';
    Execute Immediate sql1 Using BeginDate;
    DBMS_OUTPUT.PUT_LINE(to_char(Target,'DD.MM.YYYY'));
    END;
    Thanks again for the replies, I'm still not there yet even after re-reading the documentation that applies to this,
    Using what follows below the Execute Immediate line/syntax is the problematic part of this...
    to quote the block line still returning errors.
    This line which would seem natural...
    Execute Immediate sql1 Using BeginDate;returns -- missing keyword
    Modified with this line attempts to pass another variable to the block also errors.
    Execute Immediate sql1 Using BeginDate, var_date;returns -- ORA-01006: bind variable does not exist
    Perhaps I'm not getting some key concept here, but I would think passing a variable into execute immediate would be
    as simple as passing a string or int into a *.bat,*.sh file or function/procedure in any other language.
    And/or I'm missing a key element or understanding to how this syntax should work.
    Thank you very much for your previous replies any other ideas welcome.

  • ORACLE SERVER AND UNIX TP MONITOR-2

    제품 : ORACLE SERVER
    작성날짜 : 1995-01-24
    Subject: Oracle Server and UNIX Transaction Processing Monitors-2
    Page(3/4)
    This file contains commonly asked questions about Oracle7 Server and UNIX
    Transaction Processing Monitors (TPMs). The topics covered in this article are
         o Oracle Parallel Server and TP Monitors
         o Oracle and DCE-based TP Monitors
         o Other commonly asked questions
    The questions answered in part 3 provide additional detail to the information
    provided in part 1.
    Oracle Parallel Server and TP Monitors
    ======================================
    How does Oracle Parallel Server (OPS) work with TP Monitors?
    If you are using Oracle-managed transactions, there are no special
    considerations. But if you are using TPM-managed transactions, and
    thus need to use the XA interface, then Oracle requires release 7.1.3
    or later and a special version of the Distributed Lock Manager, called
    the session-based lock manager. This version of the DLM is not yet
    available for all platforms. To understand this restriction, let's take
    a look at one of the technical details of XA.
    The XA specification requires that the Resource Manager be able to
    move a transaction from one process to another, and even to be
    able to commit in a separate process. In Oracle, transactions are
    attached to sessions, so that means that we also have to be able to
    move sessions. Therefore, the session/transaction can't have any state
    which is tied to a particular process. The first generation distributed
    lock managers were all built to use the process id as the lock owner,
    which doesn't work for locks which need to move with the transaction.
    Oracle and DCE-based TP Monitors
    ================================
    How does Oracle interface to the Encina TP monitor? To CICS/6000? I've
    heard that they require OSF DCE facilities in order to run?
    Oracle interfaces to Encina and CICS/6000 just as it does to any other
    TP Monitor. The TP Monitor issues XA commands to control transactions, and
    Oracle executes the commands. Encina and CICS/6000 do use DCE features for
    their own operation. However, this use is transparent to the Oracle Server.
    What DCE facilities can Oracle products take advantage of when working with
    a DCE-based TP Monitor?
    The two most commonly mentioned DCE features which might be useful
    to Oracle users are multi-threading and security. We look at these in
    the subsequent questions in this section.
    Encina documentation suggests that a Resource Manager such as Oracle can
    be either single-threaded or multi-threaded? Which way is Oracle XA
    implemented?
    The Oracle XA implementation is single-threaded, as is any Oracle client.
    Within a single process, at most one thread can access Oracle at a time.
    Does that mean that only a single Encina application can access an instance
    of Oracle transactionally at any given moment?
    No. Oracle XA is only single-threaded within a single application server
    process. Multiple applications can access Oracle simultaneously using XA
    by using different application processes. Encina allows
    (1) serial reuse of a single server by different clients. There are
    two options for this. The server can use long term reservation
    but be defined to be in shared or concurrent access mode, which
    allows the server to be used by another client as soon as an RPC
    completes. Alternatively, the server can use default reservation
    and exclusive mode, which allows the server to be used by another
    client as soon as the current transaction ends.
    (2) concurrent execution by multiple servers, even if they are accessing
    the same Oracle database. These may be executing the same or different
    procedures.
    These two features should let you get as much concurrency as you need.
    Why isn't the Oracle XA library multi-threaded?
    The XA specification specifically states that its use of the phrase
    "thread of control" means a process. If an RM were to multi-thread its
    XA, it would be in violation of the specification. This restriction
    was put place in because at the time the specification was written,
    there were numerous thread packages: if the TM used one, the application
    another, and perhaps the RM yet a third, there's no way it could work.
    As threads standards settle down, the later versions of XA will probably
    relax this restriction.
    Will Oracle change if the XA specification changes?
    Very likely. The exact time frame will of course depend on the priority of
    all work items at that time.
    Does Oracle use DCE security via the TP Monitors?
    The integrity of the connection between a DCE TP Monitor client and DCE
    TP Monitor server is protected by the DCE security functionality.
    Theoretically, the TP Monitor could make the DCE-protected client security
    information available to Oracle. Unfortunately, there's no standard way
    for a TP Monitor to pass security information information to a Resource
    Manager such as Oracle. Oracle is leading an effort to extend the X/Open
    model to allow use of the security information provided by the Monitor.
    In the meantime, the basic DCE security features such as encryption are
    useful within TP Monitors.
    Effective use of DCE security would normally also mean that the security of
    the TP Monitor client be passed through the TP Monitor, through the Oracle
    client (application server), to the Oracle Server, and possibly on
    to other Oracle Servers through database links. The ability to transfer
    security information to other processes, called delegation, is missing
    in DCE version 1.0. DCE version 1.1, expected to emerge in late 1994,
    has some delegation features. Oracle is examining these features to see
    how they might be used.
    Are there any special considerations for CICS/6000?
    There are two:
    (1) It is inefficient to run without XA. CICS/6000 is designed to
    use XA. It uses XA so that the CICS server can log on to Oracle
    when it starts, after which it makes that Oracle connection available
    to any transaction it executes. If you don't use XA, the CICS server
    does not itself log on to Oracle so each transaction has to log on
    and log off - a very expensive mode of operation. Also, it is very
    un-cics-like in that the application does the log{on,off} and also
    commits - in a mainframe CICS database program CICS would implicitly
    do these operations. Oracle does not recommend this mode because of the
    performance penalty.
    (2) CICS servers are generic and dynamically load application modules.
    In order for these modules to access the Oracle connection made by
    CICS, the applications must be built with a shared object version of
    the Oracle libraries. This is an installation option on platforms which
    support CICS/6000 and other products using its architecture such as
    CICS 9000.
    Other commonly asked questions
    ==============================
    What other Resource Managers can be included in an Oracle XA transaction?
    Several other relational database vendors have an XA implementation
    available or in progress. There is an XA C-ISAM product from
    Gresham Telecomputing. There are also Resource Managers contained
    within some of the TP Monitors which can be coordinated in the same
    transaction. For example, CICS/6000 has VSAM files and other data
    stores, Encina has its RQS queuing system, and Tuxedo has its /Q queuing
    system.
    What is Recoverable Queuing Service (RQS) and how does it interoperate with
    Oracle7 and Encina? What about /Q?
    Recoverable Queuing Service is a feature provided by Encina which allows
    transactional, distributed queuing (enqueue/dequeue). Tuxedo has a similar
    product called /Q. Because these products are themselves coordinated by the
    TM component of the TP Monitor, their queue operations are atomically
    coordinated with with operations on XA Resource Managers such as Oracle7
    Server. That is, they can atomically put something on one of their queues
    and commit an Oracle transaction, then at some later time dequeue an
    entry atomically with doing some other Oracle transaction. The queue
    system guarantees that the message will not be lost or transmitted twice.
    Can I mix TP Monitor applications with standard Oracle7 Server applications?
    Yes, you can have existing Oracle applications connected to the database
    with alongside TPM applications against the same database. The TPM does
    not manage the whole database, just those transactions which are started
    by the TPM. The Oracle Server will properly handle concurrency control
    between the transactions managed by itself and those managed by the TPM.
    Is Oracle planning to change its tools to be more suitable for TP Monitors?
    With Oracle Procedure Builder 1.5, to be available with CDE2,
    Oracle will provide a foreign function interface that allows you to
    dynamically set up PL/SQL calls that access C functions. In other
    words, you can access C routines in Windows DLLs from within your
    PL/SQL procedures. This will allow PL/SQL under Windows easy access to
    TP Monitor APIs.
    Does Oracle7 Server itself use XA-compliant TPMs as the interface to
    foreign RMs?
    No, for this purpose Oracle Server uses the SQL*Connect products or the new
    Transparent and Procedural Gateway products.
    Does Oracle7 Server use XA to coordinate Oracle7-only distributed
    transactions?
    No, it uses an internal mechanism.
    Can database links be used with XA?
    If an Oracle7 database is running under XA, it can access other Oracle7
    databases through database links, with some restrictions. First, the
    access to the other database must use SQL*Net V2 and be running MTS.
    Second, it must currently be to another Oracle7 database. Assuming those
    restrictions, the Oracle 7 database can do distributed update to another
    Oracle 7 database by using a database link, whether it is started by an
    Oracle application or a TP Monitor application. The TPM will see Oracle
    as only a single RM, but Oracle7 will propagate all the transaction
    commands to the other database, including the two-phase commit. If
    the transaction is started by a TP Monitor application and is using XA,
    it can also update non-Oracle resources managed by the TPM. If it
    is started from an Oracle application, it can only include resources
    managed by Oracle.
    Here's a sample configuration:
    | TPM | | TPM |
    | client | | client |
    | |
    | |
    | TPM |
    | |
    | |
    | Oracle | Forms, Forms, | Oracle | | non-XA | | XA |
    | client | Plus, Plus, | client | | TPM | | TPM |
    --------- Pro, Pro, --------- | server | | server |
    | Financials, Financials, | |(note 1)| ----------
    | etc. etc. | ---------- |
    | | | |
    | SQL | SQL | SQL | XA
    | commit | commit | commit | commit
    | | | |
    | Oracle | | Oracle | | Oracle | | Oracle |
    | server | | server | | server | | server |
    | | | |
    | | | |
    | | | |
    | Database 1 | | Database 2 |
    | | | |
    | A | A
    | | dblink to database 1 | |
    | ------------------------------------ |
    | |
    dblink to database 2
    Note 1: Oracle will work having both XA and non-XA servers but some TPMs
    may have restrictions on this.
    Are multiple direct connections possible from a Pro* program?
    Using XA, you can not only specify multiple direct connections to Oracle7
    databases, you can also update them both in the SAME transaction. The
    way to do this is to use a precompiler feature called a named database.
    When you use a named database, you qualify the SQL statement with the
    database name. For example, you write EXEC SQL AT dbname UPDATE emp ....
    We have a complementary feature in the xa open string to let the user
    associate the name with a particular RM instance, called the DB clause.
    You will also want to use the SqlNet clause in the open string so you
    can give the two different SIDs. This clause does not require the use of
    the SQL*Net product, it is just a naming convention. For more information,
    see Oracle7 Server for UNIX Administrator's Reference Guide.
    Some TP Monitors may not support having multiple Resource Mangers in the
    same server; check with the TPM vendor.
    Is there any collateral available for XA or TP Monitors?
    Oracle At Work 52684.0692
    Oracle7 Server for UNIX Administrator's #A10324-1
    Reference Guide
    Guide to Oracle's Products and Services #A10560
    Oracle7 Server and CICS/6000               #A14200
    Where can I get more information on the DTP model?
    X/Open's address is
    X/Open company Ltd (Publications)
    P O Box 109
    Penn
    High Wycombe
    Bucks HP10 8NP
    Tel: +44 (0)494 813844
    Fax: +44 (0)494 814989
    Request
    G307 Distributed Transaction Processing: Reference Model Version 2
    X/Open Guide G307 ISBN 1-859120-19-9 28cm.44p.pbk.220g.11/93
    Page(4/4)
    This file contains commonly asked questions about Oracle Server and UNIX
    Transaction Processing Monitors (TPMs). The topics covered in this article are
         o Performance with Oracle Server and TP monitors
         o Performance using Oracle's XA Library
    The questions answered in part 4 provide additional detail to the information
    provided in part 1.
    Performance with Oracle Server and TP Monitors
    ==============================================
    I have heard that Transaction Processing Monitors (TPMs) will increase
    Oracle Server performance. Is this true?
    Several hardware and TPM vendors have made the claim that TPMs
    will increase RDBMS performance. This claim is based on TPC-A
    benchmarks. The key point to understand about TPC-A is that it
    requires, for every transaction-per-second, ten times that many
    users to be connected. For example, to get 600 TPS, you need 6000
    users. The next question will answer in more detail how the the
    three-tier architecture addresses this requirement, but first let's
    look more generally at what TP Monitors can and can't do to improve
    performance.
    TP Monitors can provide better performance:
    (1) When there are more than several hundred users connected.
         This is because of the TP Monitor's role in the three-tier
         architecture, described in the next question. In this
         architecture, terminal handling is offloaded to one or more
         separate machines, freeing up those cycles to do database work.
         Note that this does NOT mean that Oracle itself runs faster,
         just that we've given it more CPU cycles to use.
    (2) When, because of the high potential concurrency of requests,
         significant resource contention exists. Use of a TP Monitor can
         limit the degree of concurrency and thus reduce contention.
    TP Monitors can not provide better performance:
    (1) For existing applications. The applications must be designed
         to fit the TP Monitor architecture.
    (2) For applications which are highly interactive in their use of
         the database. These applications put many messages
         through the transport system, and the TP Monitor is not as
         efficient as SQL*Net for point-to-point communication.
    (3) For CPU intensive single-query decision support. When executing
         a single large command, Oracle query facilities work efficiently,
         especially with the use of Oracle Parallel Query, available in 7.1.
    How does the three-tier solution help TPC-A, or other situations with
    thousands of on-line users?
    The TPC-A test calls for a large number of users to produce a given
    result. In the high-end results we produced in June, 1992, for example,
    6150 terminals were simulated to produce 618 TPC-A transactions.
    Thus, terminal concentration accounts for a large portion of the total
    processing time used.
    First, let's look at how the Multi Threaded Server would work for
    this benchmark. In this case, there are many client processes,
    but only a few server processes, which handle client requests on a
    first-come first serve basis. When they are done with a request,
    they take another client's request.
    ORACLE7 CLIENT/SERVER ARCHITECTURE WITH MULTI THREADED SERVER
    | Client | | Server |
    | __________ |______________|_____ _____________ _____________ |
    | | Client | | SQL*Net | |_|Dispatcher | | | |
    | | Process| | | ____| Process |___| | |
    | |________| | | | __|___________| | | |
    |____________| | | | | | | | |
    | | | | | | Oracle7 | |
    ______________ | | | __|__|____ | Server | |
    | Client | | | | __|_|_____ | | | |
    | __________ | | | | | Shared | |____| | |
    | | Client | | SQL*Net | | | | Server |_|____| | |
    | | Process|_|______________|__| | | Process|_| | | |
    | |________| | | | |________| |___________| |
    |____________| | | |
    | | |
    ______________ | | |
    | Client | | | |
    | __________ | | | |
    | | Client | | SQL*Net | | |
    | | Process|_|______________|____| |
    | |________| | | |
    |____________| | |
    |_______________________________________|
    Client processes = N Dispatcher processes >= 1
    Shared server processes >= 1
    If there are 500 clients in this environment, there will be one or more
    dispatcher processes, dynamically tunable, and one or more shared
    server processes, dynamically tunable, on the server. The reduction
    in the total number of processes handled by the server system
    results in more processing time available for RDBMS activity. Thus
    higher RDBMS transaction throughput can be obtained on the
    server system.
    But the problem for the TPC-A, and for certain large customer
    configurations, is not the only ability of the Oracle Server to
    process transactions, but also the ability of the operating
    system to handle huge numbers of incoming connections.
    There is one incoming connection for each client. Most UNIX
    operating systems have a limit on how many such connections they can
    handle. Even if a particular operating system allows a large number of
    connections, each takes some amount of overhead to manage.
    In order to service all 6150 terminals, we selected a 3-tier hardware
    environment where the middle tier, using a TPM, acted as a terminal
    concentrator. The high-end TPC-A architecture looked like the following.
    The Application Servers, which contain the Pro*C statements used to
    perform the transaction also run on the terminal concentrator machine
    in order to offload as much work from the database serve as possible.
    They send the compiled SQL over SQL*Net to the Oracle7 Server processes.
    ORACLE7 TPS-A CLIENT/SERVER ARCHITECTURE
    | Client | | Terminal | | Server |
    | ________ | | Concentrator | | |
    | | Client | |TPM | | | |
    | | Process|_|_____|__ _____ | | |
    | |________| |Comm | | | | | | |
    |____________| | | | | | | |
    | |__| | | | |
    ____________ | | TPM | | | |
    | Client | | ___| | _______ | | ________ _______ |
    | ________ | | | | |_| |__|_______|__| Oracle | | | |
    | | Client | |TPM | | | | |Appl. | |SQL*Net| | Server |__| | |
    | | Process|_|_____|_| |_____| |Server | | | | Process| | | |
    | |________| |Comm | |_______| | | |________| | | |
    |____________| | | | | | |
    |_______________________| | | | |
    | | | |
    ____________ _______________________ | |Oracle7| |
    | Client | | Terminal | | |Server | |
    | ________ | | Concentrator | | | | |
    | | Client | |TPM | | | | | |
    | | Process|_|_____|__ _____ | | __________ | | |
    | |________| |Comm | | | | _______ |SQL*Net| | Oracle | | | |
    |____________| | | | |_| |__|_______|__| Server |__| | |
    | |__| | |Appl. | | | | Process| | | |
    ____________ | | TPM | |Server | | | |________| |_______| |
    | Client | | ___| | |_______| | | |
    | ________ | | | | | | | |
    | | Client | |TPM | | | | | | |
    | | Process|_|_____|_| |_____| | | |
    | |________| |Comm | | | |
    |____________| | | | |
    |_______________________| |________________________|
    Clients = 6150 Terminal concentrators = 17
    TP Monitor instances = 17
    Application server processes Oracle Server processes
    = 17*8 = 17*8
    The TPM is the software component of the terminal concentrator. In this role
    it offloads terminal handling from the the machine running Oracle Server.
    Since more than one terminal concentrator can be configured, whereas the
    database in this case had to run on a single machine, concentrator machines
    can be added until the performance of the back-end machine was optimized.
    This three-tier solution resulted in the outstanding transaction throughput
    announced with Oracle7 Server. Even with Oracle Parallel Server, it may pay
    to offload the terminal handling so that the cluster can be exclusively used
    for database operations.
    Can you summarize the performance discussion for me?
    Depending on the number of users required, different architectures may be
    used in a client/server environment to maximize performance:
    1) For a small number of users, the traditional Oracle two-task
    architecture can be used. In this case, there is a one-to-one
    correspondence between client processes and server processes. It's
    simple, straightforward, and efficient.
    2) For a large number of users, Multi Threaded Server might be a better
    approach. Although some tuning may be required, Multi Threaded Server
    can handle a relatively large number of users for each machine size
    compared to the traditional Oracle approach. Using this approach,
    customers will be able to handle many hundreds of users on many
    platforms. Furthermore, current Oracle applications can move to this
    environment without change.
    3) For a very large number of users, where transactions are simple and
    terminal input concentration is the overriding performance issue, a
    3-tier architecture incorporating a TPM may be useful. In this case,
    terminal concentration is handled by the TPM in the middle tier. As
         you might expect, it is a more complex environment requiring more
         system management. For existing Oracle customers, significant Oracle
    application modifications will be required.
    Oracle provides all of these choices.
    Performance using Oracle's XA Library
    =====================================
    Are there any performance implications to using the XA library (in other
    words, to using TPM-managed transactions)?
    (1) The XA library imposes some performance penalty. You should use
    TPM-managed transactions only if you actually need them. Even if you
    are getting the one-phase commit optimization, the code path is
    longer because we need to map back and forth between external
    formats and internal ones. Also, prior to 7.1, XA requires you
    to release all cursors at the end of a transaction, which results
    in extra parsing. Even with shared cursors, there is time spent
    looking up the one you need and re-validating it. This has been
    improved for 7.1.
    (2) If you need to use two-phase commit, this will incur additional cost
    since extra I/Os are required. If you do need 2PC, you need to account
    for that when sizing the application.
    (3) Although some TPMs allow parallel execution of services (such as Tuxedo's
    "tpacall"), this will not normally enhance performance unless different
    resource managers are being used. In fact, Oracle Server must serialize
    accesses to the same transaction by the same Oracle instance, and the
    block/resume code will in fact degrade performance in that case compared
    to running the services sequentially.

    hello,
    the role is the same on all plattforms. the reports server takes requests for running reports, spawns an engine that executes the request. in addition to that, the server also provides scheduling services and security features for the reports environment.
    regards,
    the oracle reports team

  • LoadVars-using send to pass a variable from flash to php

    For the life of me, I've tried everything:
    I've researched LoadVars on Adobe forum, used David Powers'
    books, googled 'flash to php', LoadVars, etc. and tried
    sendAndLoad, send, and using $_POST, $_GET, $_REQUEST.
    $HTTP_POSTVARS but I keep getting this same error. any advice
    please?
    I have a Unix server running Apache/PHP 4 - LoadVars worked
    to load name-value pairs into an array -see thread)
    My goal with this simple app is to prototype being able to
    pass a variable from flash to a variable in php.
    Parse error: syntax error, unexpected T_VARIABLE in
    flash_to_SQL.php on line 5
    Actionscript 2.0 code:
    var c :LoadVars = new LoadVars();
    c.testing = "123FOUR";
    c.send ("
    http://127.0.0.1/flash_to_SQL.php","_self","POST");
    php code: (I also tried $_POST, $_GET, $_REQUEST.
    $HTTP_POSTVARS)
    <?php
    //mysql 4.1.2, php 4 , NO mysqli
    ecbo $_REQUEST ['testing'];
    /?>

    var formData:LoadVars = new LoadVars();
    formData.fname = "Name";
    formData.send("
    http://www.website.com/flash_php.php",
    formData, "POST");
    <?php
    $name = $_POST['fname'];
    echo $name;
    ?>

  • How to pass session variable value with GO URL to override session value

    Hi Gurus,
    We have below requirement.Please help us at the earliest.
    How to pass session variable value with GO URL to override session value. ( It is not working after making changes to authentication xml file session init block creation as explained by oracle (Bug No14372679 : which they claim it is fixed in 1.7 version  Ref No :Bug 14372679 : REQUEST VARIABLE NOT OVERRIDING SESSION VARIABLE RUNNING THRU A GO URL )
    Please provide step by step solution.No vague answers.
    I followed below steps mentioned.
    RPD:
    ****-> Created a session variable called STATUS
    -> Create Session Init block called Init_Status with SQL
        select 'ACTIVE' from dual;
    -> Assigned the session variable STATUS to Init block Init_Status
    authenticationschemas.xml:
    Added
    <RequestVariable source="url" type="informational"
    nameInSource="RE_CODE" biVariableName="NQ_SESSION.STATUS"/>
    Report
    Edit column "Contract Status" and added session variable as
    VALUEOF(NQ_SESSION.STATUS)
    URL:
    http://localhost:9704/analytics/saw.dll?PortalGo&Action=prompt&path=%2Fshared%2FQAV%2FTest_Report_By%20Contract%20Status&RE_CODE='EXPIRED'
    Issue:
    When  I run the URL above with parameter EXPIRED, the report still shows for  ACTIVE only. The URL is not making any difference with report.
    Report is picking the default value from RPD session variable init query.
    could you please let me know if I am missing something.

    Hi,
    Check those links might help you.
    Integrating Oracle OBIEE Content using GO URL
    How to set session variables using url variables | OBIEE Blog
    OBIEE 10G - How to set a request/session variable using the Saw Url (Go/Dashboard) | GerardNico.com (BI, OBIEE, O…
    Thanks,
    Satya

  • Passing Session variable of DATE data type to opaque view filter

    Hi Everyone,
    Can you guys please help me in passing session variable of DATE data type in RPD's physical layer 'opaque view' filter for Oracle database
    I tried following syntax, syntax wise I didn't got getting any error, but at the same time this opaque view is not fetching any records as well. my session variable is "END_DATE" and its value is 1998/12/31:00:00:00(as shown in RPD session windows, datatype is DATETIME)
    SELECT AMOUNT_SOLD, CHANNEL_ID, CUST_ID, PROD_ID, PROMO_ID, QUANTITY_SOLD, TIME_ID FROM SH.SALES
    WHERE TIME_ID =TO_DATE( 'VALUEOF(NQ_SESSION.END_DATE)','MM/DD/YYYY')
    SELECT AMOUNT_SOLD, CHANNEL_ID, CUST_ID, PROD_ID, PROMO_ID, QUANTITY_SOLD, TIME_ID FROM SH.SALES
    WHERE TIME_ID = TO_DATE( 'VALUEOF(NQ_SESSION."END_DATE")','MM/DD/YYYY')
    SELECT AMOUNT_SOLD, CHANNEL_ID, CUST_ID, PROD_ID, PROMO_ID, QUANTITY_SOLD, TIME_ID FROM SH.SALES
    WHERE TRUNC(TIME_ID) = TO_DATE( 'VALUEOF(NQ_SESSION."END_DATE")','MM/DD/YYYY')
    In past, I was able to pass a session variable into a opaque view filter using DATEOF function, but that was in DB2.
    I appreciate your time and help

    Finally, I got right format. here it is
    to_date(substr('valueof(NQ_SESSION.END_DATE)',1,10), 'yyyy-mm-dd')
    and here is the source from where I got this information
    Using OBIEE Session Variables in Select Tables in the Physical Layer

  • Passing a variable from one thread to another

    Hi. I'm trying to produce a chat program in Java but need to pass a variable between two threads. I have included a snipet of the code.
    import java.io.*;
    import java.net.*;
    class IndividualConnection extends Thread
         public Socket clientSocket;
         String userName = "";
         public IndividualConnection(Socket connectingSocket)
              clientSocket = connectingSocket;
    public login(String name)
    userName = name;
         public void messageUser(Socket socket, String msg)
              try
                   Socket newSocket = new Socket("192.168.0.162",5163);     
                   DataOutputStream outToServer = new DataOutputStream(socket.getOutputStream());
                   outToServer.writeBytes(msg + '\n');     
              catch(Exception e)
                   System.out.println("The connection with the client has been closed.");
                   this.stop();
    public void run()
         Socket global = clientSocket;
    // etc etc
    A number of threads are created based on code similar to the above. Each thread communicates to a different client on the chat program. However, I want to be able to send messages between the clients.
    Each thread has a method called messageUser(Socket socket, String msg). I should (hopefully) be able to send a message to anyone using the prog if I can access their socket. The problem is that the socket objects for each client is held in the clients own thread. I have tried writing some code to find the Socket object in another thread but to no success. The code I am trying is shown below.
         public Socket findContact(String name)
              ThreadGroup currentGroup = Thread.currentThread().getThreadGroup();
              int numThreads = currentGroup.activeCount();
              Thread[] listOfThreads = new Thread[numThreads];
              currentGroup.enumerate(listOfThreads);
              for (int i = 0; i < numThreads; i++)
                   String threadName = listOfThreads.getName();
                   if (threadName.compareTo(name) == 0)
                   //     Socket tempSocket = threadName[i].getClass().getField(clientSocket);
              return tempSocket;
    The line I have commented out does not work. Please could someone tell me how to carry out this task. I have spent many hours trying to solve this but am not able to. The chat server is nearly complete now. I just need to find a way of obtaining another threads socket.
    I hope the problem is comprehensible. I have found it difficult to explain clearly. Many thanks.

    Really simple, inelegant solution:
    class MyThread extends Thread {
    Socket socket;
    MyThread( Socket s ) { socket = s; }
    public Socket getSocket() { return socket; }
    }Better: create a master object that includes an array
    of sockets. Each time you create a Thread, update the
    master object's list of sockets with a reference to
    each Thread's socket. Under the current memory model, the socket field should be declared volatile. The proposed new memory model will guarantee that this will work if the socket field is declared final.
    Sylvia.

  • Pass a variable from an XML to a Javascrip

    Aloha Everyone,
    What do I make wrong?
    Maybe it is just a sintax failure and maybe... . How can I
    pass a value to a javascript witch is loads a php code to generate
    the text on the button witch is the src of an <img> tag. The
    value of @id doesn't reaches the PHP file and the problem is in
    spry:region="dsmenus" is a special definition needed to pass the
    variables in such a region to a javacript, if so then how to do it
    if not than also please help if any of you can!
    Here is the code:
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    UTF-8">
    <script src="xpath.js"
    type="text/javascript"></script>
    <script src="SpryData.js"
    type="text/javascript"></script>
    <script type="text/javascript">
    var dsmenus = new Spry.Data.XMLDataSet("menus.xml",
    "menuelements/menuelement");
    </script>
    <script language="javascript" type="text/javascript">
    var textid = new string;
    function mouseOutImage(textid)
    document.getElementById("phbutton").src =
    "button2.php?text="+textid;
    function mouseOverImage(textid)
    document.getElementById("phbutton").src =
    "button.php?text="+textid;
    </script>
    </head>
    <body>
    <div spry:region="dsmenus"
    spry:repeatchildren="dsmenus">
    <img id="phbutton" spry:setrow="dsmenus"
    src="button2.php?text={@id}&amp;x={x}"
    onmouseover="mouseOverImage('{id}');"
    onmouseout="mouseOutImage('{id}');"
    onmouseenter="mouseOverImage('{id}');"
    onmouseleave="mouseOutImage('{id}');">
    <a href="button2.php?text={@id}">{@id}</a>
    </div>
    <div>
    <p name=log>
    </div>
    </body>
    </html>
    Thank You in advance!

    Sorry for spamming i just realized what do i make wrong after
    3 hours of programig.
    ..({id'} has a missing @ mark :)

  • I met problem when installing Oracle 8.1.6 on Turbo Linux 7.0

    I met problem when installing Oracle 8.1.6 on Turbo Linux 7.0.
    After setting up environment variables, and successfully
    accessed KDE interface, everything was going on well.
    The process of installation blocked at 80% in "Database Creation
    Process" dialog window.
    I have tried two times and got the same result.
    The error message is:
    Warning: Cannot convert string "-*-Kochi Gothic-medium-r-normal-
    *-*100...
    Help!

    I have done some oracle installations over RedHat 7.0 (not certificated):
    Let's check some things:
    1- You must have changed very few parameters on your shm.h sem.h files which are in /usr/include/linux directory.
    2- You need to upgrade the glibc and libstdc libraries (.rpm)
    3- You must have installed the jre116_v5 on /usr/jre and made a symbolic link like this
    ln -s /usr/jre/jre116_v5 /usr/local/jre
    4- You must include in the CLASSPATH parameter the jre116_v5 directory. It should look something like this
    CLASSPATH=/usr/jre/jre116_v5:$ORACLE_HOME/jlib
    5- Be sure to create and export all the parameters in your .bash_profile.
    6- Run the ./runInstaller.sh in a terminal window inside the Xwindow.
    You can find the jre116_v5 in www.backdown.org
    I hope these tips help you
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by xx:
    Hi every body
    when I run ./runInstaller from cdrom
    I get this messages :
    Initializing Java Virtual Machine from /usr/local/jre/bin/jre.Please wait ...
    Error in CreateOUIProcess ():-1
    : Bad Address
    I use JDK-1-1-6.
    Thx<HR></BLOCKQUOTE>
    null

Maybe you are looking for

  • My account wont let me download it say contact itunes

    what do i do

  • IOS 6.1 destroyed my iPod touch. How can I restore my iPod touch?

    I got a push notification about the new release for ios 6.1 and I did the update. After the update my ipod cut off. I assume that is normal but every time I try to cut it on, it either gets stuck on the apple logo or goes to a multi colored screen. I

  • Access form the Application Server

    Hi, I have a Invoice in the directory abc/test on the application sever but when the third party is trying to access the same thru FTP it says that Ur not authorised even though he is able to see the file. Could any body tell me what might be the rea

  • Adobe 8 Standard problem

    Today my adobe 8 standard started corrupting the documents I scanned. I thought I could re-install it but don't know how.

  • General Newbie Menubar question

    I am trying to add a horizontal menubar to the web page I developed (created in Fireworks, exported and then "processed" in Dreamweaver CS3). I find the process of adding the menubar "quite" laborious. I tried two ways: create the menubar in Firework