Cursor_sharing Side-effects

I have a situation where several off-the-shelf applications (same vendor) are running on the same instance. One of the is performing poorly and I was able to get a good performance boost with cursor_sharing=force. After much testing in QA, we are ready to move it to production.
Now two of the other applications are having trouble. Apparently, the applications do some very basic selects from sqlplus and then parse the results. Setting cursor_sharing to force has had a side-effect (bug) that changes the column widths of these selects. The end result is that the other application fails because it can't parse it correctly.
This is a documented problem and Oracle recommends to always explicitly set your column widths in sqlplus. This is what we want to do, but the effort is not small.
A kludge work-around is to alter cursor_sharing before and after the batch processes. This can be done at either the system or session level.
My question is this: Is there a simple way to set it up so an that when this black-box application create a session, it will set the cursor_sharing to force?
Thanks,
Scott
http://www.erpfuture.com

I have a situation where several off-the-shelf
applications (same vendor) are running on the same
instance. One of the is performing poorly and I was
able to get a good performance boost with
cursor_sharing=force. After much testing in QA, we
are ready to move it to production.
Now two of the other applications are having trouble.
Apparently, the applications do some very basic
c selects from sqlplus and then parse the results.
Setting cursor_sharing to force has had a
a side-effect (bug) that changes the column widths of
these selects. Actually it is the off the shelf applications that have the bug, they are not using bind variables which means you are overparsing and fragmenting your shared pool. Poor performance is about the best you will get from such applications. You are also likely open to security issues that arise from [url=http://www.google.com/search?q=sql+injection
]sql injection.
Cursor sharing force is a workaround for a badly written application. It auto binds all literals. This means plans will change and all literal values are variables which could contain anything which leads to the problem you describe.
select 'test' from dual;becomes
select :b_sys_0 from dual;where :b_sys_0 could be 4000 characters long.
I would second kamathg's advice that if you need to use the cursor sharing workaround to only set it at the session level for the application that needs it using the logon trigger.
You should do this as an interim measure while you file a bug report with the software vendor to have them fix their application.
The security issues do not go away.

