Skip to Main Content
  • Questions
  • How to do document management using Oracle

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question, Randy.

Asked: June 27, 2003 - 5:52 pm UTC

Last updated: March 15, 2007 - 7:12 am UTC

Version: 8.1.7

Viewed 1000+ times

You Asked

Hi Tom,

I am looking for document management solution from Oracle. We have an application which currently have about 2TB of documents all in tiff format. We are using a document mananegment software for storing and retrieval. It stores the files in file system using some propritory hashing algorithm and distributes the files in file system evenly into multiple directory/sub directory. But the company may belly up soon and we are looking for alternative. As a proponenet of Oracle I am thinking if its possible to store all documents inside the database as clob/blob/bfile. I came to know from your forum that Oracle has implemented file server of size 3.3TB.
Can you explain me the technology behind it ?
What's your recommendation about design if I am using blob ?
Can the performance be any issue ? If so then where can I tune it ?
What's specific products/technology I need other than the RDBMS engine ? I cannt seem to use Oracle iFS as our application is written in VB.

Also do you know if any other company has implemented a large document management system using Oracle ?

Can you forward me some white paper or success story so that I can convince the management ?

Thanks for your help.



and Tom said...

we use Oracle Files (ifs) -- part of our collaboration suite. See
</code> http://www.oracle.com/ip/deploy/cs/ <code>
for details. customer profiles are there as well.

Rating

  (23 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Can I use blob ?

Randy, June 28, 2003 - 10:18 am UTC

I thought of using iFS but as you know it only provides interface through JAVA API. Our application is
COM based. I am thinking to use BLOB to stored images within the table. I guess iFS also uses BLOb internally to store documents. So is there any performance benefit to use iFS rather than storing documents in blob. I know iFS provided cool feature like serching, version contrl check in/check ou etc. I am not looking for those features now. What's your recommendation in terms of performance to store the blob as I am thinking the table may grow upto 3TB ?



Tom Kyte
June 28, 2003 - 8:09 pm UTC

ifs works like a file system -- its api is ANYTHING that can talk "file system" -- eg "windows explorer", "ftp", "webdav", http, https -- those are its protocols.


You asked for document management -- that is alot more then "store in blob".

What you describe fits "collaboration suite"

iFS architecture

Dave, December 04, 2003 - 4:56 pm UTC

Tom -

Can you confirm my simplified understanding of the architecture? Is it...

Client (e.g., Windows explorer) <--> 9iAS <--> 9i database

I'd like to avoid 9iAS for now if possible, but I am guessing iFS isn't out-of-box functionality with the database alone, true?

Thanks,
Dave

Tom Kyte
December 04, 2003 - 6:09 pm UTC

it is more like

client <---> database

but ias is many times the client and required to administer/use it.

you'll need ias.

architectural question

A reader, June 07, 2004 - 6:36 am UTC

We are providing an architecture for 9i Application server based applications to one of our clients. Our client is already licensed with the Oracle 9i AS on IBM AIX based systems. As our future plan grows we might implement applications with Oracle Collaboration Suite and Oracle Developer suite. Now I have some basic doubts here:-

1.Suppose we are installing the 9iAS on IBM AIX based system and can we have our 9i database on Solaris SPARC system ?

2. Can't I use Oracle 9.0.3 collaboration suite with this setup.

3. Now I understand the fact that Oracle developer suite is not supoorted for IBM AIX based systems. In this case can I intall the Developer suite on one of the NT or Solaris system and then talk with the 9iAS on IBM AIX system and database on the solaris server.

Please help me with the above issues so that I can start with my arcitectural suggestions.

Tom Kyte
June 07, 2004 - 8:34 am UTC

1) with 10gAS you could -- there you can use an infrastructure database based on an already existing database instance. Earlier releases would always install their own infrastructure database.

2) why not? but anyway, you'd ask support for "what versions work" sort of stuff.

3) yes.

infrastructure install?

Quenton, August 18, 2004 - 1:16 pm UTC

You said with 10gAS you can use an infrastructure database based on an already existing database instance. We are currently using 9iAS with both a middle teir and infrastructure but looking at moving to a 10gAS J2ee and WebCache install but also want to add the Oracle Identity Management component (OID, SSO, etc...). I don't like the prospect of dedicating a server solely to house the infrastucture required by the Identity Management components.
1) Could I install this infrastructure into an existing database?
2)If so, can I manage the infrastructure from the Oracle Enerprise Manager installed on my middle tier or would I also have to install the OEM on the infrastructure?
3)What if any are the implications of this configuration?

