Database Change Notification and TopLink Cache Invalidation

Has someone succeeed in implementing the How-to Database Change Notification and TopLink Cache Invalidation.
I have corrected some document errata about the pl/sql content and I manage to have messages in the 'notify_queue'.
I obtain the Topic in Java from this queue.
But the TopicSuscriber instances do not receive any message. Is there something to have in mind to make it work ?
Regards.

Reviving this thread again...
I am using DCN feature to build a middle-tier cache. I know oracle has problem sending physical rowid in case of 'Index Organized Table', however, in normal table also its not able to send proper rowid.
e.g, I have 2 records in Table A with rowid AAARIUAAGAAAV/uABw and AAARIUAAGAAAV/pAAX.
I have updated both the records. Strangely for the first record, oracle is sending INVALID rowid, although for the second record its sending the valid one.
Following is the output:
Row 1:  (Wrong rowid being sent, AAARIUAAGAAAV/uABw is replaced with AAARIUAAGAAAXDCAAr)
Connection information  : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
Registration ID         : 2102
Notification version    : 1
Event type              : OBJCHANGE
Database name           : <sid>
Table Change Description (length=1)
    operation=[UPDATE], tableName=<table_name>, objectNumber=70164
    Row Change Description (length=1):
      ROW:  operation=UPDATE, ROWID=AAARIUAAGAAAXDCAAr
Row 2:  (Right rowid being sent, AAARIUAAGAAAV/pAAX)
Connection information  : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
Registration ID         : 2102
Notification version    : 1
Event type              : OBJCHANGE
Database name           : <sid>
Table Change Description (length=1)
    operation=[UPDATE], tableName=<table_name>, objectNumber=70164
    Row Change Description (length=1):
      ROW:  operation=UPDATE, ROWID=AAARIUAAGAAAV/pAAX
Any idea ?

