您肯定想从 XMLDB 开始。
XMLDB 本身就是一个拥有众多特性和功能的世界。
简而言之,您拥有三个带有 XMLDB 和 XMLTYPE 数据的存储选项。
您可以存储:
1.) 转换为 CLOB 数据类型。如果您这样做,XML 只是位于数据库中,它是一个 LOB。你不能索引它,搜索它,等等。数据库有点桶,你存储 XML。
2.) BINARY XML:这是 11gR2 中引入的最新选项。这将对 XML 进行标记和压缩,并以编码的二进制格式存储。这里的优点是您可以使用 Oracle Text 和 XMLINDEX 域索引来索引和搜索内容。这是我最有经验的选择。我们有十亿个文档,平均大小约为 12k,存储在 11gR2 数据库中。它对我们来说非常有效。
3.) XML 到关系映射:您定义一个关系模式以将数据存储在您的 XML 模式中,并定义 XML 元素如何映射到哪些关系表和字段。在摄取时,XML 被分解并存储到传统的关系模型中。然后,您可以像搜索任何传统数据库一样搜索、排序、索引。
这实际上取决于您想要做什么,以及您选择使用哪种 XML 存储模型。
您可以尝试在 Oracle XMLDB 论坛上提问。它非常活跃,并且有一些人比我更了解这个主题。
https://forums.oracle.com/forums/forum.jspa?forumID=34
希望有帮助。
回复更新1:
我真的只有二进制 XML 存储选项的经验,抱歉。我认为检查 OTN 上的 XMLDB 示例代码会很有用。
请参见:
http://www.oracle.com/technetwork/indexes/samplecode/xmldb-sample-523617.html