Any info you can provide would be greatly appreciated.
Thanks


Tom Kyte
August 18, 2004 - 1:25 pm UTC

</code> http://www.oracle.com/technology/documentation/appserver10g.html <code>

see the repository creation assistant guides.

Thanks

Quenton, August 18, 2004 - 1:48 pm UTC

This is exactly what I was looking for.
Thanks.

A reader

A, September 02, 2004 - 4:16 am UTC

We are able to create a text file using java and webdav protocol on database under public folder of </code> http://machine_name/8080 <code>We would like to know how this gets stored inside the database(like in which tablespace,table etc.).we would also like to know whether it's follows all webdav standard,also how to set the properties for those files using java.Along with your explanation any good documents which has got examples will be helpful.

Tom Kyte
September 03, 2004 - 8:51 am UTC

I asked Sean Dillon, our local XML technologist, to take a look at this and here's what he had to say:
--

There's a schema in the database called XDB. When you create objects in the XML DB Repository, they're placed in this schema. The foldering structure you see when you interface to the repository is actually a facade on XDB's database schema.

When you create anything in the repository other than database-registered-XML Schema-based XML documents, these files are stored as blobs in XDB's schema. Once again, the protocol handlers for FTP, WebDAV and HTTP simply make these blobs available through standards-based channels.

About the APIs, I haven't been able to find any native APIs written for WebDAV interaction provided by Oracle or otherwise. What I do have to offer, however, is a very robust set of PL/SQL api's that will do just about anything you need to do to the WebDAV repository. These PL/SQL calls could easily be wrapped by a Java class through JDBC. I'm still looking for the WebDAV APIs, so if I find anything I'll let you know but for now check out the DBMS_XDB & DBMS_XDBVERSION pl/sql packages in the PL/SQL Supplied Packages Guide in the documentation (which can be found on at </code> http://otn.oracle.com <code>.




A reader

A, September 03, 2004 - 8:18 am UTC

No answer ?? At least some link for how to set properties and how to see that in database.Found No documents for webdav in oracle documention accept for "it is protocol and oracle supports this".Need to know how to use this to store,retrive ,set properties and view etc.

Your help is appreciated.

A - Have some patience

Bill, September 03, 2004 - 9:05 am UTC

Please remember this is AskTom - not AskAWholeBunchOfPeopleThatWorkForOracle. Sometimes Tom must get others involved in order to properly answer a question. Sometimes it may take a day or so to get an answer. My mom always said, "You can't rush a good thing". ;)

A reader

A, September 03, 2004 - 9:53 am UTC

Couldn't find anything for setting properties and reteriving in that package.Did I miss anything ??
Any example will be highly appreciated.



WebDAV api's

Luc De pauw, September 10, 2004 - 3:01 am UTC

I would also be interested in some plsql API for webDAV, if you are looking for a thirdpary java webDAV api maybe you could take a look at the apache jakarta slide project which includes a client webdav api ...
</code> http://jakarta.apache.org/slide/ <code>

WinFS vs Oracle IFS

A reader, September 14, 2004 - 8:57 pm UTC