Similar Messages

  • MOPZ-generated SIDE EFFECT report never shows up in SOLMAN

    HI - we are using SOLMAN ST 400, SPS#24
    I am doing a MOPZ transaction for an ERP604/NW701 system landscape - specifically for updating from a lower SPS level to a more recent one...
    In MOPZ....i requested the SIDE EFFECT report.....at that time got to a screen where it displayed the following message "Your request has not yet been processed. Please check back again in a few hours. "
    I've waited more than 3 days - and still - when I go back into SOLMAN....into this same MOPZ transaction#....to look for the SIDE EFFECT report......it doesn't show up anywhere - instead....i just continue to see the same message (Your request has not yet been processed. Please check back again in a few hours. )
    Please advise
    (it seems that the process for MOPZ-generated side effect reports is not as "user friendly" as the "old" way - outside SOLMAN/MOPZ - of doing this - in the "old" way, using SMP....you always got a request id#....and you always got an EMAIL in a few hrs ....that you clicked on to get the report.....i see neither of these when using MOPZ)

    Hi there,
    sometimes the side-effect report may take longer to arrive due to a long processing time for the request. This may happen due to many concurrent requests at the same time, or because there are technical issues in the service backend systems here at SAP.
    I hear that you already got the side-effect reports after a delay, so I guess that your request was finally processed.
    Best regards,
    Miguel Ariñ

  • What exactly are side-effects in #pragma no_side_effect?

    Which of the following qualify as side-effects for the purposes of #pragma [no_side_effect|http://docs.sun.com/app/docs/doc/819-5265/bjaby?a=view#bjacp]:
    1. dynamically allocating/deallocating memory using malloc/free or operator new/delete
    2. exiting the function by throwing a C++ exception
    3. temporarily changing the disposition for a signal (e.g., ignoring or suspending a signal)
    4. creating a thread and joining with it

    Thanks for your answers! Just to make sure I understand correctly: accessing the local state of the caller through a parameter is not a side-effect. I.e., in the following snippet the function has_no_side_effects() has no side-effects:
    int get (int *p) { return *p; }
    void set (int *p, int x) { *p = x; }
    void has_no_side_effects () {
        int x;
        int y;
        set (&x, 0);    // not a side-effect (x is local)
        y = get (&x);   // same
    }But in the following, has_side_effects() does:
    void has_side_effects () {
        static int x;
        static int y;
        set (&x, 0);    // side-effect: writing a "global"
        y = get (&x);   // side-effect: reading a "global"
    }Also, reading global const data (i.e., what might be in ROM) is not a side-effect. Correct? E.g.,
    static const int global[] = { 1, 2 };
    void has_no_side_effects () {
        int x;
        int y;
        x = global [0];   // not a side-effect, global is in ROM
        y = global [1];   // same
    }

  • Hey guyz.. i wanna ask if i get an updated version from itunes when i plug my iPhone into the Pc, i get a letter tells me that there is an update for your iPhone ... i wanna ask is it safe to download ?? and does it make any side effects on longTerm using

    hey guyz.. i wanna ask if i get an updated version from itunes when i plug my iPhone into the Pc, i get a letter tells me that there is an update for your iPhone ... i wanna ask is it safe to download ?? and does it make any side effects on longTerm using ??

    It is safe to download if your phone is not jailbroken. Before you download it, however, take some precautions:
    Reboot your computer
    Disable your antivirus and firewall
    Connect the phone cable to a USB port directly on the computer, not a hub
    Before updating right click on the name of the phone in iTunes and choose "Backup"
    When you are given the choice choose "Download only", not "Download and Update"
    After the download completes successfully click the Update button to install it.
    Most of these steps are just being overly cautious, as most people ignore them and have no problems. But occasionally the extra steps save grief.

  • What Side-Effects/Problems Can I Expect With Perian?

    I have installed Perian in order to view downloaded .flv videos from Vimeo.
    However, I seem to recollect a year or so ago, that some people were experiencing unwanted side-effects with other apps such as FCE.
    I can't remember what these were or how to stop them other than by uninstalling Perian.
    Any information on things to be aware of would be appreciated.

    That reassures me . . . touch wood (aka knock on wood!).
    I shall now forget that I have it installed but hope that someone will remind me if any of my pro apps start misbehaving!
    Incidentally, yesterday I downloaded some 1080 x 720 HD videos from Vimeo made by friends, and when played back on my 40" Bravia via the WD HDTV they look very impressive. The MP4 ones play immediately on the TV but the FLVs need converting in Streamclip to MP4 (H.264 and AAC).
    The only fault is that some occasionally show a very slight glitch, almost like a dropped frame, but it is not very noticeable unless you are looking for it. No doubt I will discover what I am doing wrong in the near future.
    A couple of years ago I could never have imagined getting anything so good from the internet via a telephone line . . . . . I wonder when it'll be providing 1920 x 1080!

  • Newbie: Method should or should not have side effects

    Hi experts,
    What does it really mean when I read for the InputVerifier class that the method 'shouldYieldFocus' can have side effects but the method 'verify' should not have side effects.
    Thanks for you comments.
    tuckie

    I am but a newbie only asked to learn and maintain. The reason I ask about side effects is that the shouldYieldFocus() method is invoked twice for the same tab key event. When the tab key (or mouse click) wants to move focus to another input the current input's shouldYieldFocus() is invoked, it in turn invokes verify() which validates data returning true or false and checks to see if a warning should be issued that the data is legal but high. If the data is not high it also returns true and the focus is yielded. Also shouldYieldFocus() is only invoked once. It is when the data is high and the showConfirmDialog() is put up that I get the second shouldYieldFocus() invocation. The previous coder put in a de-bouncing mechanism and I think this is where/how the problems with the next field are created. Sometimes the next field's focusLost() is invoked without the operator making any input. The focusLost() does some fill in the blank things that are reasonable only if the operator really wanted not to fill in any data in the field.
    Back to my original point, I was wondering if the fact that the verify() method may have a dialog box put up before it returns to shouldYieldFocus() is the kind of thing that shouldn't be done - no side effects. If so then it could be the likely cause of the problem with the next field sometimes being automatically filled in as if it had received a focusLost() event.
    tuckie

  • Compiler warning PLW-05003 parameter at IN and COPY may have side effects

    For the following Procedure:
    create or replace
    PROCEDURE lob_replace
    p_lob IN OUT NOCOPY CLOB,
    p_what IN VARCHAR2,
    p_with IN VARCHAR2 )
    AS
    n NUMBER;
    BEGIN
    dbms_output.put_line('p_what = ' || p_what);
    dbms_output.put_line('p_with = ' || p_with);
    n := dbms_lob.instr( p_lob, p_what );
    dbms_output.put_line('n = ' || n);
    IF ( NVL(n,0) > 0 ) THEN
    dbms_lob.copy( p_lob, p_lob, dbms_lob.getlength(p_lob), n+LENGTH(p_with), n+LENGTH(p_what) );
    dbms_lob.write( p_lob, LENGTH(p_with), n, p_with );
    IF ( LENGTH(p_what) > LENGTH(p_with) ) THEN
    dbms_lob.trim( p_lob, dbms_lob.getlength(p_lob)-(LENGTH(p_what)-LENGTH(p_with)) );
    END IF;
    END IF;
    END;
    When I compile this, I receive the following warning "Warning(15,5): PLW-05003: same actual parameter(P_LOB and P_LOB) at IN and NOCOPY may have side effect"
    Line 15, column 5 is:
    dbms_lob.copy( p_lob, p_lob, dbms_lob.getlength(p_lob), n+LENGTH(p_with), n+LENGTH(p_what) );
    I'm reading about the NOCOPY Compiler hint at
    http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/08_subs.htm#12813 but I'm not for sure what exactly the issue is here?
    The syntax for dbms_lob.copy is:
    DBMS_LOB.COPY (
    dest_lob IN OUT NOCOPY BLOB,
    src_lob IN BLOB,
    amount IN INTEGER,
    dest_offset IN INTEGER := 1,
    src_offset IN INTEGER := 1);
    Do I need to copy the p_lob to another variable, not sure what do here?

    Hi,
    Is this really a stand alone procedure, or is it in fact part of a package?
    That warning usually comes when parameter is declared with NOCOPY in specification but without in body. Or vice versa.
    Could this be the case?
    Regards
    Peter

  • Any bad side-effects to lengthy blocking in native code? - crosspost

    [This question was also posted on the Native Methods forum a day ago, so far no response]
    1) Are there any negative side-effects to having one (or maybe a few) Java threads block for an extended period (e.g. hours) in native code? Naturally the thread would NOT be one of the "special" threads (such as the Swing event dispatcher, etc).
    2) Does the answer vary by platform? I'm interested in Win32, Linux and possibly Solaris (in that order).
    3) What if I scale the number of threads blocked in JNI code up to 100 threads. Does that change any of the answers? This is perhaps a silly number, I'm just trying to understand if more resources are consumed by blocking in the JNI as opposed to blocking in Java.
    4) Do modern JVM's use one native thread per Java thread? If so, then I would guess there is really nothing special about blocking in native code.
    Lastly, Is this stuff spelled out in some document? Or is there some newsgroup dedicated to the topic? I looked a comp.lang.java.machine, but there is nothing there but spam.
    Motivation for query -- In my application I need to interface with legacy C++ code that blocks (mostly on socket and i/o selects). I'm not thrilled about native code, but if there are no serious side-effects to extended blocking, it may be a viable approach.

    [This question was also posted on the Native Methods
    forum a day ago, so far no response]
    1) Are there any negative side-effects to having one
    (or maybe a few) Java threads block for an extended
    period (e.g. hours) in native code? Naturally the
    thread would NOT be one of the "special" threads (such
    as the Swing event dispatcher, etc).No. It is common to have a "reader" thread for a blocking socket connection. This results in a block in native code for days (months). The only impact is that you may end up creating alot of threads to handle this blocking code.
    >
    2) Does the answer vary by platform? I'm interested in Win32, Linux and possibly Solaris (in that order).I would hope not. You may find that WIn32 will run out of threads fairly quickly (at about 1000 threads) Earlier versions of Linux create a different process per thread which can have a non-trival overhead. Solaris will probibly not care. It has a thread number limit but if you reach it you are probibly doing something wroung.
    >
    3) What if I scale the number of threads blocked in
    JNI code up to 100 threads. Does that change any of
    the answers? This is perhaps a silly number, I'm just
    trying to understand if more resources are consumed by
    blocking in the JNI as opposed to blocking in Java.It takes a while to start a thread, it also consumes a minimal amount of per thread memory which can add up if you have 100s of threads. f you are writing the JNI I would suggest writing it to scale such that say more connections/files etc can be handled by a small number of threads (like NIO does) and these issues are reduced.
    >
    Motivation for query -- In my application I need to
    interface with legacy C++ code that blocks (mostly on
    socket and i/o selects). I'm not thrilled about native
    code, but if there are no serious side-effects to
    extended blocking, it may be a viable approach.See above.

  • Any bad side-effects to lengthy blocking in native code? (Win32,Linux,Solar

    1) Are there any negative side-effects to having one (or maybe a few) Java threads block for an extended period (e.g. hours) in native code? Naturally the thread would NOT be one of the "special" threads (such as the Swing event dispatcher, etc).
    2) Does the answer vary by platform? I'm interested in Win32, Linux and possibly Solaris (in that order).
    3) What if I scale the number of threads blocked in JNI code up to 100 threads. Does that change any of the answers? This is perhaps a silly number, I'm just trying to understand if more resources are consumed by blocking in the JNI as opposed to blocking in Java.
    4) Do modern JVM's use one native thread per Java thread? If so, then I would guess there is really nothing special about blocking in native code.
    Motivation for query -- In my application I need to interface with legacy C++ code that blocks (mostly on socket and i/o selects). I'm not thrilled about native code, but if there are no serious side-effects to extended blocking, it may be a viable approach.

    1) Are there any negative side-effects to having one
    (or maybe a few) Java threads block for an extended
    period (e.g. hours) in native code? Naturally the
    thread would NOT be one of the "special" threads (such
    as the Swing event dispatcher, etc).As far as I know the native code is loaded dynamic when a thread will use it.
    So if the thread 1 needs the code written in the native.dll the thread 1 will use
    the first instance of native.dll. So let's say this is blocked.
    Then after 2 hours another thread called thread2 calls the native.dll code. Then
    java ask the OS to create another instance of the native.dll and so on.
    So now there are 2 threads and 2 instances of the dll in the memory.
    All these apply to the Win32 OSs.
    >
    2) Does the answer vary by platform? I'm interested
    in Win32, Linux and possibly Solaris (in that order).
    3) What if I scale the number of threads blocked in
    JNI code up to 100 threads. Does that change any of
    the answers? This is perhaps a silly number, I'm just
    trying to understand if more resources are consumed by
    blocking in the JNI as opposed to blocking in Java.
    If your machine could suffer 100 pure java threads then it is not a problem to be some of them JNI ones.
    4) Do modern JVM's use one native thread per Java
    thread? Yes. Exactly as far as I know and experienced.
    If so, then I would guess there is really
    nothing special about blocking in native code.Exactly.
    >
    >
    Motivation for query -- In my application I need to
    interface with legacy C++ code that blocks (mostly on
    socket and i/o selects). I'm not thrilled about
    native code, but if there are no serious side-effects
    to extended blocking, it may be a viable approach.Yes it is. That is actually why Native methods are existing for.

  • Using Field Blend plug-in, any side effects?

    Cutting an HDV show with lots of action. Camera may have had 'sharpen' mode set too high, but end result is that the action scenes show way too much of the 'interlace lines' in playback on an LCD screen. Distractingly so.
    I used the Field Blend plug-in from Joe's Filters on the whole show, and get a very smooth looking clean result. No interlace lines on LCD screen.
    But! What I'm wondering is: will this have a negative effect when I output the HDV Quicktime master to MPEG2 and DVD?
    Is there some side-effect one has to deal with when using the Field Blend plug-in?
    All ears, thank you,
    Ben

    Are there any side effects of munging two fields
    together? Yes. You are about halving your resolution.
    The show works fine on an NTSC monitor. But the client will be showing it on a lovely new laptop, and also projecting it in a large cinema theatre.
    The thing that puzzles me Patrick, is that I play both versions on a 23 inch Apple HD Cinema monitor and I cannot for the life of me see any difference, other than the 'blended' version is not full of interlace artefacting. I KNOW it's SUPPOSED to be less resolution. But I can't SEE any difference. Maybe on a 35 foot theatre screen?
    Maybe Joe is doing something special with his plug-in?
    B.

  • Are there any OSS notes side effects.

    Hello Everyone,
                            Can anyone tell me:
       Will there be any side effects if we implement OSS Notes in BW.
    Did anyone face this problem, i'm just asking you because we need to transfer a note from BW dev to BW prd, just wanted to be carefull about this and also
       Did anyone face any drawbacks after the implementation of the note?
       What if we apply the wrong note then how to rectify it? can any one suggest on this.please.
    Message was edited by:
            ram

    Hi,
    Advice : You should only apply notes which you have read, once applied to the SAP Dev system you should check (you should have a checklist of things to check) and systematically go through it to see that the OSS note hasn't made something else in the system not work. Once the checks have been carried out and it has solved the original bug that you had then only should you promote it to production.

  • Side effects of using catmeta.sql?

    Not exactly sure where to put this, but I've been having problems exporting, mostly around the XMLGEN part. It seems that the solution would be to rebuild all the views and whatnot, but since this is a live database, I'd like to know if there are any side effects accompanying using catmeta.sql or any of the related files.
    Thanks in advance!

    Running Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production under Windows XP. The error comes from exporting and comes up as
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.6.0 - Production
    Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
    About to export specified users ...
    . exporting pre-schema procedural objects and actions
    . exporting foreign function library names for user TEST
    . exporting PUBLIC type synonyms
    . exporting private type synonyms
    . exporting object type definitions for user TEST
    About to export TEST's objects ...
    . exporting database links
    . exporting sequence numbers
    . exporting cluster definitions
    EXP-00056: ORACLE error 19206 encountered
    ORA-19206: Invalid value for query or REF CURSOR parameter
    ORA-06512: at "SYS.DBMS_XMLGEN", line 83
    ORA-06512: at "SYS.DBMS_METADATA", line 345
    ORA-06512: at "SYS.DBMS_METADATA", line 410
    ORA-06512: at "SYS.DBMS_METADATA", line 449
    ORA-06512: at "SYS.DBMS_METADATA", line 1156
    ORA-06512: at "SYS.DBMS_METADATA", line 1141
    ORA-06512: at line 1
    EXP-00000: Export terminated unsuccessfully

  • Side-effects or negative sides of specific kind of connection

    First of all, I have to say that I don't have much experience in networking.
    I'm interested to know are there any specific side-effects or negative sides of connecting method I'm currently using.
    I have an ADSL modem/router Huawei HG510, which has 4 ethernet ports, locked by internet provider to provide internet connection on ports 1 and 4, IPTV on port 3, and port 2 reserved for VoIP. Close to this router I have AirPort Extreme (n-version) which I've connected to ADSL router in this way:
    - _IPTV lan (ethernet 2) port on ADSL router is connected to WAN port on AirPort_
    - _Internet connection is provided through ethernet 1 (LAN 1) port on ADSL router which is connected to LAN 1 port on AirPort_
    AirPort Extreme is configured as a bridge with manually assigned IP address with DNS set to IP address of ADSL router.
    DHCP is running on a ADSL router.
    AirPort Extreme provides 802.11g-only WDS network. In another room there is a WDS remote - AirPort Express (b/g model) which is connected to stereo, and also to IPTV STB by using ethernet cable.
    AirPort Express is also configured as a bridge with manually assigned IP address and DNS set to IP address of ADSL router. Two computers (one PC and one MacBook Pro) connect to this wireless network (sometimes I connect them to AirPort Extreme by cable) and they both have manually assigned IP addresses.
    So basically AirPort Extreme provides both Internet and IPTV streams.
    I don't have any special problems with this kind of connection, but I've noticed that sometimes when I reboot the system on MacBook Pro, internet connection is not recognized immediately, and network diagnostic commands such as - arp work with a long delay. This fixes by itself after some time, but I would like to know what cause it.
    btw wireless network is set on Multicast rate of 24Mbps
    Any comments and suggestions are appreciated.

    Is there a reason why you can't connect ethernet 1 (LAN 1) port on the router to the WAN port of the airport extreme base station? I'd have thought that might be better way for it to be networked to internet connection if going to act as bridge. networking internet connection and IPTV at same time may be not ideal situation for extreme base station network.
    Anyway, if I'm missing something then it's also possible that your network may just be a bit too technically complex for the extreme base station, it really is aimed to be plug and play and not that user configurable: it either works or it doesn't. If you have to have it as you describe above, and can't improve situation by altering settings present in the airport admin utility, then may want to look at other wireless bridges on the market.

  • Side effects disabling rsh (SUN OS)

    Hello.
    For security reason OS administrators want to disable the rsh on all servers.
    Can anyone list what are the side effects in SAP systems (tools or transactions which would not work anymore) and which could be a workaround?
    Thanks a lot, kind regards,
        Dino

    AFAIK with newer Solaris 10 installations all remote services are disabled by default and the system works. For a single instance rsh is not needed.
    If you configured other rem* commands in SM49 you may need to replace them to use ssh instead.
    Markus

  • Side Effects of Upgrading to SP5 from SP4 in XI

    What are the Side Effects of Upgrading to SP5 from SP4 in XI

    Check here:
    http://service.sap.com/~form/sapnet?_SHORTKEY=00200797470000080233&