Similar Messages

  • Database change notifications

    Hi,
    May i know the what is database change notifications and query result change notifications why these are used?
    i Have seen some documents which i am not able to understand this.
    Thanks& regards
    Murali

    Since you don't mention which documents you have read, nor what exactly your confusion is, I would suggest that you read the documentation:
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_dcn.htm

  • Oracle Database Change Notification Logs

    We use Oracle's database change notification feature to implement a local cache in our application server. Oracle version - Standard edition 11.2.0.3.
    There are some use cases where the cache is not updated. Probably this could be because the registration of the application server is somehow deleted. To investigate these issues, I would like to know on how can I enable oracle logs for the below events
    1. Registration and un-registration for DCN.
    2. Notification sent from the oracle side.
    Kindly let me know how to enable oracle logs.
    Thanks!

    >
    We use Oracle's database change notification feature to implement a local cache in our application server. Oracle version - Standard edition 11.2.0.3.
    There are some use cases where the cache is not updated. Probably this could be because the registration of the application server is somehow deleted. To investigate these issues, I would like to know on how can I enable oracle logs for the below events
    1. Registration and un-registration for DCN.
    2. Notification sent from the oracle side.
    Kindly let me know how to enable oracle logs.
    >
    There is an example in the docs in the troubleshooting section of the DBMS_CHANGE_NOTIFICATION doc. Have you reviewed that?
    http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_chngnt.htm
    >
    Troubleshooting
    If you have created a registration and seem to not receive notifications when the underlying tables are changed, please check the following.
    •Is the job_queue_processes parameter set to a non-zero value? This parameter needs to be configured to a non-zero value in order to receive PL/SQL notifications via the handler.
    •Are the registrations being created as a non-SYS user?
    •If you are attempting DML changes on the registered object, are you COMMITing the transaction? Please note that the notifications are transactional and will be generated when the transaction COMMITs.
    •It maybe possible that there are run-time errors during the execution of the PL/SQL callback due to implementation errors. If so, they would be logged to the trace file of the JOBQ process that attempts to execute the procedure. The trace file would be usually named <ORACLE_SID>j*<PID>.trc. '
    For example, if the ORACLE_SID is 'dbs1' and the process is 12483, the trace file might be named 'dbs1_j000_12483.trc.
    Suppose a registration is created with 'chnf_callback as the notification handler and with registration_id 100. Let us suppose the user forgets to define the chnf_callback procedure. Then the JOBQ trace file might contain a message of the following form.
    Runtime error during execution of PL/SQL cbk chnf_callback for reg CHNF100
    Error in PLSQL notification of msgid:
    Queue :
    Consumer Name :
    PLSQL function :chnf_callback
    Exception Occured, Error msg:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'CHNF_CALLBACK' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored

  • Using Database Change Notification instead of After Insert Trigger

    Hello guys! I have an after insert trigger that calls a procedure, which in turn is doing an update or insert on another table. Due to mutating table errors I declared the trigger and procedure as autonomously transactional. The problem is, that old values of my main tables are inserted into the subtable since the after insert/update trigger is fired before the commit.
    My question is how can I solve that and how could I use the change notification package to call my procedure? I now that this notification is only started after a DML/DDL action has been commited on a table.
    If you could show me how to carry out the following code with a Database Change Notification I'd be delighted. Furthermore I need to know if it suffices to set up this notification only once or for each client seperately?
    Many thanks for your help and expertise!
    Regards,
    Sebastian
    declare
    cnumber number (6);
    begin
    select count(*) into cnumber from (
    select case when (select date_datum
        from
          (select f.date_datum,
            row_number() over (order by f.objectid desc) rn
          from borki.fangzahlen f
          where lng_falle      = :new.lng_falle
          and int_fallennummer = :new.int_fallennummer
          and lng_schaedling   = :new.lng_schaedling
          and date_datum       > '31.03.2010'
        where rn=1) < (select date_datum
        from
          (select f.date_datum,
            row_number() over (order by f.objectid desc) rn
          from borki.fangzahlen f
          where lng_falle      = :new.lng_falle
          and int_fallennummer = :new.int_fallennummer
          and lng_schaedling   = :new.lng_schaedling
          and date_datum       > '31.03.2010'
        where rn=2) then 1 end as action from borki.fangzahlen
            where lng_falle      = :new.lng_falle
            and int_fallennummer = :new.int_fallennummer
            and lng_schaedling   = :new.lng_schaedling
            and date_datum       > '31.03.2010') where action = 1;
    if cnumber != 0 then
    delete from borki.tbl_test where lng_falle = :new.lng_falle
    and int_fallennummer = :new.int_fallennummer
    and lng_schaedling   = :new.lng_schaedling
    and date_datum       > '31.03.2010';
    commit;     
    pr_fangzahlen_tw_sync_sk(:new.lng_falle, :new.int_fallennummer, :new.lng_schaedling);

    It looks like you have an error in line 37 of your code. Once you fix that the problem should be resolved.

  • ValueHolder Indirection and TopLink Cache

    We have a parent object A (main table) and child object B (a lookup table), mapped thought ValueHolder Indirection.
    We use ReadAllQuery to build SQL and retrieve object A(s), and associated B(s).
    The query result is used to populate a web page table.
    The problem is that when the table is populated, the exact same lookup query against object B is repeated without checking cache. That data field is populated by object_A.object_b.description. For example, below same query would be repeated many times when loading up the web page table:
    Select description_id, description from Table_B where description_id = 1
    Why the query generated by this Indirection not checking cache? Anyway to force it to check TopLink cache first before querying against database?
    Thanks for any help!
    Jeffrey

    Thanks for the reply.
    We use JDeveloper 10.1.3.2. TopLink map in JDev is used to map all table objects and their relationships. So In TopLink map, object(table) A has a ValueHolder object(table) B through indirection. The primary key of B is: description_id, which is used in the table reference mapping.
    We use the default TopLink settings in JDev, so object B has below settings in TopLink map:
    Identity Map: FullIdentityMap
    Size: 50 (there are only about 20 records in this lookup table)
    Existence Checking: Check Cache
    We don't have any other caching mechanism other than TopLink's. EJB 3.0 is used as service bean, and External Transaction Controller (OC4J) is used.
    How to check if B is already in the TopLink cache? I heard ReadAllQuery always goes to database w/o checking TopLink cache, but in the case, the query generated by lazy loading indirection is after the ReadAllQuery execution (when the web page table is loading up).
    Jeffrey

  • Issue in Oracle 11g Database Change Notification  for Java application

    Hi,
    I am trying to use Oracle's Database Change Notification in Java application.
    I followed the sample application (+DBChangeNotification.java+ , Example 29-2), provided in the following link:
    +[http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/dbmgmnt.htm#CHDEJECF]+
    I am able to see that the Registration of the SQL query is successful.
    But, when I do changes to the table registered, notifications are not received in the Listener class (+DCNDemoListener.java+).
    Ideally, the method DCNDemoListener.onDatabaseChangeNotification() should be invoked on any insert/update to the registered table. But this method is not getting invoked.
    The execution has stopped in the following line of DBChangeNotification.java Class.
    this.wait();
    +==> The application was WAITing indefinitely in this line, as the NOTIFY() from DCNDemoListener.java was not executed.+
    I am using VPN to connect to Oracel server. Remote Oracle Server is protected my firewall. Is this the reason for not sending the notifications from Oracle server?
    The version of software used are given below:
    Oracle Client - Oracle 11.1.0
    JDK - 1.6
    Oracle JDBC Driver - ojdbc6.jar
    Can someone help me to resolve this issue?
    Thanks in Advance.
    Regards
    Sam
    Edited by: Ponsu on Apr 7, 2011 10:41 PM

    Hi,
    I am having similar issue. Where you able to resolve it.
    I am also using the same example you were using.
    I am using the following version.
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    Compatibility: 11.2.0.0.0
    I do not see any notification coming back from the DB.
    Appreciate your help.
    Thanks & regards,
    Ebe

  • BigIP F5 : changing IP leads to cache invalidated and redownload of applet jars

    Hello all,
    In short, I'm trying to figure out how to have the java 7 plugin not considering the server IP to decide whether to use cached version of our applet's signed jars.
    As suggested in the title, we use BigIP's F5 boxes to dispatch requests among actual servers, which are located in 2 different sites (disaster recovery purposes).
    Each site has an F5 box ; and our DNS resolve the application's host name by alternating between 2 different IPs : one for site 1, the other for site 2.
    Each time a user visits http://theapp.mycompany.com, the host is resolved as 9.9.9.1 or 9.9.9.2, more or less randomly.
    This works very nicely as long as the applet is not concerned, or bandwith and latency is good enough to absorb 1.5Mb in a snap.
    For remote subsidiaries (10.000km away from servers), downloading 1.5Mb takes 35s -- too much for the normal user to wait.
    And the problem is : the plugin insists on looking up the server IP each time it starts up, and ignores cache entries that have been downloaded from a different IP.
    Here is the use case :
    - user connects to http://theapp.mycompany.com ; the browser get an IP, doesn't matter which ; user logs on, navigates in the app's html pages -- no problem
    - user gets to the applet :
    - the html page says
    <applet id="myApplet">
        <param name="archive" value="a.jar,b.jar,c.jar,d.jar,e.jar"/>
        <param name="codebase_lookup" value="false"/>
        <param name="archive_1" value="a.jar, preload, version=7.5.7" />
        <param name="archive_2" value="b.jar, preload, version=7.5.7" />
        <param name="archive_3" value="c.jar, preload, version=7.5.7" />
        <param name="archive_4" value="d.jar, preload, version=7.5.7" />
        <param name="archive_5" value="e.jar, preload, version=7.5.7" />
        <param name="baseUrl" value="/"/>
        <param name="code" value="a/package/for/Applet.class"/>     
        <param name="mayscript" value="mayscript"/>
        <param name="codebase" value="/applet/"/>
        <param name="name" value="MyApplet" />"
        <param name="locale" value="fr"/>
    </applet>
         The archive_n parameters are here in an attempt to tell the plugin to not even ask for jars if its cache contains entries with same host/same name/same version.
         The version is assigned at build time at an application level ; it has nothing to do with the Implementation-Version attribute found in MANIFEST.MF files.
    - Java and the plugin sarts up : let's assume this is the first time : cache is empty : all jars are downloaded ; as they are signed and the CA certificate chain was set in the browser config, and the java.policy is also configured to allow smooth exec, the applet runs smoothly -- after a long startup delay
    - user leaves the applet, do some stuff in other applet-less pages for some minutes (the java/plugin processes are shut down after a minute or so)
    - user reenters the page that contains the applet
    - Java and the plugin start up again :
         - the cache has entries for each jar : host, name, version are all ok.
         - But : the jars are not seen as "prevalidated" ; heres' the applet log ( in French, translation provided after "//") :
    network: Vérification de version pour a.jar. La version spécifiée est 7.5.7     //Checking version for a.jar. Specified version is 7.5.7
    security: La vérification de révocation de la liste noire est activée     // Check of blacklist revocation is activated
    security: blacklist: created: NEED_LOAD, lastModified: 1378474147992
    security: blacklist: hasBeenModifiedSince 1380806409906 (we have 1378474147992)
    security: La vérification de liste de bibliothèques sécurisées est activée     // Check of trusted libraries is activated
    ..... same for the other jars ....
    network: Created version ID: 7.5.7
    network: Created version ID: 7.5.7
    network: Entrée de cache trouvée [URL : http://theapp.mycompany.com/applet/a.jar, version : 7.5.7] prevalidated=false/0  //Cache entry found
    cache: Adding MemoryCache entry: http://sandbox-mosaic.jcdecaux.com/applet/plannerApplet_7.5.7.jar
    network: Created version ID: 7.5.7
         - The plugin then tries to lookup the host IP to check whether it matches that seen when creating the entry
         - 2 possibilities here :
                   - the IP returned is the same : the plugin is happy, uses the cached jar, no question/download to/from the server, and the applet starts up quick and runs ok
                   - the IP returned is not the same ; the plugin says :
    network: Vérification de version pour a.jar. La version spécifiée est 7.5.7     //Checking version for a.jar. Specified version is 7.5.
    security: blacklist: created: NEED_LOAD, lastModified: 1378474147992
    security: blacklist: hasBeenModifiedSince 1380806409906 (we have 1378474147992)
    security: La vérification de liste de bibliothèques sécurisées est activée     // Check of trusted libraries is activated
    cache: CacheEntry IP mismatch: 9.9.9.1 != 9.9.9.2
              and then it downloads again the jar.
              Of course, all the jars are treated the same way.
              Note that the applet eventually runs normally ; the only problem is that the cache essentially doesn't work, causing terribly annoying 35s delays at applet startup.
    Interestingly enough, examining the jdk 6 code shows that the "prevalidated=false" fragment (in bold/pink above) means that the method CacheEntry.isKnownToBeSigned() returns false.
    I tried with a self-signed certificate which I added first in IE as "Trusted publisher" ; I also tried with a certificate signed by a CA that is known by IE -- no help.
    So I really wonder : what does it take to have the plugin consider that each jar "isKnownToBeSigned" ?
    Any thoughts ?
    Note : we of course are considering packing jars, cleaning dead code, etc. to decrease applet size. But it doesn't help with the fact that the plugin considers the IP, which it shouldn't do in our case. And even with pack200 we're left with +350Kb of unnecessary downloads, not counting with future code to be developped ...
    Thanks for any feedback
    David
    Browser is IE7.
    Complete dump of system properties :
    __applet_launched = 280874909499
    __jvm_launched = 280874910680
    acl.read = +
    acl.read.default =
    acl.write = +
    acl.write.default =
    awt.toolkit = sun.awt.windows.WToolkit
    browser = sun.plugin
    browser.vendor = Oracle
    browser.version = 1.1
    file.encoding = Cp1252
    file.encoding.pkg = sun.io
    file.separator = \
    file.separator.applet = true
    http.agent = Mozilla/4.0 (Windows Vista 6.0)
    http.auth.serializeRequests = true
    https.protocols = TLSv1,SSLv3
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    java.class.path = C:\tools\Java\jre7\classes
    java.class.version = 51.0
    java.class.version.applet = true
    java.endorsed.dirs = C:\tools\Java\jre7\lib\endorsed
    java.ext.dirs = C:\tools\Java\jre7\lib\ext;C:\Windows\Sun\Java\lib\ext
    java.home = C:\tools\Java\jre7
    java.io.tmpdir = C:\Users\taille\AppData\Local\Temp\
    java.library.path = C:\tools\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Internet Explorer;;C:\oracle\ORA102\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\JavaSoft\JRE\1.3.1_06\bin;C:\ORACLE\Ora92\jre\1.3.1\bin;C:\ORACLE\Ora92\jre\1.1.8\bin;C:\tools\Groovy-1.7.5\bin;C:\tools\Graphviz2.28\bin;C:\tools\Git\cmd;C:\tools\tortoiseSVN\bin;C:\Program Files\Windows Imaging\;C:\oracle\ORA102\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\JavaSoft\JRE\1.3.1_06\bin;C:\ORACLE\Ora92\jre\1.3.1\bin;C:\ORACLE\Ora92\jre\1.1.8\bin;C:\tools\Groovy-1.7.5\bin;C:\tools\Graphviz2.28\bin;C:\tools\Git\cmd;C:\tools\tortoiseSVN\bin;C:\Program Files\Windows Imaging\;.
    java.protocol.handler.pkgs = sun.plugin.net.protocol|com.sun.deploy.net.protocol
    java.rmi.server.RMIClassLoaderSpi = sun.plugin2.applet.JNLP2RMIClassLoaderSpi
    java.runtime.name = Java(TM) SE Runtime Environment
    java.runtime.version = 1.7.0_21-b11
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.7
    java.vendor = Oracle Corporation
    java.vendor.applet = true
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.applet = true
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.7.0_21
    java.version.applet = true
    java.vm.info = mixed mode, sharing
    java.vm.name = Java HotSpot(TM) Client VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.7
    java.vm.vendor = Oracle Corporation
    java.vm.version = 23.21-b01
    javaplugin.nodotversion = 10212
    javaplugin.version = 10.21.2.11
    javaplugin.vm.options = -Ddeployment.trace.level=all -Duser.language=en
    javawebstart.version = javaws-10.21.2.11
    line.separator = \r\n
    line.separator.applet = true
    mrj.version.applet = true
    os.arch = x86
    os.arch.applet = true
    os.name = Windows Vista
    os.name.applet = true
    os.version = 6.0
    os.version.applet = true
    package.restrict.access.com.sun.deploy = true
    package.restrict.access.netscape = false
    package.restrict.access.org.mozilla.jss = true
    package.restrict.access.sun = true
    package.restrict.definition.com.sun.deploy = true
    package.restrict.definition.java = true
    package.restrict.definition.netscape = true
    package.restrict.definition.org.mozilla.jss = true
    package.restrict.definition.sun = true
    path.separator = ;
    path.separator.applet = true
    sun.arch.data.model = 32
    sun.awt.enableExtraMouseButtons = true
    sun.awt.warmup = true
    sun.boot.class.path = C:\tools\Java\jre7\lib\resources.jar;C:\tools\Java\jre7\lib\rt.jar;C:\tools\Java\jre7\lib\sunrsasign.jar;C:\tools\Java\jre7\lib\jsse.jar;C:\tools\Java\jre7\lib\jce.jar;C:\tools\Java\jre7\lib\charsets.jar;C:\tools\Java\jre7\lib\jfr.jar;C:\tools\Java\jre7\classes;C:\tools\Java\jre7\lib\deploy.jar;C:\tools\Java\jre7\lib\javaws.jar;C:\tools\Java\jre7\lib\plugin.jar
    sun.boot.library.path = C:\tools\Java\jre7\bin
    sun.cpu.endian = little
    sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
    sun.desktop = windows
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.command = sun.plugin2.main.client.PluginMain write_pipe_name=jpi2_pid7004_pipe37,read_pipe_name=jpi2_pid7004_pipe36
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = Cp1252
    sun.management.compiler = HotSpot Client Compiler
    sun.net.client.defaultConnectTimeout = 120000
    sun.net.http.errorstream.enableBuffering = true
    sun.os.patch.level = Service Pack 2
    trustProxy = true
    user.country = FR
    user.dir = C:\dtaille\TMA\perfs_br\newcert
    user.home = C:\Users\taille
    user.language = fr
    user.name = taille
    user.script =
    user.timezone = Europe/Paris
    user.variant =
    Vider les propriétés de déploiement...
    active.deployment.proxy.bypass.local = false
    active.deployment.proxy.same = false
    active.deployment.proxy.type = 3
    deployment.baseline.url = https://javadl-esd-secure.oracle.com/update/baseline.version
    deployment.blacklist.url = https://javadl-esd-secure.oracle.com/update/blacklist
    deployment.blacklisted.certs.url = https://javadl-esd-secure.oracle.com/update/blacklisted.certs
    deployment.browser.path = C:\Program Files\Mozilla Firefox\firefox.exe
    deployment.browser.vm.iexplorer = true
    deployment.browser.vm.mozilla = true
    deployment.cache.enabled = true
    deployment.cache.jarcompression = 0
    deployment.cache.max.size = 726
    deployment.capture.mime.types = false
    deployment.console.startup.mode = SHOW
    deployment.control.panel.log = false
    deployment.expiration.decision.10.21.2 = later
    deployment.expiration.decision.suppression.10.21.2 = true
    deployment.expiration.decision.timestamp.10.21.2 = 9/6/2013 15:29:3
    deployment.insecure.jres = PROMPT
    deployment.javafx.mode.enabled = true
    deployment.javapi.cache.update = false
    deployment.javapi.lifecycle.exception = false
    deployment.javapi.log.filename =
    deployment.javapi.runtime.type = 0
    deployment.javapi.stop.timeout = 200
    deployment.javapi.trace.filename =
    deployment.javaws.appicon.index = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\appIcon\appIcon.xml
    deployment.javaws.associations = ASK_USER
    deployment.javaws.cache.update = false
    deployment.javaws.concurrentDownloads = 4
    deployment.javaws.install = IF_HINT
    deployment.javaws.installURL = http://java.sun.com/products/autodl/j2se
    deployment.javaws.logFileName =
    deployment.javaws.muffin.max = 256
    deployment.javaws.shortcut = ASK_IF_HINTED
    deployment.javaws.splash.index = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\splash\splash.xml
    deployment.javaws.traceFileName =
    deployment.javaws.uninstall.shortcut = false
    deployment.javaws.update.timeout = 1500
    deployment.javaws.viewer.bounds = 1723,197,881,546
    deployment.jpi.mode.new = true
    deployment.log = false
    deployment.macosx.check.update = true
    deployment.max.output.file.size = 10
    deployment.max.output.files = 5
    deployment.mime.types.use.default = true
    deployment.modified.timestamp = 1380804178316
    deployment.proxy.bypass.local = false
    deployment.proxy.override.hosts =
    deployment.proxy.same = false
    deployment.proxy.type = 3
    deployment.security.SSLv2Hello = false
    deployment.security.SSLv3 = true
    deployment.security.TLSv1 = true
    deployment.security.TLSv1.1 = false
    deployment.security.TLSv1.2 = false
    deployment.security.askgrantdialog.notinca = true
    deployment.security.askgrantdialog.show = true
    deployment.security.authenticator = true
    deployment.security.blacklist.check = true
    deployment.security.browser.keystore.use = true
    deployment.security.clientauth.keystore.auto = true
    deployment.security.disable = false
    deployment.security.https.warning.show = false
    deployment.security.jsse.hostmismatch.warning = true
    deployment.security.level = HIGH
    deployment.security.local.applets = PROMPT
    deployment.security.mixcode = DISABLE
    deployment.security.notinca.warning = true
    deployment.security.password.cache = true
    deployment.security.run.untrusted = PROMPT
    deployment.security.sandbox.awtwarningwindow = true
    deployment.security.sandbox.casigned = PROMPT
    deployment.security.sandbox.jnlp.enhanced = true
    deployment.security.sandbox.selfsigned = PROMPT
    deployment.security.trusted.policy =
    deployment.security.validation.crl = false
    deployment.security.validation.ocsp = false
    deployment.security.validation.ocsp.publisher = false
    deployment.system.cachedir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\SystemCache
    deployment.system.security.blacklist = C:\tools\Java\jre7\lib\security\blacklist
    deployment.system.security.cacerts = C:\tools\Java\jre7\lib\security\cacerts
    deployment.system.security.jssecacerts = C:\tools\Java\jre7\lib\security\jssecacerts
    deployment.system.security.oldcacerts = C:\tools\Java\jre7\lib\security\cacerts
    deployment.system.security.oldjssecacerts = C:\tools\Java\jre7\lib\security\jssecacerts
    deployment.system.security.trusted.certs = C:\tools\Java\jre7\lib\security\trusted.certs
    deployment.system.security.trusted.clientauthcerts = C:\tools\Java\jre7\lib\security\trusted.clientcerts
    deployment.system.security.trusted.jssecerts = C:\tools\Java\jre7\lib\security\trusted.jssecerts
    deployment.system.security.trusted.libraries = C:\tools\Java\jre7\lib\security\trusted.libraries
    deployment.system.tray.icon = true
    deployment.trace = true
    deployment.update.mime.types = true
    deployment.user.cachedir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache
    deployment.user.extdir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\ext
    deployment.user.logdir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\log
    deployment.user.security.blacklist = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklist
    deployment.user.security.blacklist.dynamic = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklist.dynamic
    deployment.user.security.blacklisted.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklisted.certs
    deployment.user.security.policy = file:/C:/Users/taille/AppData/LocalLow/Sun/Java/Deployment/security/java.policy
    deployment.user.security.sandbox.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\sandbox.certs
    deployment.user.security.saved.credentials = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\auth.dat
    deployment.user.security.trusted.cacerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts
    deployment.user.security.trusted.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
    deployment.user.security.trusted.clientauthcerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.clientcerts
    deployment.user.security.trusted.jssecacerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecacerts
    deployment.user.security.trusted.jssecerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecerts
    deployment.user.security.trusted.libraries = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.libraries
    deployment.user.tmp = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\tmp
    deployment.version = 7.21
    deployment.webjava.enabled = true
    java.quick.starter = false

    This behavior was introduced by a security "fix" intended to prevent a DNS re-binding attack which permits unsigned applets to escape the applet sandbox.  The "fix" was, imo, very poorly thought out.  You think you have a problem with 1.5 megabits of applet jars, but I have 8 megabytes, hundreds of thousands of users, with lousy networks. So now I'm stuck with a colocation vendor.  Imagine my chagrin when they changed *their* ISP and thus their IP addresses.  
    As far as I can see, signed applets are already permitted (if the user allows) to communicate outside the sandbox, so this "fix" should not have been applied to signed jars, only to unsigned ones.  There are a couple of other techniques that Oracle might have used to prevent this attack, but they chose the simplest one, effectively preventing anyone from using the most common, inexpensive strategies for improving the availability of their web-based Java applications.

  • Child Objects  and TopLink Cache

    All,
    I have a problem RE the TopLink cache:
    Object A has a Vector of Object Bs (1:M) and Object B has a Vector of Object Cs(1:M). I am using ValueHolderInterface and indirection pattern for each of these Vectors.
    When I update an Object C, it is not refreshed the next time I read Object A using the readObject(expression). I can see the changes in the database. Can someone tell me the best way to refresh the cache to get the updated Object Cs that belong to Object A.
    What I am doing is updating the C objects that belong to object A (thru Vector B) and then retrieving them again in the very next method call. Hope this makes sense!
    Thanks!
    J

    There is something wrong with your test case, I've seen this before -- if you update a C, then without fail the cached version of C is updated and if you have a handle to the cached A that has the B that has the C in question, then you will see the update. It sounds like perhaps you're not actually looking at the cached A, but instead looking at it from a UOW, etc.
    Send me an email, it's simply my firstname . lastname at Oracle.com. I'll send you a UOW primer that should help better understand these semantics...
    - Don

  • How to use the database change notification event with an AppModule Child ?

    hi,
    I try to do the same stuff that this "How To" : [http://niallcblogs.blogspot.com/2009/06/auto-refreshing-adf-chart-objects-in.html].
    This example works fine, but I want an Application Module Root which contains the Application Module which contains the VO where there is the method processDatabaseChangeNotification.
    I have trying all the configuration possible of AppModuleRoot and AppModuleChild: Shared/Local, Local/Shared and even Local/Local ... but nothing works ...
    Can you tell me if possible, and if so ... how?
    thanks !
    (I use jdev11g)

    I don't find my reponse in the documentation....
    I have an AM Child in an AM Root like that :
    <AppModuleUsage
    Name="AppModuleChild"
    FullName="model.AppModuleChild"
    ConfigurationName="model.AppModuleChildShared"
    SharedScope="2" />
    My AM Root is Shared in the file "DataBinding.cpx" :
    <BC4JDataControl id="AppModuleRootDataControl" Package="model"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    SupportsTransactions="true" SupportsFindMode="true"
    SupportsRangesize="true" SupportsResetState="true"
    SupportsSortCollection="true"
    Configuration="AppModuleRootShared" syncMode="Immediate"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"/>
    ... and the database change event notification don't work... I don't understand !

  • Data Change Notification and streams

    Hi,
    I would like to know if Data Change Notification has something related with Streams.
    At first glance, I would say no, but I cannot find any tech article to confirm this.
    Can anyone help ?
    Regards,
    Gilles

    Which version number ? Database ? 11g or 10g, whatever.
    I am not sure DCN is based on AQ.
    DCN does not need aq_tm_processes to be non null. It only needs job_queue_processes.
    So, it let me suppose that it does not use AQ.
    And I can find no technote describing the foundations of DCN.
    http://www.oracle.com/technology/obe/11gr1_db/appdev/dcn/dcn.htm
    Any idea ?

  • Don't see email accounts to change notifications and no notifications for TEXTS.

    I have had carrier issued software release 10.2.1.2977 for awhile.
    I noticed now that under Notifications --> Core Applications there is no mention of any of my email accounts.
    (But I have no issue receiving or sending email via this Q10).
    And although it seems that I can change notification for Text Messages, in practice there is no LED or Vibrate or Sound that happens when a text does arrive. (And again there is no issue receiving or sending texts via this Q10 BUT no notification of any type)
    Any ideas to resolve these notification problems?
    If not, I will be forced, albeit reluctantly to "starting fresh". 
    Having said that I am not sure the best and safest way to do this ie reinstall carrier OS and then restore what I have backed up using BB Link. 
    I would love to know of the easiest, safest way to do as I have described.
    Thanks for your advice.
    And yet as you can see I am able to make changes of NOTIFICATON for texts but whatever I choose I still don't get notification via LED or VIBRATION and for my email accounts which Ican't see LED and VIBRATE is working fine (but of course can't change them)!
    I have had this official OS10 software for awhile...well before I noticed this problem.

    If the apple id being used by iCloud isn't the one you want, go to settings > icloud > delete account. It doesn't actually delete the account, but it removes it from your device so you can put in the right apple id

  • Exception thrown while regestring for database change notification

    hi all,
    i have taken sample code from docs for DCN
    but im not able to register DCN,its throwing
    ORA-29973: Unsupported query or operation during change notification registration
    can any one please help me out in this.

    I'm not a DBA. So, I don't know all the tools that are available to monitor structural DB changes such as this one. Change Notification's purpose is to monitor user schema data changes, not Oracle system data changes.
    I'm guessing that there are DBA tools to monitor trigger code changes, perhaps in OEM. You may want to pose this question on a DB server or OEM discussion forum to see if someone knowledgeable on DB management can answer. It's unlikely there are too many DBA-types monitoring the ODP.NET discussion forum.

  • Change Notification issue - Deletе and Update - there is no difference

    Hi guys. I have an issue with change notification in ODP. There is not difference between Update and Delete, for these two actions in ODP. ODP says 'Update' in OracleNotificationEventArgs.Info for both Update event and Delete event.
    I'm using ODP.NET 11g (11.1.0.6.20) with Oracle Database 10g (10.2.0.1.0), and example that provide Oracle http://www.oracle.com/technology/oramag/oracle/06-winsupp/win06odp.html
    When I register same query for Database Change Notification on server side by using pl/sql, I receive correct change status in registered pl/sql callback, i.e. for delete - delete, for update - update.
    Why ODP does not differ Update and Delete events?

    Hello,
    I've used ODP.NET (11.1.0.6.20) and Oracle Database 10g XE (10.2.0.1.0) and have been unable to reproduce the behavior you are seeing.
    Are you able to post a small testcase that reproduces for you?
    Regards,
    Mark

  • TopLink caching behaving strangly?

    Hi folks,
    Realizing that my previous post titled 'Session#acquireUnitOfWork() resets identiy maps' at Session#acquireUnitOfWork() resets identiy maps may be a bit muddleheaded I'll take a different approach at the same problem.
    I'm not yet very familiar with TopLink caching (links to good articles greatly appreciated) but the behaviour we see here still does not make sense to me. Caching is provided by identity maps referenced by the server session. That much I understand. So, every time an application reads/writes data from/to the database TopLink would update those identity maps - if necessary. Based on that I assume that those maps remain untouched as long as I do not modify a certain object and commit those modifications.
    [Pseudo code]
    1: TopLink.save(obj1)
    2: obj2 = TopLink.read(queryForObj1)
    3: obj1 == obj2
    It all boils down to the simple question why obj1 and obj2 are two different instances? I would expect them to be one and the same instance.
    I would greatly appreciate if someone could provide some clarification.
    Regards,
    Marcel

    Hello Marcel,
    Your question in this and the other thread touch on how the UnitOfWork and TopLink caching works. Basically what you are seeing is probably because you are reading instances from different UnitOfWork objects. Each UOW has its own cache to maintain transactional issolation. Using a UOW will return a cloned copy of the object contained in the central cache so that you can modify it without changes being seen outside the transaction. On commit, the changes in the clone are put in the database and merged into the object in the main cache. Only changes made to the UnitOfWork working copy of an object will be persisted, but you can read from the session or ClientSession directly instead of the UnitOfWork - this will return the copy from the central cache.
    When you commit/release a UnitOfWork, all working copies become detached; changes will no longer be persisted to the database.
    I would recommend looking over the white paper on the UnitOfWork at:
    http://www.oracle.com/technology/products/ias/toplink/technical/unitOfWorkWP.pdf
    Best Regards,
    Chris

  • Oracle DB change notification is not working ..pls help

    Can anyone help on my problem ?
    Here is the step i done :
    Step 1.       Run the following command login as sysdba:
    GRANT CHANGE NOTIFICATION TO COPS;
    GRANT EXECUTE ON DBMS_CHANGE_NOTIFICATION TO COPS;
    Step 2.       Run following create table script and commit:
    CREATE TABLE COPS.employees
    employee_id NUMBER NOT NULL,
    first_name VARCHAR2(10),
    last_name VARCHAR2(10),
    salary NUMBER
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    NOMONITORING;
    ALTER TABLE COPS.employees ADD (
    CONSTRAINT employees_PK
    PRIMARY KEY
    (employee_id));
    INSERT INTO employees
    VALUES(149,'ALEX','TAN',5000);
    Step 3 :Query “select from DBA_CHANGE_NOTIFICATION_REGS”*
    I manage to get the notification for insert record appear.
    Step 4: Run update query:
    update employees set salary = salary + 10 where employee_id = 149;
    commit;
    Step 5: Re-run the “select from DBA_CHANGE_NOTIFICATION_REGS”*
    There is no rows returned.
    Can anyone help me on this ? how to trace why the updates notification is not trigger ?

    Hi,
    I had the same situation in this post by 814992
    [Database Change notification running on Unix with c# |http://forums.oracle.com/forums/thread.jspa?messageID=9167210&#9167210]
    Can somebody help why database notification cannot works in unix platform ?
    Regards,
    Chua
    Edited by: user13476831 on Dec 14, 2010 7:00 PM

Maybe you are looking for

  • Updating imported images automatically?

    I am working on an all-Fireworks 8 mockup, and I want to be able to build each piece of the mockup separately, then bring them all together into one complete Fireworks document. My question is, can I get it so that when the pieces are edited and save

  • Itunes will start to sync...then shut down

    i just bought a new 32 gig 3gs, and im tryin to sync the photos and apps that i had on my computer already. but as soon as i start to sync, a dialog box pops up that says itunes has stopped working. i totally un-installed itunes twice, re-installed t

  • Aperture 3.5.1 - applying titles to multiple images?

    I've searched all over for this but can find nothing about it.  As above, is there a short and less labour intensive way to apply the same title to multiple images?  I thought Lift / Stamp metadata would do it but there seems to be no option to add e

  • Has anyone else noticed that itunes docks 1.07 for .99 cent songs?

    What is going on? 99 cents used to be docked from my account. I don't understand why this is now happening.

  • Z10 Browser - Developer Tools. Desktop Mode & Disc Cache

    Would anyone with a knowledge of the Z10 be able to explain whether these options are for the regular user - such as myself? I do understand the function of "Web Inspector" ..yet I'm curious as to whether "Disc Cache" is needed in order for the brows