Hoes does the feature set in the forthcoming WinFS (part of Windows' long-awaited Longhorn release) compare to Oracle IFS? WinFS has started its lofty marketing campaigns about seamless integration between the filesystem and database content, seamless searching, indexing, etc. All of which have always been doable since Oracle 8i/IFS?

Comments? Thanks

Tom Kyte
September 15, 2004 - 7:30 am UTC

lets see, compare winfs (something that as I understand was pulled from longhorn and is so far away on the horizon as to not be visible anymore due to the curvature of the earth) </code> http://www.eweek.com/article2/0,1759,1645223,00.asp

to something that has existed for a couple of years.


But in any case, I would more likely compare "winfs" and many portions of the Longhorn OS to capabilities in Collaboration Suite. I've been searching over files, email, document archives, voicemail, web conferences for a while now.

http://www.oracle.com/collabsuite/index.html <code>

iFS is just a file system in the datbase (sure, you can index, search and everything) -- collabsuite is more of an "out of the box solution"

Documents management

Waseem, October 19, 2004 - 2:02 pm UTC

There are some documents which the users want to upload in database
i have controled it through the file system and i have a table.

create table dept_page_attachments
(file_id NUMBER(10),
server VARCHAR2(256),
path VARCHAR2(150),
filename VARCHAR2(256));

when the user PRESSES the BUTTON then file copied to \\SERVER\PATH\FILENAME
(if the user has the access to write a file in the folder).

here we are using ASP pages for the viewing of documents from \\SERVER\PATH\FILENAME.
and for the input of data and uploading of files we are using oracle forms 6i.

if the user has just the rights to Read the file
then the user can only read the file but can't upload the file.
and if the user has the rights to write the file in the folder
then he has also get the rights to delete the file to manualy delete from the specified location,
which we don't want.

how can i manage these things from oracle forms or from another way that
he get rights for the time of copying and after the file copying, procedure revokes the rights.

or from any other way hich you suggest.

Please Help...
Thans in Advance.

Tom Kyte
October 19, 2004 - 2:44 pm UTC

if you use a database, we can secure things, back them up, recover them -- all kinds of amazing stuff.

Put them in a file system and well, you are sort of on your own, filesystems do what file systems do.


Sorry -- but if the user has access to a file system, they have access to the file system. Not being a windows file system expert, I cannot really counsel you as to what to do. Me, I keep important stuff in a database where I can back it up professional, restore it consistently with the other data in the database, secure it, audit it and all.

Documents Management

Waseem, October 19, 2004 - 3:48 pm UTC

In Oracle Database ...
1) How can I Insert a PDF/Word Document and how can I View it from Oracle forms or from ASP Pages?
2) If JAVA Stored Procedures are switable then please Give me an example.
3) Which Data Type is Switable for these Documents ?

Please Help...
thanks in advance.


Tom Kyte
October 19, 2004 - 4:22 pm UTC

1) otn.oracle.com has good discussion forums on forms and related tools. they would be your best bet for "forms" type questions.

I would suggest using mod_plsql -- very very very easy to file upload/download using a URL (search this site for wpg_docload for examples)

3) BLOB

Using PL/SQL with iFS

Tr&amp;#7847;n Ng&amp;#7885;c Sâm, November 14, 2004 - 11:06 pm UTC

Hi Tom !
Can we use PL/SQL to manipulate iFS? Can I use PL/SQL to retrieve, check in, check out versioning...iFS documents? I want to use iFS for my project but I cann't use Java because my project use ASP.net. Is there any way to program ASP.net with iFS?

Tom Kyte
November 15, 2004 - 6:32 am UTC

iFS is mostly programmed from the middle tier (and has be deprecated in favor of OCS, Oracle Collaboration Suite).

asp.net doesn't preclude java -- not if you believe the "any language" marketing message from MS.

IFS / Oracle Files / XMLDB ???

Tom, January 31, 2005 - 12:16 pm UTC

Tom,

I'm hoping you can clarify something. With the frequent renaming and moving of functionality into the app server, it's tricky to keep up with database file store technologies.

If you just want to use webdav to access database documents do you need to use Oracle9iAS or can we use built in database functionality? I think I saw that XMLDB can do this but I am not sure.

Oh. The database version is 9i or 10g Standard Edition.

Thanks


Tom Kyte
January 31, 2005 - 12:24 pm UTC

xmldb does that. just need database.

iFS and Transactions

Mike Friedman, May 22, 2005 - 1:30 am UTC

Tom,

We're integrating iFS with an Oracle DB based application but we're hitting big problems with transaction management.

We want to do things like automatically create a new folder every time a user creates a new order. This has to be transactional - no new folder if the TX rolls back.

But there doesn't seem to be any support for creating the new folder in the same transaction context.

Any advice?

Tom Kyte
May 22, 2005 - 8:12 am UTC

I'm not experienced enough in ifs to comment. Sorry.

question for creating documents from database tables

Suhail Ahmad, June 01, 2005 - 4:37 pm UTC

Tom,

My question is related to the original question. I have an application which stores several free format text data on several tables. I want to build some kind of content management system to manage the documents created from the database. There are almost 800 different kind of word documents ( kind of templates ) and each template differ from other in the content, in some template I need to calculate some dollor amounts along with some text and in some template I need to display just text, there may be heading, sub heading and diferent fonts and style . We would like to create PDF/WORD files and store the file into a blob/XMLTYPE column so that it can be reprinted for later use.

What would be best approach to design this kind of application. We have 10G database and I am thinking to use XMLDB features. We donot have ifS , we do have 10GAS.

Thank you.



Tom Kyte
June 01, 2005 - 5:35 pm UTC

no idea really, that is something you need to sort of design.

I mean, you basically said:

we have a lot of tables.

they have lots of free form text.

we need to make about 800 different types of documents from them.
templates (whatever they are) include formula's and other things

that is not much to go on. But you have an application to design, I can't really start from here.


mod_plsql and mod_oradav

Andrew Dalby, November 28, 2005 - 10:35 am UTC

Tom,

How can I store documents of whatever encoding (pdf, doc, tiff, jpg, etc.) in the database and allow access to the same BLOBs using either WebDAV or plain old http? I have set up mod_plsql and can use it pretty well, but the WebDAV stuff I can find is either very dark and mysterious (turn on XDB and it goes *somewhere* in that schema) or obsolete (interMedia Clipboard circa 8.1.7). Being a paranoid DBA (that's redundant isn't it?) I just don't like or trust "automagic". OCS and portal aren't the answer because we aren't going to spend $60/user, politically I can't force a change in web/app server, and I can't seem to download the SDK to play with.

So you have a better understanding of my situation and motivation: I am the DBA for a small ISV that has an internet-based subscription content management product. We have a low transaction volume (maybe 1000/day), but fairly high data volume (50M documents/10TB). Although I am an Oracle guy myself, we are historically a Microsoft shop because their products are quick, easy, and cheap. I have an opportunity to show how we could improve our product using Oracle as the back end, but there is no way we are going to scrap all our MS stuff and build a Linux, Oracle DBMS, Oracle iAS, Java app.

Tom Kyte
November 28, 2005 - 1:57 pm UTC

if you just want http - then file upload /download with a small HTML DB application might be what you want.

have you considered a small htmldb app? (</code> http://htmldb.oracle.com/ <code>to try it out) It is what I'm using right now on asktom for files. I have a little upload app and you just get links to files.

if you want WebDAV, then you do have to understand XDB to a degree.


WebDAV would be very useful

Andrew Dalby, November 29, 2005 - 9:57 am UTC

Tom,

I have absolutely considered htmldb and am impressed with what I have seen. I can provide marginal improvements if I limit myself to http and a browser. However, if you do the math on my previous post, you'll notice that it'd take 137 years to load 50M docs at 1000/dy. We haven't been in business for 137 years. ;) Most of our documents are scanned images and are bulk-loaded for purely archival purposes. I know SQL Loader can perform the bulk loading just fine, or operators can do file upload one at a time; but the killer feature I was hoping to demonstrate was to map a drive and just scan directly into Oracle and have the docs show up on the web site. I don't want to shred XML or define a XML Schema, set up ACLs or foldering. I just want to be able to click file->save inside an app.

Tom

Tom, February 06, 2006 - 1:13 pm UTC

We have an existing document management system [in-house] using mod_plsql and would like to add web-dav access to it. The system is designed using standard relational tables to store id,name,creator,created date etc as well as a separate table for versions.

I'd like to use xmldb to provide web_dav upload into these tables, but as far as I can tell, unstructured data [i.e. binary files] always end up in the xdb schema with the meta data stored somewhere else. Can you think of any way to keep the existing table structures and still get the advantage of xmldb's webdav/ftp upload?


Oracle Content DB

A reader, June 15, 2006 - 5:44 am UTC

Hi Tom

There is a new Oracle Content DB (new Oracle Files??).

But there is no information on the site, documentation? download? neither is it written when will it be available.

We already have a 10GR2, how will this new Content DB be installed??
Thanks

Using MOD_ORADAV

Michael Friedman, March 14, 2007 - 12:53 pm UTC

Tom,

We would like to use MOD_ORADAV to implement WebDAV on an Oracle DB.

Oracle XDB is not an acceptable solution because we need to manage our own authentication - we are not willing to give our users DB passwords.

The Intermedia WebDAV functionality also seems to require us to use Oracle DB passwords... not what we need.

Can you give an example or a pointer to information on how to use MOD_ORADAV to implement WebDAV folders?
Tom Kyte
March 15, 2007 - 7:12 am UTC

not familiar with it myself.

content database

Mohannad, July 27, 2008 - 4:20 am UTC

hi Tom, wishing you are fine.
we have an application deals with documents, storing deleting and updating. we need to install oracle content database to be the repository for all files. at the same time we need to continue using our application (developed using oracle forms, 10database) which deals with doc. the qustion is it possible load, update, delete files from our application(forms or database) to conetent db?
thanks.

More to Explore

CLOB/BLOB/etc

Complete documentation on Securefiles and Large Objects here