Maybe you are looking for

  • SQL Server Reporting Services Multi Color selection

    Hi to All. iam trying to use this swicth condition in SSRS for multi color view. But its not getting can u suggest me  =switch(Fields!AVGSALES.Value<2000 ,"red",Fields!AVGSALES.Value<5000, "blue", Fields!AVGSALES.Value>5000,"yellow"

  • Attaching documents to the end of messages

    I like for my attachments to be inserted at the end of my messages when I send messages in "Mail".  Is there a way to set a default that always inserts my attachments at the end of my messages?  Or do I have to manually select them to be inserted at

  • Standalone oc4j  undeploy exception

    Hi, We are currently getting the following exception thrown on standalone oc4j whilst undeploying an axis2 web service. 09/04/30 16:34:37 WARNING: ApplicationUnDeployer.removeFiles WARNING: Unable to remove appDir C:\oracle\product\10.1.3\oc4j\j2ee\h

  • Watch 3 minutes of any youtube video, phone reboot and drained my battery??? Please help....

    Watch 3 minutes of any youtube video, phone reboot by itself and drained my battery full life??? Please help.... I have removed all applications, that still did not fix it. Then I did a clean swipe and that still did not fix that problem.

  • Leve 1 File Attachment Removal

    We have implemented group policy settings to remove file extension blocked as level 1. The extension include .lnk. when users receive an attachment with .lnk - they are still prompted to save to disk before opening. we have run gpresult and verified