?
Solved

xmlschemas

Posted on 2012-03-13
12
Medium Priority
?
271 Views
Last Modified: 2012-03-14
Hi,

  In the definition of a table i see this definition for a column.  

  The URL part of this definition means that for any insert/select/update/delete on this column it will need to go online to the internet ?

  So any DML operation on this table will take more time that usual because it has to go online  to this internet URL ?

  What does this part of URL means in the table definition ?

 

  ) XMLTYPE COLUMN "ADT_ADF_INFO" STORE AS CLOB  (
  TABLESPACE "my_tablespace" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
  NOCACHE LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))
 XMLSCHEMA "http://url_web.com" ELEMENT "AuditTrail" ID 3288
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "my_tablespace"
  PARALLEL 4 ;
0
Comment
Question by:joe_echavarria
  • 7
  • 4
12 Comments
 
LVL 74

Assisted Solution

by:sdstuber
sdstuber earned 2000 total points
ID: 37715455
No

XMLSCHEMA clause forces your XMLTYPE column to be validated against the url_web.com schema you have registered using the DBMS_XMLSCHEMA package

There is a lot to this topic, far more than the scope of a single question.
I suggest reading up on it, starting in the following resources:


PL/SQL packages and types reference
http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_xmlsch.htm#i1008494

xml db developers guide
http://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb05sto.htm#g1070409
0
 
LVL 1

Author Comment

by:joe_echavarria
ID: 37715478
So it does not connect to the internet at any time  during any database operation ?
0
 
LVL 74

Expert Comment

by:sdstuber
ID: 37715493
there will be no internet connection based on what you have posted above.

there could be triggers or other procedural steps that could create connections though.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
LVL 1

Author Comment

by:joe_echavarria
ID: 37715582
The URL i posted was " http://url_web.com ", which is not a valid one.

The original table definition has a valid url.  Having a valid URL does it means will need to connect to the internet for any DML operation ?
0
 
LVL 74

Expert Comment

by:sdstuber
ID: 37715616
no
0
 
LVL 1

Author Comment

by:joe_echavarria
ID: 37715622
Thanks, i just wanted to confirm that.

Because the server on which the database will be installed won't have internet access.
0
 
LVL 74

Expert Comment

by:sdstuber
ID: 37715631
>> the server on which the database will be installed won't have internet access.

that makes it really easy to confirm.  Just try it.
if it needed internet access it would fail.
0
 
LVL 1

Author Comment

by:joe_echavarria
ID: 37715653
What happens is that any dml operation on that table always takes too much time, and i was telling it was because it has to go to the internet and connect to that url.

I wanted to be sure before.
0
 
LVL 78

Expert Comment

by:slightwv (䄆 Netminder)
ID: 37715699
>>and i was telling it was because it has to go to the internet and connect to that url.

I suppose it is possible.  I've never tried this but there is a version or REGISTERSHCHEMA that accepts a URIType for the schema doc.

Look in DBA_XML_SCHEMAS for the registered schema to see if it is local to the database.
0
 
LVL 74

Assisted Solution

by:sdstuber
sdstuber earned 2000 total points
ID: 37715946
>>and i was telling it was because it has to go to the internet and connect to that url.

I suppose it is possible.


No, it's not....

http://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb05sto.htm#i1031977

Registering an XML Schema with Oracle XML DB

The main parameters to procedure DBMS_XMLSCHEMA.registerSchema are these:

    SCHEMAURL – the XML schema URL. This is a unique identifier for the XML schema within Oracle XML DB. It is conventionally in the form of a URL, but this is not a requirement. The XML schema URL is used with Oracle XML DB to identify instance documents, by making the schema location hint identical to the XML schema URL. Oracle XML DB never tries to access a Web server identified by the specified URL.
0
 
LVL 74

Expert Comment

by:sdstuber
ID: 37715970
I will repeat my caveat from above though.

If you have something other than dml against the table, (triggers or other procedural logic) then those processes "might" try to connect.  But those processes wouldn't have any technical correlation to the xdb schema registration
0
 
LVL 74

Accepted Solution

by:
sdstuber earned 2000 total points
ID: 37716289
Just to clarify on comments above.  I had originally misunderstood what slightwv was trying to say.

I thought he was referring to uri columns on the table,  not the uri version of the registersschema procedure.  (Yes, I know he was pretty explicit about it, but I still somehow misread it.)

If you want to dothat, you should actually call registeruri, and let it invoke the corresponding registerschema procedure for you.

If you do this, then your are telling Oracle to go retrieve a remote (i.e. across the internet) schema document and store it locally in your xdb repository.

Once the schema doc is stored, then, just like any other registered schema, there is no internet access required.  If you already have a registered schema, then none of this applies.
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Suggested Courses

588 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question