Oracle-XML novice user
Hello,
I want to test a simple XML-Database program using oracle. I was wondering what are all the products that I have to install to implement it. I work on a WIN NT m/c,
have a personal web server & have jrun for java servlets. If anybody can give me an idea it would be great.
Thanks in advance,
Rajashree
Thanks for the reply. I had another question. We do not have Oracle SW on Win-NT. So can I test some examples of XML - Database using some other databse like MS-Access using XDK (XML developer's kit)
& XMLSQL utility available on oracle technet.
Thanks in advance.
Similar Messages
-
Oracle XML Gateway- Mapping XML to Oracle Apps API - Wrong Number or types
XML GATEWAY INBOUND – CALLING AN API (PL/SQL record type IN variable) TO INSERT THE DATA INTO SAMPLE TABLE
Hi,
I am using XML Gateway to push data into Oracle Apps using a procedure call with “Record Type” as the parameter. I am getting a “wrong number” or types of arguments mismatch error inspite of following the process described in the Oracle XML Gateway User’s Guide
Steps followed:
DB
1. I Created a sample table XX_CUST_HIST(ID NUMBER, ACCOUNT_NAME VARCHAR2(50), FIRST_NAME VARCHAR2(50), LAST_NAME VARCHAR2(50), TITLE VARCHAR2(50))
2. I then Created a package ‘XX_XML_DEMO_API’ in which we have defined a record type and a procedure.
3. The Record type ‘customerRecordType’ holds account_name , first_name, last_name and the title.
4. The Procedure ‘insert_customer_r’ takes 2 IN arguments :
1. p_ id number
2. p_customer customerRecordType
5. The procedure will insert the values into xx_cust_hist table
p_id -> id
p_customer.account_name -> account_name
p_customer.first_name -> first_name
p_customer.last_name -> last_name
p_customer.title -> title
Now I need to call the procedure ‘XX_XML_DEMO_API . insert_customer_r’ from XML gateway.
Following are the steps to call the procedure:
[1] Create DTD
ELEMENT NEW_CUSTOMER_APIR (DATAAREA)
ELEMENT DATAAREA (CUSTOMER_DATA)
ELEMENT CUSTOMER_DATA (ID, CUSTOMER_RECORD)
ELEMENT ID (#PCDATA) ELEMENT CUSTOMER_RECORD (ACCOUNT_NAME, FIRST_NAME, LAST_NAME, TITLE)
ELEMENT ACCOUNT_NAME (#PCDATA)
ELEMENT FIRST_NAME (#PCDATA)
ELEMENT LAST_NAME (#PCDATA)
ELEMENT TITLE (#PCDATA)
[2] Creation of XML map Data Definition type for Source and Destination are set to XML.
While executing the procedure ‘XX_XML_DEMO_API . insert_customer_r’ in post_process from the message designer, instead of 2 (p_id IN number , p_customer IN customerRecordType) parameters it is showing 6 parameters (p_id IN number, p_customer IN customerRecordType, account_name IN varchar2, first_name IN varchar2, last_name IN varchar2, title IN varchar2). Six parameters are getting mapped, instead of the 2 that the procedure really needs.
[3] Testing of XML map. Error message in transaction monitor:
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'INSERT_CUSTOMER_R' ORA-06550: line 1, column 7: PL/SQL: Statement ignored -
ECX_ACTIONS.BIND_PROC_VARIABLES
The process executed and produced the error message given in the step 3. The standard documentation is unclear on how this should be done. Being a newbie to the XML Gateway technology I am unable to get a clue about what the error message could be and which step of the process produced the message. Could anyone help me to proceed further?
Thanks in advance.Hi Siva,
It seems like the walletkey property of event type is defined incorrectly. Please try by defining the event as follows:
<wlevs:property name="walletkey" type="char" length="20"/>
Use "char" instead of "char[]".
Best Regards,
Sandeep -
Sort Date format in Oracle XML Publisher
Hi All,
I have a requirement like trx_date sort. i have taken trx_date in dd-mon-yyyy format. now i given sort option like this..
<?for-each:G_TRX_ORDER_NUMBER?><?sort:TRANSACTION_TYPE?><?sort:DUE_DATE;'ascending';data-type=date?> <?sort:TRX_NUMBER?>
now i have 3 dates
07-NOV-10
20-MAY-11
20-DEC-10
using above sort option.. this dates are not coming as per the ascending order.
Can any one tell me what i have to ?
ThanksWhat is your application release?
Does the sort work for other data types?
What if you change "<?sort:DUE_DATE;'ascending';data-type=date?>" to "<?sort:DUE_DATE;'ascending';data-type='date'?>", does it make any difference?
Few examples about the sort can be found in these docs/links.
How to Group Data Dynamically at Runtime in a BI/XML Publisher RTF Template? [ID 1062816.1]
Sorting Data In eText Template [ID 1263511.1]
Oracle XML Publisher User's Guide
http://download.oracle.com/docs/cd/B25516_18/current/acrobat/115xdoug.zip
Thanks,
Hussein -
Oracle XML Gateway How to download .xgm from the database
I am trying to find the utitlity called DownloadMap.java to dowload the .xgm mapping from the database as stipulated in the Oracle XML Gateway Users Guide. I am not able to find this utility and could not get any leads.
Our requirement is to extend the seeded outbound invoice mappings to add additional data elements before generating XML document.
We will appreciate if any lead or explanation is provided by our community.
Looking forward for a voice in our community in this regard.
Thank you,
JothiramThis post is to the wrong Forum, try the XML forum
-
I am trying to output a customer list containing customer number and customer name using 11i ( 11.5.10 CU2) with latest XML publisher patches on.
How do I debug the following error in OPP log:
[UNEXPECTED] [72156:RT1088889] oracle.xml.parser.v2.XMLParseException: Expected ';'.
The XML ouput file is generated fine but get the following error in the log file.
| Starting concurrent program execution...
+-----------------------------
Spawned Process 13471
Executing request completion options...
------------- 1) PUBLISH -------------
Beginning post-processing of request 1088898 on node O11IDEV at 03-APR-2006 13:57:35.
Post-processing of request 1088898 failed at 03-APR-2006 13:57:37 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
------------- 2) PRINT -------------
Finished executing request completion options.
The OPP service log messge is :
[4/3/06 6:02:53 AM] [main] Starting GSF service with concurrent process id = 72156.
[4/3/06 6:02:53 AM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
[4/3/06 6:02:53 AM] [Thread-12] Service thread starting up.
[4/3/06 6:02:53 AM] [Thread-13] Service thread starting up.
[4/3/06 1:16:08 PM] [OPPServiceThread0] Post-processing request 1088889.
[4/3/06 1:16:08 PM] [72156:RT1088889] Executing post-processing actions for request 1088889.
[4/3/06 1:16:09 PM] [72156:RT1088889] Starting XML Publisher post-processing action.
[4/3/06 1:16:09 PM] [72156:RT1088889]
Template code: COCXDOTEST
Template app: COC
Language: en
Territory: US
Output type: PDF
[040306_011610131][][EXCEPTION] [DEBUG] ------- Preferences defined PreferenceStore -------
[040306_011610132][][EXCEPTION] [DEBUG] ------- Environment variables stored in EnvironmentStore -------
[040306_011610133][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
[040306_011610134][][EXCEPTION] [DEBUG] [USER_ID]:[-1]
[040306_011610134][][EXCEPTION] [DEBUG] [FND_JDBC_PLSQL_RESET]:[false]
[040306_011610135][][EXCEPTION] [DEBUG] [NLS_TERRITORY]:[AMERICA]
[040306_011610135][][EXCEPTION] [DEBUG] [RESP_APPL_ID]:[-1]
[040306_011610136][][EXCEPTION] [DEBUG] [FND_MAX_JDBC_CONNECTIONS]:[500]
[040306_011610136][][EXCEPTION] [DEBUG] [NLS_SORT]:[BINARY]
[040306_011610137][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.LOW]:[-1]
[040306_011610138][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
[040306_011610138][][EXCEPTION] [DEBUG] [RESP_ID]:[-1]
[040306_011610139][][EXCEPTION] [DEBUG] [NLS_NUMERIC_CHARACTERS]:[.,]
[040306_011610139][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_SIZE]:[5]
[040306_011610140][][EXCEPTION] [DEBUG] [NLS_LANGUAGE]:[AMERICAN]
[040306_011610140][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.HIGH]:[-1]
[040306_011610140][][EXCEPTION] [DEBUG] [NLS_DATE_LANGUAGE]:[AMERICAN]
[040306_011610141][][EXCEPTION] [DEBUG] [LOGIN_ID]:[-1]
[040306_011610141][][EXCEPTION] [DEBUG] [NLS_DATE_FORMAT]:[DD-MON-RR]
[040306_011610142][][EXCEPTION] [DEBUG] [APPS_JDBC_URL]:[jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS
=(PROTOCOL=tcp)(HOST=O11IDEV.concentra.com)(PORT=9200)))(CONNECT_DATA=(SID=DEV1)))]
[040306_011610143][][EXCEPTION] [DEBUG] [SECURITY_GROUP_ID]:[0]
[040306_011610144][][EXCEPTION] [DEBUG] [NLS_CHARACTERSET]:[US7ASCII]
[040306_011610144][][EXCEPTION] [DEBUG] [FND_JDBC_CONTEXT_CHECK]:[true]
[040306_011610145][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_INTERVAL]:[300]
[040306_011610145][][EXCEPTION] [DEBUG] [FND_JDBC_USABLE_CHECK]:[false]
[040306_011610147][][EXCEPTION] [DEBUG] ------- Properties stored in Java System Properties -------
[040306_011610148][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
[040306_011610149][][EXCEPTION] [DEBUG] [sun.cpu.isalist]:[pa2.0 pa1.2 pa1.1 pa1.0]
[040306_011610149][][EXCEPTION] [DEBUG] [java.version]:[1.3.1.09]
[040306_011610150][][EXCEPTION] [DEBUG] [java.awt.graphicsenv]:[sun.awt.X11GraphicsEnvironment]
[040306_011610150][][EXCEPTION] [DEBUG] [java.specification.vendor]:[Sun Microsystems Inc.]
[040306_011610151][][EXCEPTION] [DEBUG] [sun.io.unicode.encoding]:[UnicodeBig]
[040306_011610151][][EXCEPTION] [DEBUG] [JTFDBCFILE]:[oracle/app/dev1app/dev1appl/fnd/11.5.0/secure/o11idev_dev1.dbc]
[040306_011610152][][EXCEPTION] [DEBUG] [java.runtime.name]:[Java(TM) 2 Runtime Environment, Standard Edition]
[040306_011610153][][EXCEPTION] [DEBUG] [user.home]:[u02/app/dev1app]
[040306_011610153][][EXCEPTION] [DEBUG] [java.specification.version]:[1.3]
[040306_011610154][][EXCEPTION] [DEBUG] [java.vm.info]:[mixed mode]
[040306_011610154][][EXCEPTION] [DEBUG] [user.dir]:[u02/app/dev1app/dev1appl/dev1csf/log/DEV1_o11idev]
[040306_011610155][][EXCEPTION] [DEBUG] [java.io.tmpdir]:[var/tmp/]
[040306_011610155][][EXCEPTION] [DEBUG] [LONG_RUNNING_JVM]:[true]
[040306_011610155][][EXCEPTION] [DEBUG] [java.ext.dirs]:[opt/java1.3/jre/lib/ext]
[040306_011610156][][EXCEPTION] [DEBUG] [dbcfile]:[oracle/app/dev1app/dev1appl/fnd/11.5.0/secure/o11idev_dev1.dbc]
[040306_011610156][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
[040306_011610157][][EXCEPTION] [DEBUG] [java.awt.fonts]:[]
[040306_011610157][][EXCEPTION] [DEBUG] [java.class.version]:[47.0]
[040306_011610158][][EXCEPTION] [DEBUG] [OVERRIDE_DBC]:[true]
[040306_011610158][][EXCEPTION] [DEBUG] [sun.cpu.endian]:[big]
[040306_011610159][][EXCEPTION] [DEBUG] [java.class.path]:[/opt/java1.3/lib/rt.jar:/opt/java1.3/lib/tools.jar:/opt/java1.3/jre/lib/rt.jar:/opt
/java1.3/jre/lib/i18n.jar:/oracle/app/dev1app/dev1comn/java/appsborg.zip:/oracle/app/dev1app/dev1ora/8.0.6.9/forms60/java:/oracle/app/dev1app/d
ev1comn/java]
[040306_011610160][][EXCEPTION] [DEBUG] [os.name]:[HP-UX]
[040306_011610160][][EXCEPTION] [DEBUG] [sun.boot.class.path]:[/opt/java1.3/jre/lib/rt.jar:/opt/java1.3/jre/lib/i18n.jar:/opt/java1.3/jre/lib/
sunrsasign.jar:/opt/java1.3/jre/classes]
[040306_011610161][][EXCEPTION] [DEBUG] [java.vendor.url.bug]:[http://www.hp.com/go/Java]
[040306_011610161][][EXCEPTION] [DEBUG] [user.timezone]:[America/Chicago]
[040306_011610162][][EXCEPTION] [DEBUG] [java.vm.name]:[Java HotSpot(TM) Server VM]
[040306_011610163][][EXCEPTION] [DEBUG] [CACHEMODE]:[DISTRIBUTED]
[040306_011610164][][EXCEPTION] [DEBUG] [cpid]:[72156]
[040306_011610164][][EXCEPTION] [DEBUG] [java.vm.specification.name]:[Java Virtual Machine Specification]
[040306_011610165][][EXCEPTION] [DEBUG] [java.vm.vendor]:[Hewlett-Packard Company]
[040306_011610165][][EXCEPTION] [DEBUG] [user.language]:[en]
[040306_011610166][][EXCEPTION] [DEBUG] [java.library.path]:[/opt/java1.3/bin/../jre/lib/PA_RISC2.0/native_threads:/opt/java1.3/bin/../jre/lib
/PA_RISC2.0/server:/opt/java1.3/bin/../jre/lib/PA_RISC2.0:/oracle/app/dev1app/dev1ora/iAS_1.0.2/lib:/oracle/app/dev1app/dev1ora/8.0.6.9/network
/jre11/lib/PA_RISC/native_threads:/oracle/app/dev1app/dev1appl/cz/11.5.0/bin::/oracle/app/dev1app/dev1ora/8.0.6.9/lib:/usr/lib:/usr/lib]
[040306_011610167][][EXCEPTION] [DEBUG] [path.separator]:[:]
[040306_011610167][][EXCEPTION] [DEBUG] [java.vm.specification.version]:[1.0]
[040306_011610168][][EXCEPTION] [DEBUG] [java.awt.printerjob]:[sun.awt.motif.PSPrinterJob]
[040306_011610168][][EXCEPTION] [DEBUG] [file.separator]:[]
[040306_011610169][][EXCEPTION] [DEBUG] [java.runtime.version]:[1.3.1.09-030418-12:59]
[040306_011610170][][EXCEPTION] [DEBUG] [java.vm.specification.vendor]:[Sun Microsystems Inc.]
[040306_011610171][][EXCEPTION] [DEBUG] [java.vendor]:[Hewlett-Packard Co.]
[040306_011610172][][EXCEPTION] [DEBUG] [file.encoding.pkg]:[sun.io]
[040306_011610172][][EXCEPTION] [DEBUG] [java.vendor.url]:[http://www.hp.com/go/Java]
[040306_011610173][][EXCEPTION] [DEBUG] [logfile]:[oracle/app/dev1app/dev1appl/dev1csf/log/DEV1_o11idev/FNDOPP72156.txt]
040306_011610174][][EXCEPTION] [DEBUG] [os.arch]:[PA_RISC2.0]
[040306_011610174][][EXCEPTION] [DEBUG] [os.version]:[B.11.11]
[040306_011610174][][EXCEPTION] [DEBUG] [java.home]:[opt/java1.3/jre]
[040306_011610175][][EXCEPTION] [DEBUG] [java.specification.name]:[Java Platform API Specification]
[040306_011610175][][EXCEPTION] [DEBUG] [sun.boot.library.path]:[opt/java1.3/jre/lib/PA_RISC2.0]
[040306_011610176][][EXCEPTION] [DEBUG] [line.separator]:[
[040306_011610176][][EXCEPTION] [DEBUG] [file.encoding]:[8859_1]
[040306_011610177][][EXCEPTION] [DEBUG] [user.name]:[oradev]
[040306_011610177][][EXCEPTION] [DEBUG] [java.vm.version]:[1.3.1 1.3.1.09-_18_apr_2003_14_01 PA2.0]
[4/3/06 1:16:13 PM] [UNEXPECTED] [72156:RT1088889] oracle.xml.parser.v2.XMLParseException: Expected ';'.
at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)
at oracle.xml.parser.v2.XMLReader.scanNameChars(XMLReader.java:1001)
at oracle.xml.parser.v2.XMLReader.scanQName(XMLReader.java:1677)
at oracle.xml.parser.v2.XMLReader.getEntity(XMLReader.java:1928)
at oracle.xml.parser.v2.NonValidatingParser.parseContentEntityRef(NonValidatingParser.java:1575)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1202)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:227)
at oracle.apps.xdo.common.xml.XSLTClassic.transform(XSLTClassic.java:172)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:160)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1015)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:968)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:209)
at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1561)
at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:951)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5975)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3555)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3614)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:229)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:153)I was able to correct the error. The data contained an '&' sign and that was causing the xml parser to fail with the above error. If the & is replaced by a different character other than & then this error does not occur.
Ashok -
i am using toplink 10.1.3.0.0 with oracle app server 10.1.2.2, i am using change field optimistic locking and generating the project xml,
application runs great locally in the jdeveloper, but when it is deployed on app server getting following error
here are the headers from both my project.xml as well as session xml..
<?xml version="1.0" encoding="UTF-8"?>
<toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)" xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<opm:name>PROJ</opm:name>
<opm:class-mapping-descriptors>
<opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
<?xml version="1.0" encoding="UTF-8"?>
<toplink-sessions version="4.5" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<session xsi:type="server-session">
<name>PROJSession</name>
<event-listener-classes/>
<logging xsi:type="toplink-log">
<log-level>finer</log-level>
</logging>
<primary-project xsi:type="xml">PROJ.xml</primary-project>
<login xsi:type="database-login">
<platform-class>oracle.toplink.platform.database.oracle.OraclePlatform</platform-class>
<user-name></user-name>
any help/idea appreciated...
Exception [TOPLINK-9005] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.SessionLoaderException
Exception Description: An exception was thrown while loading the <project-xml> file [PROJ.xml].
Internal Exception: Exception [TOPLINK-25004] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: Exception [TOPLINK-27101] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.platform.xml.XMLPlatformException
Exception Description: An error occurred while parsing the document.
Internal Exception: oracle.xml.parser.v2.XMLParseException: xsi:type "toplink:changed-field-locking-policy" not resolved to a type definition
at oracle.toplink.exceptions.SessionLoaderException.failedToLoadProjectXml(SessionLoaderException.java:74)
at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.loadProjectConfig(TopLinkSessionsFactory.java:316)
at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.createSession(TopLinkSessionsFactory.java:241)
at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildServerSessionConfig(TopLinkSessionsFactory.java:215)
at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildSession(TopLinkSessionsFactory.java:168)
at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildTopLinkSessions(TopLinkSessionsFactory.java:124)
at oracle.toplink.tools.sessionconfiguration.XMLSessionConfigLoader.load(XMLSessionConfigLoader.java:103)
at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:367)
at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:334)
at myProjectPackage.common.data.toplink.ToplinkDataManagerPeer.<init>(ToplinkDataManagerPeer.java:41)
at myProjectPackage.common.data.DataManagerFactory.getDataManagerInstance(DataManagerFactory.java:40)
at myProjectPackage.common.servlet.NYSDOTFilter.getDataManager(NYSDOTFilter.java:964)
at myProjectPackage.common.servlet.NYSDOTFilter.doFilter(NYSDOTFilter.java:144)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
at myProjectPackage.caf.servlet.NYSDOTCAFFilter.doFilter(NYSDOTCAFFilter.java:90)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at myProjectPackage.common.servlet.NYSDOTLoginFilter.doFilter(NYSDOTLoginFilter.java:95)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:669)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:228)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:570)first thanks for your reply,
i already figured that out and deployed it using 10.1.3.1 jars
my question
1) if it is a bug , how come it works fine with jdeveloper (
i would appreciate if you could provide any info about it.
2) i dont want to sound sarcastic , but 10.1.3.1 has of optimistic locking and the recommended solution i found was to use descriptor.getQueryManager().setUpdateCallCacheSize(0);
looks like 10.1.3.1 fixed one bug and introduced other one which was working fine earlier...
is there any other way of fixing optimistic locking issue other than using the
descriptor.getQueryManager().setUpdateCallCacheSize(0);
where i can find the latest/greatest (up to date patched version of toplink)
thanks again for your help -
Oracle XML / XDK has nightmarishly bad performance
Just wanted to share the results of some testing I've done recently. Thought you would all enjoy this information.
[JAVA_HOME is JDK1.4.2_04]
Oracle XML & XSLT Java library (would not run with -Xmx256m, OutOfMemory)
[xdk_version_10.1.0.3.0_production which comes with JDev 10.1.2]
$ time java -cp ".;../java;../../../../jdev/jdev1012_base/lib/xmlparserv2.jar" -Xmx512m TraxExamples wayne2
real 189m9.400s
user 0m0.010s
sys 0m0.020s
Saxon b8-6 Java library
$ time java -cp ".;../java;../../saxon8.jar" -Xmx256m TraxExamples wayne2
real 1m23.479s
user 0m0.010s
sys 0m0.010s
Saxon 6-5-4 Java library
$ time java -cp ".;../java;../../../saxon6-5-4/saxon.jar" -Xmx256m TraxExamples wayne2
real 1m24.749s
user 0m0.010s
sys 0m0.020s
Sun JDK 1.4.2_04 built-in XML and XSL libraries
$ time java -cp ".;../java" -Xmx256m TraxExamples wayne2
real 4m1.253s
user 0m0.010s
sys 0m0.020s
Literally, the only difference is the XML libraries being used for the transformation. Same exact input xml & xslt files and Java code. And the time difference is 1.5min (Saxon) vs 189min (Oracle). Even the Sun JDK libraries are no slouch vs Oracle XDK at just over 4mins.
We might be doing something in our XSLT that is particularly "bad" for Oracle, but I'm not sure of specifics, I just know these results show Oracle to be the wrong choice for our specific transformations and messages.
(The test file is about 20mb XML and the XSLT is quite simple.)
I'll try this experiment again when 10.1.3 is final and see if things are improved. For now, I'd advise anyone considering XDK to also evaluate other XSL engines!!Sure, here's the code, just modified TraxExamples.java from the Saxonb8-6 release (samples/java/TraxExamples.java) by swapping in my own XML and XSL files instead of the ones that are included with Saxon8.
* Show the simplest possible transformation from File
* to a File.
public static void exampleSimple2(String sourceID, String xslID)
throws TransformerException, TransformerConfigurationException {
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer =
tfactory.newTransformer(new StreamSource(xslID));
System.out.println("TransformerFactory is: " + tfactory.getClass().getName());
System.out.println("Transformer is: " + transformer.getClass().getName());
transformer.transform(new StreamSource(sourceID),
new StreamResult(new File("exampleSimple2.out")));
I simply added my own call to this method using my own file strings and named it "wayne2" so I could call it directly.
Then as you can see above, I simply changed the JAR files in my classpath before executing the tests. Otherwise, everything in the various tests is identical.
I can probably post the XSLT and a sample XML file if there's enough interest. I don't see a simple way to attach a file to a message in this forum... -
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/xml/parser/v2/
XSLException
Hi
I have downloaded XDK and was trying to use the XSU feature..
I unzipped the XDK file, I ran the following query on SQL plus
select * from emp. It displayed the full table.
Then i set the class path for XDK,XMLparserv2,oracle JDBC driver and then ran the same query on dos prompt(that is front end command line for java in my case).
The following is the line i tried to execute on the command prompt
java OracleXML getXML -user "scott/tiger" -conn "jdbc:oracle:thin:@localhost
:1521:PomonaT" "select * from emp"
PomonaT is the db name(Host string i use to enter SQL+)
I get the following error
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/xml/parser/v2/
XSLException
at OracleXML.To_XML(OracleXML.java:1038)
at OracleXML.ExecuteGetXML(OracleXML.java:917)
at OracleXML.main(OracleXML.java:184)
IS SOMETHING MISSING IN MY CLASSPATH??
IF YES? Could anyone tell what??
KunalAdd xmlparserv2.jar to Classpath & reboot.
-
How can I refer an xml Schema that was registred in Oracle xml DB
How can I refer an xml Schema that was registred in Oracle xml DB, from other xml schema?
I have the follow schema,:
<?xml version="1.0" encoding="AL32UTF8"?>
<xsd:schema targetNamespace="schemastipostasa.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb/XDBSchema.xsd"
elementFormDefault="unqualified" version="1.0"
attributeFormDefault="unqualified">
<xsd:simpleType name="codigosType" xdb:SQLType="NUMBER(4)">
<xsd:restriction base="xsd:positiveInteger" >
<xsd:totalDigits value="4" />
</xsd:restriction>
</xsd:simpleType >
<xsd:simpleType name="integerUnoType" xdb:SQLType="NUMBER(1)">
<xsd:restriction base="xsd:int" >
<xsd:totalDigits value="1" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="condicionType" xdb:SQLType="VARCHAR2(1)">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S" >
<xsd:annotation>
<xsd:documentation>Condicion si es S</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="N" >
<xsd:annotation>
<xsd:documentation>Condicion no es N</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType >
</xsd:schema>
I registred the schema written above with the folowwing pl*sql :
DECLARE
direc varchar2(2000);
nombreArch BFILE;
mens varchar2(2000);
BEGIN
direc:=uso_comun.pack_mail.fun_valor_param('TASA','DIR_DBSERVER');
nombreArch:=bfilename(direc,'schemas_tipos_tasa.xsd');
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://xmlns.oracle.com/tasa/schemas.tipos.tasa.xsd',
SCHEMADOC => nombreArch,
LOCAL => TRUE,
CSID => nls_charset_id('AL32UTF8'));
dbms_lob.CLOSE(nombreArch);
dbms_output.put_line('salio sin cancelar');
exception
when others then
mens:=sqlerrm;
dbms_lob.CLOSE(nombreArch);
rollback;
raise_application_error (-20001,'en registro shcema='||mens);
END;
Then, I want to register the following schema, that mention de schema above:
<?xml version="1.0" encoding="AL32UTF8"?>
<xsd:schema targetNamespace="schema.repuesto.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb/XDBSchema.xsd"
xmlns:tns="http://xmlns.oracle.com/tasa/schemas.tipos.tasa.xsd"
elementFormDefault="qualified" version="1.0"
attributeFormDefault="unqualified" >
<xsd:element name="PRECIORENG" type="preciorepType" />
<xsd:complexType name="preciorepType" >
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element name="CODIGO_MARCA" type="tns:codigosType" />
<xsd:element name="ORIGEN_PRECIO" type="tns:integerUnoType" />
<xsd:element name="INGRESO_POR_FALTANTE" type="tns:condicionType" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
But when a run the following script whith the same db-user:
DECLARE
direc varchar2(2000);
nombreArch BFILE;
mens varchar2(2000);
BEGIN
direc:=uso_comun.pack_mail.fun_valor_param('TASA','DIR_DBSERVER');
-- nombreArch:=bfilename(direc,'prueba_schema_seis.xsd');
nombreArch:=bfilename(direc,'Schema_repuesto_nuevo.xsd');
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL =>'http://xmlns.oracle.com/tasa/schema.repuesto.xsd',
SCHEMADOC => nombreArch,
LOCAL => TRUE,
CSID => nls_charset_id('AL32UTF8'));
dbms_lob.CLOSE(nombreArch);
dbms_output.put_line('salio sin cancelar');
--commit;
exception
when others then
mens:=sqlerrm;
dbms_lob.CLOSE(nombreArch);
rollback;
raise_application_error (-20001,'en registro shcema='||mens);
END;
tell me the error: ORA: 01031, insufficient privileges!!!!, what’s wrong??,Hi,
To register schema, you require XDBADMIN system privilege granted to the user.
Please verify this and retry.
Rgds,
Rakesh Tripathi -
Is Oracle XML DB...right solution?
Background:
I'm working on a system, which gets content from various providers and our engine processes the content and extracts the key information and stores them in relational tables. End users can view this information using our web application. Our web application supports multiple levels of filtering (in other words n levels of filters - described below). In addition, application also supports users to and, or, not one or more filters.
Problem:
With relational schema we were not able to support n number of filters.
Here's why it's difficult with relational schema:
- get base data set
- apply filter 1 (value 1, 2, 3)
- filter 1 results
- apply filter 2 (value 90, 91, 99) on filter 1 results (trick part is applying filter2 constraints on filter1 results)
- filter2 results
- apply filter n on filter n-1 results and so on.
not exact query.. sample version for demonstration (for simplicity sake i've used only one table...in reality each exists query will be using more than one table)
select *
from content f1
where filter in (1, 2, 3)
and exists (select null from content f2
where f2.contentid = f1.contentid
and f2.filter not in (90, 91, 99))
and so on...
As number of filters increases in number, it's difficult to generate efficient queries.
As interim solution, we have decided to store the entire data in memory and operate on it. It works very well (really fast too). But, we are limited by memory size. Above solution is not scalable for large volumes of data.
Solution (using Oracle XML db):
Then, I stumbled on to XML db option and I did some preliminary investigation. Seems like, nice solution for above problem.
This is what I did so far using XML db:
Step 1:
Created and registered schema.
declare
xmlblurb varchar2(4000) := '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb"
version="1.0" xdb:storeVarrayAsTable="true">
<xs:element name="docattribs" type="DocAttribsType" xdb:defaultTable="O_DOCATTRIBUTES1"/>
<xs:complexType name="DocAttribsType">
<xs:sequence>
<xs:element name="brandgroups" type="BrandGroupsType"/>
<xs:element name="messagegroups" type="MessageGroupsType"/>
<xs:element name="sources" type="SourcesType"/>
<xs:element name="contentgroups" type="ContentGroupsType"/>
<xs:element name="authors" type="AuthorsType"/>
<xs:element name="themes" type="ThemesType"/>
<xs:element name="entities" type="EntitiesType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BrandGroupsType">
<xs:sequence>
<xs:element name="bg" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MessageGroupsType">
<xs:sequence>
<xs:element name="mg" type="MessageGroupType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MessageGroupType">
<xs:sequence>
<xs:element name="bg" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="SourcesType">
<xs:sequence>
<xs:element name="source" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContentGroupsType">
<xs:sequence>
<xs:element name="pcg" type="ParentContentGroupType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ParentContentGroupType">
<xs:sequence>
<xs:element name="cg" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="AuthorsType">
<xs:sequence>
<xs:element name="author" type="AuthorType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AuthorType">
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="ThemesType">
<xs:sequence>
<xs:element name="theme" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EntitiesType">
<xs:sequence>
<xs:element name="af" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="a" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="b" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="c" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="l" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="m" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="p" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IdMentionsType">
<xs:attribute name="id" type="xs:integer"/>
<xs:attribute name="mentions" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="IdType">
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
</xs:schema>';
begin
dbms_xmlschema.registerSchema('nt_t_docAttributes.xsd',
xmlblurb,
TRUE,
TRUE,
FALSE);
end;
Step 2:
Created table with XMLType column (with the help of article posted at this link http://forums.oracle.com/forums/thread.jspa?threadID=244846&start=15&tstart=0)
CREATE TABLE ot_docattributes (
docid NUMBER,
docdate DATE,
statusid NUMBER)
TABLESPACE data_10m_a
ALTER TABLE ot_docattributes
add (docdata xmltype)
xmltype column docdata store as object relational
xmlschema "nt_t_docAttributes.xsd" element "docattribs"
VARRAY DOCDATA."XMLDATA"."authors"."author" STORE AS table ot_authors
(constraint pk_ot_authors primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."brandgroups"."bg" STORE AS table ot_brandgroups
(constraint pk_ot_brandgroups primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."contentgroups"."pcg" STORE AS table ot_contentgroups
(constraint pk_ot_contentgroups primary key (NESTED_TABLE_ID, ARRAY_INDEX))
varray "cg" store as table ot_contentgroup
(constraint pk_ot_contentgroup primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."a" STORE AS table ot_analysts
(constraint pk_ot_analysts primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."af" STORE AS table ot_analystfirms
(constraint pk_ot_analystfirms primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."b" STORE AS table ot_brands
(constraint pk_ot_brands primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."c" STORE AS table ot_companies
(constraint pk_ot_companies primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."l" STORE AS table ot_locations
(constraint pk_ot_locations primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."m" STORE AS table ot_messages
(constraint pk_ot_messages primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."p" STORE AS table ot_people
(constraint pk_ot_people primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."messagegroups"."mg" STORE AS table ot_messagegroups
(constraint pk_ot_messagegroups primary key (NESTED_TABLE_ID, ARRAY_INDEX))
varray "bg" store as table ot_brandgroup
(constraint pk_ot_brandgroup primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."sources"."source" STORE AS table ot_sources
(constraint pk_ot_sources primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."themes"."theme" STORE AS table ot_themes
(constraint pk_ot_themes primary key (NESTED_TABLE_ID, ARRAY_INDEX))
Step 3:
Using Plsql script constructed and loaded XML data into above table. Here's the sample data:
<docattribs>
<brandgroups>
<bg id="28" mentions="1"/>
<bg id="34" mentions="1"/>
</brandgroups>
<messagegroups/>
<sources>
<source id="8243"/>
</sources>
<contentgroups>
<pcg id="263">
<cg id="270"/>
</pcg>
<pcg id="264">
<cg id="275"/>
</pcg>
</contentgroups>
<authors/>
<themes/>
<entities>
<b id="28" mentions="1"/>
<b id="34" mentions="1"/>
<c id="4320" mentions="2"/>
<c id="9662" mentions="1"/>
<c id="36259" mentions="1"/>
<c id="44573" mentions="1"/>
<c id="69889" mentions="2"/>
<c id="78583" mentions="1"/>
<c id="93566" mentions="1"/>
<c id="142667" mentions="1"/>
<c id="142669" mentions="1"/>
<c id="155740" mentions="1"/>
<c id="221847" mentions="5"/>
<l id="187667" mentions="1"/>
<l id="222780" mentions="1"/>
<p id="5973" mentions="1"/>
<p id="47503" mentions="1"/>
<p id="113753" mentions="3"/>
<p id="114425" mentions="7"/>
<p id="209501" mentions="2"/>
</entities>
</docattribs>
Step 4:
Here are typical queries we will use via our application. Using following queries application will fetch relevant docids and
uses them to fetch detail information. See samples below:
-- 19 secs.
-- 41185 rows
-- only watchlist
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
-- 8 secs.
-- 7605 rows
-- watchlist + brand filter (Viagra OR Zoloft)
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
AND ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=50]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=27]') = 1
-- 8 secs
-- 2324 rows
-- watchlist + brand filter (Viagra OR Zoloft) + not brand filter (Financial and Levitra)
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
AND ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=50]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=27]') = 1
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=16]') = 0
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=40]') = 0;
-- 8 secs
-- 141 rows
-- watchlist + brand filter (Viagra OR Zoloft) + not brand filter (Financial and Levitra)
-- message group filter ()
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
AND ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=50]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=27]') = 1
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=16]') = 0
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=40]') = 0
AND EXISTSNODE (docdata, '/docattribs/messagegroups/mg[@id=27]') = 1;
Here's query execution plan:
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=ALL_ROWS 1 1191.16324450158
SORT AGGREGATE 1 164
FILTER
TABLE ACCESS FULL ELILILLY_ORK.OT_DOCATTRIBUTES 16 2 K 1161.13277939939
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_BRANDGROUPS 1 28 3.00304620318792
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_BRANDGROUPS 2 2.00200471148267
TABLE ACCESS BY INDEX ROWID ELILILLY_ORK.OT_MESSAGEGROUPS 1 42 3.00304658697702
INDEX RANGE SCAN ELILILLY_ORK.PK_OT_MESSAGEGROUPS 2 2.00200471148267
DB & OS Info:
Oracle Version : 10.1.0.2.0
OS : Linux
Finally, Here are my questions:
1. Currently, I'm running my queries against 122k rows (data growth rate is ~2million rows per month) . I feel, it's taking too much time for such a small data set. How can i improve the performace of above queries? Or Is there a better way to write them? Since, its in evolution stage, i'm open to restructuring the schema if needed for better performance.
2. Is this correct approach? If not, Is there a better way to solve the above problem?
3. Any suggestions/tips are welcome.
I apologize, for such a lengthy post (my intention was to provide as much information as possible).
Thanks in advance.Org Index Overflow makes it an index organized table (IOT) as distinct from a heap table (HT). In the original design we expected to see some performance enhancements from the use of IOT (In particular when re-serializing entire XML documents that had been persisted with Nested table storage), practice the benefits of IOT over HT in the XML DB use case have been marginal. We still create IOT by default when the tables are generated via Schema Registration, however it is likely that this will become controllable via a Schema Annotation in the not too distant future.
There are cases where the use of IOT causes problems, the most noticalbe of which is where you want to create a Text Index on a specific element or attribute which is mapped to a column in the Nested Table. If the NT is an IOT this is not possible, where if the Nested Table is an HT then there is no problem -
Class oracle.xml.sql.query.OracleXMLQuery not found in import
I tried to perform load java using a non-sys user :
loadjava -user user1/passwd -v -o -r Archive.java
but encountered the following error:
Errors in Archive:
ORA-29535: source requires recompilation
Archive:11: Class oracle.xml.sql.query.OracleXMLQuery not found in import.
Info: 1 errors
loadjava: 3 errors
But if I use sys user I don't have any error:
loadjava -user sys/manager -v -o -r Arachive.java
initialization complete
loading : Archive
creating : Archive
resolver :
resolving: Archive
Why is this so?
ANy security setup that I missed?
Thanks in advance.
Note:
my Archive.java file contains:
// Core Java Classes
import java.io.*;
import java.sql.*;
// Oracle Java classes
import oracle.jdbc.*;
import oracle.jdbc.driver.*;
import oracle.xml.sql.query.OracleXMLQuery;
null<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Azman Diron ([email protected]):
I tried to perform load java using a non-sys user :
loadjava -user user1/passwd -v -o -r Archive.java
but encountered the following error:
Errors in Archive:
ORA-29535: source requires recompilation
Archive:11: Class oracle.xml.sql.query.OracleXMLQuery not found in import.
Info: 1 errors
loadjava: 3 errors
But if I use sys user I don't have any error:
loadjava -user sys/manager -v -o -r Arachive.java
initialization complete
loading : Archive
creating : Archive
resolver :
resolving: Archive
Why is this so?
ANy security setup that I missed?
Thanks in advance.
Note:
my Archive.java file contains:
// Core Java Classes
import java.io.*;
import java.sql.*;
// Oracle Java classes
import oracle.jdbc.*;
import oracle.jdbc.driver.*;
import oracle.xml.sql.query.OracleXMLQuery;
<HR></BLOCKQUOTE>
Managed to solve this problem.
Drop all xml objects owned by sys and user1.
Reload xml objcets for user1 with -force option.
null -
Configuring Web Services for Oracle XML DB
Hi all...
I think I need some help one this subject....
We have a 10G Release 2 Oracle single instance ( not RAC) install on a Linux Redhat v5.3 64 bit server. Are developers are user Visual Studio .Net and wnat to send xml files to a web service so that the xml file (containing data) can call a PL/SQL package (to be written) which will take the data out of the xml input file and insert rows into a prefined table within the instance. Now they have browsed the web and have come upon the following links...
http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm
http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb22pro.htm#i1026724
Currently, within the database I looked at the schema XDB and have unlocked the account and connected as the user XDB. There are some 680 objects in the following groups...
SQL> select object_type, count(*) from dba_objects where owner='XDB' group by object_type;
OBJECT_TYPE COUNT(*)
SEQUENCE 2
PROCEDURE 5
OPERATOR 8
LOB 334
LIBRARY 12
PACKAGE 20
PACKAGE BODY 17
XML SCHEMA 25
TYPE BODY 5
TRIGGER 12
TABLE 36
INDEX 51
FUNCTION 5
INDEXTYPE 2
VIEW 2
TYPE 144
16 rows selected.
Now in the links above it mentions that the xdbconfig.xml needs to be altered etc. However, I have searched the entire $ORACLE_HOME and there is no file definition of that description.
From a DBA prospective...what do I have to install on the Linux server? I assume from the Oracle Database 10g Companion Products I need to lay down Oracle HTTP Server in a new Oracle home as the first step...or not? Does the HTML DB need to be installed as well?
And for Configuring Web Services for Oracle XML DB...what else has to be installed? And from what product line?
Thanks in Advance....
Cheers
RoegrHi Marco...
First of all ...thanks for the reply.
I followed the link and the infor in that web page. However, there were a few things that did not work....
1. The http://localhost:8080/ as is brought up a web page withe the heading as
==========
ORACLE DATABASE 10g EXPRESS EDITION LICENSE AGREEMENT..
==========
The other browser test ftp://localhost:2100/
did not find any page?
2. Then I went onto running (as the sysdba) the pl/sql to enable the ORAWSV Entry Service
however it error out. So I did a describe on DBMS_XDB and the function deleteServlet does not appear
then I had a look and this link to > http://www.liberidu.com/blog/?p=471
was for 11G and the other link > http://docs.oracle.com/cd/B28359_01/appdev.111/b28369.pdf
was for 11G.
However, we are on 10G
=================
SQL> select * from V$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
==================
So is there must be other sql for 10G?
Cheers
Rog -
In Oracle8i.15, I tried to install xmlparserv2.jar after I downloaded xdk_plsql_9_2_0_2_0.zip and upzip to local machine.
However, when I issued the follwoing command:
loadjava -v -r -user SYSTEM/manager -force xmlparserv2.jar
For each class, it has the following error message:
resolving: oracle/xml/async/DOMBuilderErrorListener
Error while resolving class oracle/xml/async/DOMBuilderErrorListener
ORA-04043: object oracle/xml/async/DOMBuilderErrorListener does not exist
resolving: oracle/xml/comp/CXMLParser
Error while resolving class oracle/xml/comp/CXMLParser
ORA-04043: object oracle/xml/comp/CXMLParser does not exist
How can I solve this problem?
Thanks in advance.Do you mean you use 8.1.5? You can't directly load the xmlparserv2.jar to it.
-
Hi, how do I change a Oracle XML DB (embedded gateway) server's charset and make it e.g. UFT-8?
Thanks,
Art
Edited by: ArtS on Apr 21, 2011 11:27 AMArtS wrote:
No, it's not. Here is what a google boot sees.
HTTP/1.1 302 Found
Date: Tue, 18 Jan 2011 15:48:40 GMT
Server: Oracle XML DB/Oracle Database
Location: http://xxxxxxxxxxxxxxxxxxxxxx
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 20
Keep-Alive: timeout=2, max=500
Connection: Keep-Alive
Content-Type: text/plain; charset=ISO-8859-2As I see it's a 302 page (redirection)
Could you also test a valid apex page? Here's the one from a sample page hosted at apex.oracle.com:
HTTP/1.1 200 OK
Date: Fri, 22 Apr 2011 20:14:22 GMT
Server: Oracle-Application-Server-11g
Connection: close
Content-Type: text/html; charset=UTF-8
Content-Language: en
Set-Cookie: BIGipServerapex-ext_oracle_com_http=XXXXXXXXXXXXXXXXXX; path=/
and here's a forward (302) page on same server:
HTTP/1.1 302 Found
Date: Fri, 22 Apr 2011 20:17:03 GMT
Server: Oracle-Application-Server-11g
Location: f?p=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Content-Length: 0
Connection: close
Content-Type: text/plain
Content-Language: en
Set-Cookie: BIGipServerapex-ext_oracle_com_http=XXXXXXXXXXXXXXX; path=/
I got this one (one same server and for same page when I tried to trace):
HTTP/1.1 405 Method Not Allowed
Date: Fri, 22 Apr 2011 20:20:55 GMT
Server: Oracle-Application-Server-11g
Allow:
Content-Length: 253
Connection: close
Content-Type: text/html; charset=iso-8859-1
Set-Cookie: BIGipServerapex-ext_oracle_com_http=XXXXXXXXXXXXXXXX; path=/
So as I see, it sends "charset=iso-8859-1" on error pages, "none" on forwarding, "utf-8" for real pages. In fact, APEX 4 already publishes pages in utf-8 charset. Here's nother apex web site:
HTTP/1.1 200 OK
Date: Fri, 22 Apr 2011 18:01:56 GMT
Server: Oracle XML DB/Oracle Database
Content-Type: text/html; charset=UTF-8
Content-Length: 54491
Connection: close
And here's a brief explanation about meta Content-Type:
A known misconception about <meta http-equiv="Content-Type"> is that this attribute of meta element is intended to be interpreted directly by a browser, like an ordinary HTML tag. According to WWW Consortium, it helps the HTTP server to generate corresponding headers when it serves the document. The HTTP/1.1 header specification for a HTML document must label an appropriate encoding in the Content-Type header, missing charset= parameter results in acceptance of ISO-8859-1 (so HTTP/1.1 formally does not offer such option as an unspecified character encoding), and this specification supersedes all HTML (or XHTML) meta element ones. This can pose a problem if the server generates an incorrect header and one does not have the access or the knowledge to change them.
I hope it helps!
Best Regards,
Gokhan
If this question is answered, please mark appropriate posts as correct/helpful and the thread as closed. Thanks -
Hi,
when i executed the following query:
SELECT COMP_NAME, STATUS
FROM DBA_SERVER_REGISTRY;
i got all the objects status as VALID except that
"ORACLE XML Database" was INVALID
Can someone help me to make this "ORACLE XML Database" as VALID.
Thanks,
Philip.HI Frank,
now what i did was i actually ran catpatch.sql and utlrp.sql after i did startup migrate.
and when i did
SELECT COMP_NAME, STATUS
FROM DBA_SERVER_REGISTRY;
i got all objects as valid, but i dont see "Oracle XML Database" anymore.
so now i suppose i cannot reinstall, but actually do a fresh install. and the following are the steps for a fresh install in the documentation
Installing a New Oracle XML DB Manually Without Database Configuration Assistant
After the database installation, you must run the following SQL scripts in rdbms/admin connecting to SYS to install Oracle XML DB after creating a new tablespace for Oracle XML DB repository. Here is the syntax for this:
catqm.sql <XDB_password> <XDB_TS_NAME> <TEMP_TS_NAME>
#Create the tables and views needed to run XML DB
For example:
catqm.sql change_on_install XDB TEMP
Reconnect to SYS again and run the following:
catxdbj.sql #Load xdb java library
Note:
Make sure that the database is started with Oracle9i release 2 (9.2.0) compatibility or higher, and Java Virtual Machine (JVM) is installed.
Postinstallation
After the manual installation, carry out these tasks:
1. Add the following dispatcher entry to the init.ora file:
dispatchers="(PROTOCOL=TCP) (SERVICE=<sid>XDB)"
2. Restart the database and listener to enable Oracle XML DB protocol access.
3. To allow for unauthenticated access to your Oracle XML DB repository data through HTTP, you must also unlock the ANONYMOUS user account.
is this right. can u tell me what i should do please.
Thanks,
Philip.
Maybe you are looking for
-
I am unable to build a distribution kit because the builder appears to have saved a path to the NI Variable Engine which is not valid. I appear to have the NI Variable Engine installed. There are NI Variable Engine 2.5.0 .xml files loaded in on m
-
Nothing happens when I hit Safari File/Share/Email this Page.
The other available options under 'Share' work, however, File/Share/Email this Page yields no response. Does anyone have any suggestions? Thanks!
-
How to reprogram my blackberry 8520 since it wont start/open?
-
Error in Applying 3480000 Patch
Hi, i am facing issue at the time of applying patch 3480000 . Please help? Error in Adpatch Log File: ATTENTION: All workers either have failed or are waiting: FAILED: file czupgpar2.sql on worker 1. FAILED: file czupgpar2.sql on worker 2. FAILED: fi
-
Installing Office on Japanese Mac
Hi everyone - I'm living in Japan and want to buy a new Mac and an English version of Office. I've heard that there are some problems or difficulties in installing and using English Office on a Mac bought in Japan. Does anyone have any experience wit