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 itThanks 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 ??
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.
tuckieI 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,
BenAre 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:
ramHi,
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,
DinoAFAIK 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 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