How to avoid Cache misses?
Hi,
Before I explain the problem here's my current setup.
- Distributed/partitioned cache
- Annotated JPA classes
- Backing map linked to an oracle database
- Objects are stored in POF format
- C++ extend client
When I request an item that does not exist in the cache, the JPA magic forms a query and assembles the object and stores that inside the cache.
However if the query returns no results then coherence sends back a cache miss. Our existing object hierarchy can request items that don't exist (this infrastructure is vast and entrenched and changing it is not an option). This blows any near cache performance out of the water.
What I want to do is to intercept a cache miss and store a null object in the cache on that key (by null it will be 4 bytes in length). The client code can interpret the null object as a cache miss and everything will work as usual - however the null object will be stored in the near cache and performance will return.
My problem is, as annotated JPA does all the 'magic', I don't get to intercept if the query returns an empty set. I've tried both map triggers and listeners, however as expected they don't get called as no result set is generated.
Does anyone know of an entry point where I can return an object to coherence in the event of a query returning an empty set. I'd also like the ability to configure this behaviour on a per cache basis.
Any help gratefully received.
Thanks
Rich
Edited by: Rich Carless on Jan 6, 2011 1:56 PM
Hi,
If you are using 3.6 you can do this by writing a sub-class of JpaCacheStore that implements BinaryEntryStore or a more genric way (which would suit other people who have asked similar questions recently) would be to write an implementation of BinaryEntryStore that wraps another cache store.
Here is one I knocked up recently...
package org.gridman.coherence.cachestore;
import com.tangosol.net.BackingMapManagerContext;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.DefaultConfigurableCacheFactory;
import com.tangosol.net.cache.BinaryEntryStore;
import com.tangosol.net.cache.CacheStore;
import com.tangosol.run.xml.XmlElement;
import com.tangosol.util.Binary;
import com.tangosol.util.BinaryEntry;
import java.util.Set;
public class WrapperBinaryCacheStore implements BinaryEntryStore {
private BackingMapManagerContext context;
private CacheStore wrapped;
public WrapperBinaryCacheStore(BackingMapManagerContext context, ClassLoader loader, String cacheName, XmlElement cacheStoreConfig) {
this.context = context;
DefaultConfigurableCacheFactory cacheFactory = (DefaultConfigurableCacheFactory) CacheFactory.getConfigurableCacheFactory();
DefaultConfigurableCacheFactory.CacheInfo info = cacheFactory.findSchemeMapping(cacheName);
XmlElement xmlConfig = cacheStoreConfig.getSafeElement("class-scheme");
wrapped = (CacheStore)cacheFactory.instantiateAny(info, xmlConfig, context, loader);
@Override
public void erase(BinaryEntry binaryEntry) {
wrapped.erase(binaryEntry.getKey());
@SuppressWarnings({"unchecked"})
@Override
public void eraseAll(Set entries) {
for (BinaryEntry entry : (Set<BinaryEntry>)entries) {
erase(entry);
@Override
public void load(BinaryEntry binaryEntry) {
Object value = wrapped.load(binaryEntry.getKey());
binaryEntry.updateBinaryValue((Binary) context.getValueToInternalConverter().convert(value));
@SuppressWarnings({"unchecked"})
@Override
public void loadAll(Set entries) {
for (BinaryEntry entry : (Set<BinaryEntry>)entries) {
load(entry);
@Override
public void store(BinaryEntry binaryEntry) {
wrapped.store(binaryEntry.getKey(), binaryEntry.getValue());
@SuppressWarnings({"unchecked"})
@Override
public void storeAll(Set entries) {
for (BinaryEntry entry : (Set<BinaryEntry>)entries) {
store(entry);
}Using the JPA example from the Coherence 3.6 Tutorial you would configure it like this...
<distributed-scheme>
<scheme-name>jpa-distributed</scheme-name>
<service-name>JpaDistributedCache</service-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme/>
</internal-cache-scheme>
<cachestore-scheme>
<class-scheme>
<class-name>org.gridman.coherence.cachestore.WrapperBinaryCacheStore</class-name>
<init-params>
<init-param>
<param-type>com.tangosol.net.BackingMapManagerContext</param-type>
<param-value>{manager-context}</param-value>
</init-param>
<init-param>
<param-type>java.lang.ClassLoader</param-type>
<param-value>{class-loader}</param-value>
</init-param>
<init-param>
<param-type>java.lang.String</param-type>
<param-value>{cache-name}</param-value>
</init-param>
<init-param>
<param-type>com.tangosol.run.xml.XmlElement</param-type>
<param-value>
<class-scheme>
<class-name>com.tangosol.coherence.jpa.JpaCacheStore</class-name>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value>{cache-name}</param-value>
</init-param>
<init-param>
<param-type>java.lang.String</param-type>
<param-value>com.oracle.handson.{cache-name}</param-value>
</init-param>
<init-param>
<param-type>java.lang.String</param-type>
<param-value>JPA</param-value>
</init-param>
</init-params>
</class-scheme>
</param-value>
</init-param>
</init-params>
</class-scheme>
</cachestore-scheme>
</read-write-backing-map-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>As you can see the WrapperBinaryCacheStore takes four cpnstructor parameters (set up in the init-params)
<li>First is the Backing Map Context
<li>Second is the ClassLoader
<li>Third is the cache name
<li>Fourth is the XML configuration for the cache store you want to wrap
If the load method of the wrapped cache store returns null (i.e. nothing in the DB matches the key) then instead of returning null, the BinaryEntry is updated with a Binary representing null. Because the corresponding key is now in the cache with a value of null then the cache store will not be called again for the same key.
Note If you do this and then subsequently your DB is updated with values for the keys thet were previously null (by something other than Coherence) then Coherence will not load them as it is never going to call load for those keys again.
I have given the code above a quick test and it seems to work fine.
If you are using 3.5 then you can still do this but you need to use the Coherence Incubator Commons library which has a version of BinaryCacheStore. The code and config will be similar but not identical.
JK
Edited by: Jonathan.Knight on Jan 6, 2011 3:50 PM
Similar Messages
-
How to avoid Indesign missing plugin information
Hi,
We are facing one problem in our ID document.
In one of our Indesign CS4 machine (MAC), we have Powermath plugin installed.
And we have created a new Indesign document in that machine. Here the powermath is not used in the document.
When we opened this document in another Indesign CS4 machine, we are asked the missing plugin information even though that plugin is not used in that document?
Can anyone tell me how to avoid missing plugin information while opening the document.
Thanks,
GopalExport the document to IDML and open that. That should strip out the plug in info.
Bob -
How to avoid the pdf file in browser cache
i am opening pdf files through browser. After that same pdf changed their contents . after i open the pdf but it will not updated. Bcoz this file in cache . so how to avoid the cache store for pdf files.
plz help me!!!the code is as bellow
File fBlob = new File ("test.pdf");
FileInputStream fIS = new FileInputStream(fBlob);
pstUpdate= con.prepareStatement("UPDATE table set file = ? where id = ?");
pstUpdate.setBinaryStream(1, fIS, (int) fBlob.length());
pstUpdate.setString(2, rs.getString("id"));
pstUpdate.execute();
con.commit(); -
How to avoid ViewObject or ApplicationModule cache?
I am developing a web application using JSP, EJB (SessionBean) and BC4J.
How to avoid ViewObject or ApplicationModule cache?
Is there any method in Oracle API (oracle.jbo, oracle.jbo.server, ...) to do this?
nullObjects returned from queries against your session are the shared/cached instances and should not be changed. Changes applied directly against these instances will not be reflected in the database.
To apply changes against objects within a transaction and isolate these changes from other thread while they are pending you must use a UnitOfWork. The UnitOfWork will provide you a transactional isolated working copy where changes can be safely made. Then when the UnitOfWork is committed the minimal change-set is calculated and written to the database prior to being merged into the shared cache.
Some useful links into the documentation:
http://download-west.oracle.com/docs/cd/B10464_01/web.904/b10313/undrstdg.htm#1110428
http://download-west.oracle.com/docs/cd/B10464_01/web.904/b10313/xactions.htm#1127587
Doug -
How to avoid db file parallel read for nestloop?
After upgraded to 11gr2, one job took more than twice as long as before on 10g and 11gr1 with compatibility being 10.2.0.
Same hardware. (See AWR summary below). My analysis points to that Nestloop is doing index range scan for the inner table's index segment,
and then use db file parallel read to read data from the table segment, and for reasons that I don't know, the parallel read is very slow.
AVG wait is more than 300ms. How can I fluence optimier to choose db file sequential read to fetch data block from inner table by tweaking
parameters? Thanks. YD
Begin Snap: 13126 04-Mar-10 04:00:44 60 3.9
End Snap: 13127 04-Mar-10 05:00:01 60 2.8
Elapsed: 59.27 (mins)
DB Time: 916.63 (mins)
Report Summary
Cache Sizes
Begin End
Buffer Cache: 4,112M 4,112M Std Block Size: 8K
Shared Pool Size: 336M 336M Log Buffer: 37,808K
Load Profile
Per Second Per Transaction Per Exec Per Call
DB Time(s): 15.5 13.1 0.01 0.01
DB CPU(s): 3.8 3.2 0.00 0.00
Redo size: 153,976.4 130,664.3
Logical reads: 17,019.5 14,442.7
Block changes: 848.6 720.1
Physical reads: 4,149.0 3,520.9
Physical writes: 16.0 13.6
User calls: 1,544.7 1,310.9
Parses: 386.2 327.7
Hard parses: 0.1 0.1
W/A MB processed: 1.8 1.5
Logons: 0.0 0.0
Executes: 1,110.9 942.7
Rollbacks: 0.2 0.2
Transactions: 1.2
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: 99.99 Redo NoWait %: 100.00
Buffer Hit %: 75.62 In-memory Sort %: 100.00
Library Hit %: 99.99 Soft Parse %: 99.96
Execute to Parse %: 65.24 Latch Hit %: 99.95
Parse CPU to Parse Elapsd %: 91.15 % Non-Parse CPU: 99.10
Shared Pool Statistics
Begin End
Memory Usage %: 75.23 74.94
% SQL with executions>1: 67.02 67.85
% Memory for SQL w/exec>1: 71.13 72.64
Top 5 Timed Foreground Events
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
db file parallel read 106,008 34,368 324 62.49 User I/O
DB CPU 13,558 24.65
db file sequential read 1,474,891 9,468 6 17.21 User I/O
log file sync 3,751 22 6 0.04 Commit
SQL*Net message to client 4,170,572 18 0 0.03 NetworkIts not possible to say anything just by looking at the events.You must understand that statspacks and AWR actualy aggergate the data and than show the results.There may be a very well possibility that some other areas also need to be looked at rather than just focussin on one event.
You have not mentioned any kind of other info about the wait event like their timings and all that.PLease provide that too.
And if I understood your question corretly,you said,
How to avoid these wait events?
What may be the cause?
I am afraid that its not possible to discuss each of these wait event here in complete details and also not about what to do when you see them.Please read teh Performance Tuning book which narrates these wait events and corresponding actions.
Please read and follow this link,
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/instance_tune.htm#i18202
Aman.... -
Hi,
I used to have an iPhone 3GS, which I recently upgraded to iOS 5 and sold. This device doesn't have any of my personnal information inside anymore (several resets and reinstall iOS5 from an blank iTunes on a seperate computer) and doesn't have my chip inside anymore.
I am using a new smartphone (not Apple) now and when I text friends who have iPhone (with iOS 5 and iMessage), I receive some of the personnal responses on the old iPhone. It seems those messages are sent through iMessage...
How to avoid that? I sold this iPhone and I don't want the buyer to receive my personnal message + I don't want to miss them on my new phone!
Thanks for the help.
Franck.I would suggest you read the user guide. There IS no Facetime App for the iPhone.
http://manuals.info.apple.com/en_US/iphone_user_guide.pdf
< Edited By Host > -
LD_ASSUME_KERNEL does not work in recent distros. How to avoid?
LD_ASSUME_KERNEL=2.4.XX does not work in all recent distros.
$ export LD_ASSUME_KERNEL=2.4.20
$ ls
ls: error while loading shared libraries: librt.so.1: cannot open shared object
EBS contains very old cmponents like MWA wich not compiled without this setting. How to avoid errors?You can unset LD_ASSUME_KERNEL and EBS 11i (11.5.9 and 11.5.10) will work fine on 2.6.16 kernels (SLES-10 and RH 5.0).
The following instructions should get you going:
1) Setup the environment as you would for running Applications on RH 4 or SLES9
I.E. follow Oracle Applications Installation Update Notes, Release 11i (11.5.10.2)
http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=316806.1
2) Remove any LD_ASSUME_KERNEL references in O/S /etc/profile.d files
3) Comment out LD_ASSUME_KERNEL entries in $ORACLE_HOME/appsutil/bin/adgetlnxver.sh and $AD_TOP/bin/adgetlnxver.sh
if [ ${setflag}x = "x" -a $os = "Suse" ]; then
# LD_ASSUME_KERNEL="2.4.21"
# export LD_ASSUME_KERNEL
os="Suse"
fi
if [ ${setflag}x = "x" -a $os = "RH" ]; then
# LD_ASSUME_KERNEL="2.4.19"
# export LD_ASSUME_KERNEL
os = "RH"
fi
If doing a rapid install, the database startup will fail and rapidwiz will prompt to ignore or retry. At this point, edit $ORACLE_HOME/appsutil/bin/adgetlnxver.sh as shown above and click on retry. It will then run to the autoconfig step at the end and error out. Just hit cancel, edit $AD_TOP/bin/adgetlnxver.sh and run autoconfig.
On Suse, one needs compat-gdbm for libgdbm.so.2
rpm -Uhv compat-gdbm-1.8.0-7.i586.rpm
Preparing... ########################################### [100%]
1:compat-gdbm ########################################### [100%]
Also in /usr/lib run ln -s libdb.so.2 libdb.so.3
Ref:
Note:300807.1 for Suse
create symbolic link called libdb.so.2 pointing to libdb.so.3, as follows:
$ cd /usr/lib
$ ln -s libdb.so.3 libdb.so.2 (or install db1-1.85-85.1 which does the same)
Note:294043.1 for Red Hat
As per an internal Bug 4045349, this is an issue with O/S side installation of compat-db rpm.
libdb.so.3 gets installed when compat-db rpm is installed.
- The O/S installation CD would contain compat-db
e.g compat-db-4.1.25-6.i386.rpm ( may change as per your version ).
- Manually install the compat-db rpm
e..g "rpm -ivh compat-db-4.1.25-6.i386.rpm"
OR
Note:345172.1
A library is missing: libdb.so.2 is from gnome-libs-1.4.1.2.90-34.1.i386.
This error also occurs in SLES9, same cause, slightly different resolution. SLES9 comes with libdb.so.3 and libdb.so.4 but not libdb.so.2 - need to install db1-1.85-85.1 to get libdb.so.2.
4) In order to relink cplex library executables (MSC, MSO, MSR, MST, WIP, etc), edit $AD_TOP/bin/adrelinknew.sh and add the following LD option (-Wl,--noinhibit-exec) in the LINUX section:
LINUX)
LDFLAGS='-s -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs -ldl'
DEBUG_LDFLAGS='-g -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs -ldl'
exe_line='ELF .*executable'
SHRLIB_LD='gcc'
LD='gcc'
SHRLIB_LDFLAGS='-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs -shared'
if test -f "/etc/redhat-release"; then
CPP_LIBS='/usr/lib/libstdc++-2-libc6.1-1-2.9.0.so'
elif test -f "/etc/SuSE-release"; then
CPP_LIBS='/usr/lib/libstdc++.so.2.9'
else
CPP_LIBS=''
fi
CPP='g++'
CPP_LDFLAGS='-s -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs
set CPP_LDFLAGS='-s -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs
to CPP_LDFLAGS='-s -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs -Wl,--noinhibit-exec'
After this chance, you can apply any MRP, ASCP patch and all executables will relink correctly. You can also use adadmin to relink all executables and it completes without error.
5) Discoverer 4.1.38.08 Follow Metalink Note 280598.1 Discoverer 4i On Linux: Required Patch and Configuration for Discoverer Server Stability to use JDK 1.3.1 and oadj. I updated the autoconfig template files with this change after applying 3895177. Discoverer viewer and plus standard BIS reports all open correctly on SLES-10 -
Please reply:how to avoid extra trailing spaces while using cursor sharing
i am using cursor sharing with FORCE or SIMILAR.
what is the solution to avoid extra trailing spaces without any java code change.
do we have any option in oracle to avoid extra trailing spaces during the query processing ?
I am using Oracle 10g
CURSOR SHARING is a feature in which multiple sql statements
which are same will have a shared cursor (in the library cache) for an oracle session,
i.e, the first three steps of the sql processing (hard parse, soft parse, optimization)
will be done only the first time that kind of statement is executed.
There are two ways in which similar SQL statements with different condition values can be made to "SHARE" cursor during execution:
1. Writing SQLs with Bind Variables: SQLs having no hard coded literals in them
For e.g., the query below
SELECT node.emp_name AS configid
FROM emp node
WHERE emp_no = :1
AND dept_no =
DECODE (SUBSTR (:2, 1, 3),
:3, :4,
(SELECT MAX (dept_no)
FROM emp
WHERE emp_no = :5 AND dept_no <= :6)
AND node.dept_type = :7
ORDER BY node.emp_name
Here all the variables are dynamically bound during the execution. The ":X" represents BIND Variable and the actual values are bound to the SQL only at the 4th step of the execution of the SQL.
In applications: The queries written with "?" as bind variables will be converted into ":X" and are sqls with Bind Variables.
2. The CURSOR_SHARING parameter: Only Useful for SQL statements containing literals:
For eg., the query below:
SELECT node.emp_name AS configid
FROM emp node
WHERE emp_no = 'H200'
AND dept_no =
DECODE (SUBSTR (:1, 1, 3),
'PLN', :2,
(SELECT MAX (dept_no)
FROM emp
WHERE emp_no = :3 AND dept_no <= :4)
AND node.dept_type = :5
ORDER BY node.emp_name
In the query above, there are two hard coded literals H200 , PLN. In this case when the same SQL executed with different values like (H2003 , PLN), oracle will create a new cursor for this statement and all the first three steps ( hard & soft parse and optimization plan) needs to be done again.
This can be avoided by changing the CURSOR_SHARING parameter which can be set to any of three values:
1. EXACT: Causes the mechanism not be used, i.e. no cursor sharing for statements with different literals. This is the default value.
2. FORCE: Causes unconditional sharing of SQL statements that only differ in literals.
3. SIMILAR: Causes cursor sharing to take place when this is known not to have any impact on optimization.
So, FORCE and SIMILAR values of the parameter will be helping in cursor sharing and improve the performance of the SQLs having literals.
But here the problem arises if we use the FORCE and SIMILAR other than EXACT.
alter session set cursor_sharing ='EXACT'
select 1 from dual;
'1'
1
alter session set curson_sharing='FORCE'
select 2 from dual;
'2'
2
alter session set curson_sharing='SIMILAR'
select 3 from dual;
'3'
3
So, this will give extra trailing spaces in when we retrieve from java method and any
further java processing based on the hardcoded literal values will fail. this needs lot of
effort in remodifying the existing millions of lines of code.
My question is i have to use cursor sharing with FORCE or SIMILAR and can't we do the trimming
from the oracle query processing level ?
please help me on this ?
Message was edited by:
Leeladhar
Message was edited by:
LeeladharPlease reply to this thread
How to avoid extr trailing spaces using Cursor sharing opton FORCE, SIMILAR -
How to avoid performance problems in PL/SQL?
How to avoid performance problems in PL/SQL?
As per my knowledge, below some points to avoid performance proble in PL/SQL.
Is there other point to avoid performance problems?
1. Use FORALL instead of FOR, and use BULK COLLECT to avoid looping many times.
2. EXECUTE IMMEDIATE is faster than DBMS_SQL
3. Use NOCOPY for OUT and IN OUT if the original value need not be retained. Overhead of keeping a copy of OUT is avoided.Susil Kumar Nagarajan wrote:
1. Group no of functions or procedures into a PACKAGEPutting related functions and procedures into packages is useful from a code organization standpoint. It has nothing whatsoever to do with performance.
2. Good to use collections in place of cursors that do DML operations on large set of recordsBut using SQL is more efficient than using PL/SQL with bulk collects.
4. Optimize SQL statements if they need to
-> Avoid using IN, NOT IN conditions or those cause full table scans in queriesThat is not true.
-> See to queries they use Indexes properly , sometimes Leading index column is missed out that cause performance overheadAssuming "properly" implies that it is entirely possible that a table scan is more efficient than using an index.
5. use Oracle HINTS if query can't be further tuned and hints can considerably help youHints should be used only as a last resort. It is almost certainly the case that if you can use a hint that forces a particular plan to improve performance that there is some problem in the underlying statistics that should be fixed in order to resolve issues with many queries rather than just the one you're looking at.
Justin -
How to avoid password prompt in shell script for zip password protection
Hi
I am trying to set password protection to my oracle database export backup. Once the backup completed, it should compress with a password protection. Thats the plan. Initialy we were using the gzip for the compression. Then realized that there is no password protection for the gzip. Started using zip option. I tried using
zip -P <password> filename
But it was throwing below error.
-bash-3.2$ zip -P expreports REPORTS_2013FEB14.dmp
zip warning: missing end signature--probably not a zip file (did you
zip warning: remember to use binary mode when you transferred it?)
zip warning: (if you are trying to read a damaged archive try -F)
zip error: Zip file structure invalid (REPORTS_2013FEB14.dmp)
Not quite sure why.
Then I used zip -e REPORTS_2013FEB14.dmp.zip REPORTS_2013FEB14.dmp
But this prompting for the password. As I am trying to put the command in the script. It will be tough if it prompts for the password.
I would like to know how to avoid the password prompting by saving somewhere or how the code should be written. Tried using expect feature of shell script. Below was the code I tried. It didnt work.
[oracle@SF40V6636 test]$ cat repexp.sh
zip -e REPORTS_imp.log.zip REPORTS_imp.log
expect "Enter password:"
send "imprep"
expect "Verify password:"
send "imprep"
So please help in avoiding this password prompt or let me know how to change the code.
Thanks
SHIYAS MHow about using gpg and adding a secret key to the requirement of a password? No one should be able to decrypt your file, not by knowing only the password.
1. Generate a public and private key pair:
$ gpg --gen-key
When it shows "We need to generate a lot of random bytes…" open another terminal session and type "dd if=/dev/sda of=/dev/null" to create traffic. When the public and secret key created and signed you can Ctrl-C the dd command.
To see what you have created:
$ gpg --list-keys
2. Encrypt and gzip your stuff:
$ tar zcf stuff.tgz file_or_folder
$ gpg recipient "Some Name" encrypt stuff.tgz
$ rm -f stuff.tgz
3. Decrypt and extract the archive:
$ gpg batch yes --passphrase "password" -d stuff.tgz.gpg > stuff.tgz
$ tar zxvf stuff.tgz
Again, knowing the password alone will not let anybody decrypt your stuff. -
Hello
I might be missing something to configure or verify but many times I have faced below situation :
When I click on document in document library either its just opens or first save to disc and open.
When I check in a document , its asking for credentials but sometimes doesn't
Can anyone please describe the reason behind above behaviors ? how to avoid saving doc while opening and lo-gin prompt while check in the document?
Thanks and Regards,
Dipti ChhatrapatiIt the sharepoint site accessed through firewall
http://support.microsoft.com/kb/2756625
You can try adding below registry
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters\AuthForwardServerListAdd the site to Trusted Sites Zone instead of Intranet Go to Control Panel >> User Accounts >> Manage Your Credentials and remove any credentials storedMake sure your office and IE Is same build (64 or 32)http://www.techrepublic.com/blog/smb-technologist/prevent-unwanted-credentials-prompts-with-sharepoint-document-libraries/ checked that 'basic authentication' is unchecked under Central Administration -> Application Management -> Authentication
ProviderOr tryhttp://social.technet.microsoft.com/Forums/office/en-US/45feb132-c304-4521-8b79-42236a829aab/login-prompt-appearing-when-opening-office-documents?forum=sharepointadminlegacy
If this helped you resolve your issue, please mark it Answered -
Hi
i'm calling reprots from the forms.My problem is we are calling 3 reports at a time i,e one after the other, this will works fine in report 5 for screen but in 10g this will overlap all the output to a single pdf file (here i'm using cache)so that i'm getting only the third file.
how to avoid this? so that i can have 3 diffrent pdf files or one after the other if first close second open,second close third open.
please help me,
thanks and regards
vishwaIF :BLK_MAIN.CKB_REP7 = 1 THEN
report_id:=FIND_REPORT_OBJECT('Mast03');
RUN_REPORT_OBJECT_PROC(report_id,
SERVER_NAME,
'pdf',
CACHE,
'Mast03',
'paramform=no PDFCOMP=0 EXPIRATION=120 desformat=pdf P_COMP_CODE='||:GLOBAL.G_COMP_CODE||' '||
'P_UNIT_CODE='||:GLOBAL.G_UNIT_CODE||' '||'P_TRUST_CODE='||:GLOBAL.G_TRUST_CODE,
IP_ADDRESS);
END IF;
IF :BLK_MAIN.CKB_REP6 = 1 THEN
report_id:=FIND_REPORT_OBJECT('Mast05');
RUN_REPORT_OBJECT_PROC(report_id,
SERVER_NAME,
'pdf',
CACHE,
'Mast05',
'paramform=no PDFCOMP=0 EXPIRATION=120 desformat=pdf P_COMP_CODE='||:GLOBAL.G_COMP_CODE||' '||
'P_UNIT_CODE='||:GLOBAL.G_UNIT_CODE||' '||'P_TRUST_CODE='||:GLOBAL.G_TRUST_CODE,
IP_ADDRESS);
END IF;
IF :BLK_MAIN.CKB_REP1 = 1 THEN
report_id:=FIND_REPORT_OBJECT('Mast04');
RUN_REPORT_OBJECT_PROC(report_id,
SERVER_NAME,
'pdf',
CACHE,
'Mast04',
'paramform=no PDFCOMP=0 EXPIRATION=120 desformat=pdf P_COMP_CODE='||:GLOBAL.G_COMP_CODE||' '||
'P_UNIT_CODE='||:GLOBAL.G_UNIT_CODE||' '||'P_TRUST_CODE='||:GLOBAL.G_TRUST_CODE,
IP_ADDRESS);
END IF;
In the above code,3 check box are like :BLK_MAIN.CKB_REP7,:BLK_MAIN.CKB_REP6,:BLK_MAIN.CKB_REP1 which end user selects(he can choose any one or all three).If select all 3 the report masto4 only comes,mast05,mast03 also
comes but those pdf's are overlaped from the report mast05.
But in the earlier version of forms and reports, if close the first report then second will come and like that. -
How to avoid variable declaration dublication in a script?
Hello to everyone!
I have a business rule which calls twice same script. But in this sript there is a variable declaration (MethodOpl).
Rule:
FIX (&CashFlowPlanningMonths, &PlanningYear, {SelScenario}, {SelVersion})
%Script(name:="Distribution 100",application:="workapp3",plantype:="Plan1");
ENDFIX;
FIX (Jan:Dec, &NextYear, {SelScenario}, {SelVersion})
%Script(name:="Distribution 100",application:="workapp3",plantype:="Plan1");
ENDFIX;
Script:
VAR MethodOpl = 0;
FIX (@DESCENDANTS("TotalLocations"), "NoAnalytics", @DESCENDANTS("100000"))
AmountByPay(
IF ( NOT @ISMBR(@LIST("114100","115110","115120","115130")) )
MethodOpl = "BegBalance"->WorkVersion->"NoFRC"->"DistributionByPay";
IF ( MethodOpl == #Missing )
MethodOpl = "NoLocation"->WorkVersion->"BegBalance"->"NoFRC"->"DistributionByPay";
ENDIF;
... (some calculations)
ENDIF;
ENDFIX;
If I try to validate rule I get error like this:
An error occurred in: Rule:workapp3.Plan1.TestOTN
A validation error was received from the Planning server 'http://ohp:80/HyperionPlanning/servlet/HspAppManagerServlet?appname=workapp3'.
'Error:Переопределение имени переменной [MethodOpl]. Rule workapp3.Plan1.TestOTN'.
Error text can be translated as "Error: Redeclaring variable name [MethodOpl]"
Can you advice me how to avoid second declaration?
May be somehow like this?
#IF !DEFINED(MethodOpl)
VAR MethodOpl;
#ENDIF
MethodOpl = 0;Try creating a separate script for variable declaration & declare all the variables inside it.Add this script as first statement in the rule
SCRIPT: "Var Declaration"
VAR MethodOpl = 0;
RULE
%Script(name:="Var Declaration",application:="workapp3",plantype:="Plan1");
FIX (&CashFlowPlanningMonths, &PlanningYear, {SelScenario}, {SelVersion})
%Script(name:="Distribution 100",application:="workapp3",plantype:="Plan1");
ENDFIX;
FIX (Jan:Dec, &NextYear, {SelScenario}, {SelVersion})
%Script(name:="Distribution 100",application:="workapp3",plantype:="Plan1");
ENDFIX;
remove the "MethodOpl" variable declaration from the script -"Distribution 100". -
Initiating Upstream Proxy request on Cache-Miss (ACNS)
1. Client has two (2) tier Content Routing network architecture:
Client<->Tier_2_CE <-> Tier_1_CE <-> Origin_Server_01
2. Client does not have EXPLICIT PROXY configured on browser pointing to Tier_2_CE
3. Network uses Content Routing to redirect client requests to appropriate Tier_2_CE (proximity search using CZF, channel assignment)
4. SCENARIO_PRE-POSITIONED: (WORKS FINE)
4.1 Client requests PRE-POSITIONED content from CDN
4.2 Client request redirected to Tier_2_CE
4.3 Tier_2_CE services request from PRE-POSITINED content (i.e. cache-hit)
5. SCENARIO_NONE-PRE-POSITIONED:
5.1 Tier_2_CE configured with outgoing HTTP proxy pointing to Tier_1_CE:
"http proxy outgoing host X.Y.Z.W 8080 primary"
5.2 Tier_1_CE configured with inbound HTTP proxy
"http proxy incoming 8080"
5.3 Tier_1_CE configured with outgoing HTTP proxy pointing to Origin Server:
"http proxy outgoing host A.B.C.D 80 primary"
5.4 ISSUE
5.4.1 Client request for NONE-PREPOSITIONED content reaches appropriate Tier_2_CE
5.4.2 Tier_2_CE does not make Upstream request for content on Cache_MISS
6. QUESTIONS
6.1 Can you point me to reference documentation around proxy configuration (environments not using (a) WCCP (b) explicit proxy configuration)
6.2 Provide some configuration guidance/samples around this scenario
regards,Thanks Mary,
It appears as if the configurations that are outlined on that page either
(1) assume that the subscriber / client has
EXPLICITLY configured a proxy server in their browser that points to their Tier-2/edge CE farm or
(2) the access infrastructure into the CDN (essentially edge routers) are configured with WCCP
Let me know if this is not the case, as I may be mis-reading & mis-configuring.
In my setup, the Tier-2/edge CE's are configured to
(3) listen for inbound requests on (80, 8080) and
(4) point to an upstream proxy A.B.C.D:8080
ISSUE
(5) In normal operating conditions (i.e. content IS pre-positioned), client requests are fully serviced from CDNFS on the Tier-2/edge CE's
(6) When content is not available on CDNFS (none-prepositioned), a cache miss occurs on the Tier-2/edge CE's.
(7) What is the best way to configure my Tier-2/edge CE's so that they ALWAYS query upstream proxy for content in the event of a CACHE-MISS on local CDNFS?
(8) How do I enable this ((7) above) without having to use rules on the Tier-2/edge CE's?
Thanks again,
regards, -
How to avoid system slow when login first time everyday
if login system first time every day, it will be very slow for loading web application.
I think maybe it 's reload cache every night or by a certain perods of time.
how to avoid this situation. or set cache reload a time per week?
Thanks.Terry,
I would confirm your application pools are set up as suggested in the install documentation. This should resolve your issue.
Thanks,
Drew
Maybe you are looking for
-
Old NPSWF32.dll-versions in serveral Adobe SW Folders
My Secunia PSI tool is nagging about following outdated flash plug-ins: c:\Program Files\Adobe\Adobe Extension Manager CS4\NPSWF32.dll (9.0.124.0)(General Plug-in) c:\Program Files\Adobe\Adobe Device Central CS4\Required\Opera\program\plugins\NPSWF32
-
Hi.... We are trying to change posting date (which is in new Fiscal year 2012) for an FB60 parked invoice , but following error message is coming "Changing of document number or fiscal year not possible here Message no. FP041" How to fix the err
-
Mapping error in file(FCC) to rfc scenario
Hi, i am trying to implement mapping in file (fcc) to rfc scenario. the source file is getting picked up, but the problem is arising during mapping. i am unable to generate the target structure. i am attaching mapping structure as follows Source Stru
-
How to buy imac 27 inch and ship it to iraq ?
hi im ali jalal from iraq and i want to buy imac 27 inch from apple online store and ship it to iraq is there any way to do that ? cuz i cant see my country in the list thanks
-
How to downgrade from safari 7.0.4
I apologise in advance if this is a stupid question. I recently installed Safari 7.0.4 on to my macbook and since I still use OSX 10.8 it didn't end up taking properly, now It won't even let me use the internet. I can't remember what version of Safar