Merge ../org.eclipse.datatools.enablement.oracle
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/.gitignore b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/.gitignore
new file mode 100644
index 0000000..60463af
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/.gitignore
@@ -0,0 +1,2 @@
+bin
+build.xml
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/.project b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/.project
new file mode 100644
index 0000000..2c626d9
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f57356c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.datatools.enablement.oracle.dbdefinition; singleton:=true
+Bundle-Version: 1.2.1.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
+
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/about.html b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/about.html
new file mode 100644
index 0000000..129db9d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 15, 2009</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/build.properties b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/build.properties
new file mode 100644
index 0000000..1c54597
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/build.properties
@@ -0,0 +1,24 @@
+###############################################################################
+# Copyright (c) 2001, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+bin.includes = plugin.xml,\
+               runtime/,\
+               plugin.properties,\
+               about.html,\
+               META-INF/
+               
+jars.extra.classpath =
+src.dir	= src/
+plugin.version =	1.0.0.200706071
+javadoc.dir =		doc/api/
+download.dir =		./download/
+javac.source =		1.4
+javac.target =		1.4
+src.includes = about.html
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/plugin.properties b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/plugin.properties
new file mode 100644
index 0000000..c905890
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/plugin.properties
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright (c) 2001, 2004, 2008 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+
+pluginName = Eclipse Data Tools Platform Oracle Database Definition Plug-in
+providerName = Eclipse Data Tools Platform
+
+11ProductString = Oracle
+11VersionString = 11
+
+10ProductString = Oracle
+10VersionString = 10
+
+9ProductString = Oracle
+9VersionString = 9
+
+8ProductString = Oracle
+8VersionString = 8
+
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/plugin.xml b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/plugin.xml
new file mode 100644
index 0000000..9171382
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/plugin.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+   <extension
+         point="org.eclipse.datatools.connectivity.sqm.core.databaseDefinition">
+      <definition
+            version="11"
+            product="Oracle"
+            productDisplayString="%11ProductString"
+            versionDisplayString="%11VersionString"
+            file="runtime/vendors/Oracle_11/Oracle_11.xmi">
+      </definition>
+      <definition
+            version="10"
+            product="Oracle"
+            productDisplayString="%10ProductString"
+            versionDisplayString="%10VersionString"
+            file="runtime/vendors/Oracle_10/Oracle_10.xmi">
+      </definition>
+      <definition
+            version="9"
+            product="Oracle"
+            productDisplayString="%9ProductString"
+            versionDisplayString="%9VersionString"
+            file="runtime/vendors/Oracle_9/Oracle_9.xmi">
+      </definition>
+      <definition
+            version="8"
+            product="Oracle"
+            productDisplayString="%8ProductString"
+            versionDisplayString="%8VersionString"
+            file="runtime/vendors/Oracle_8/Oracle_8.xmi">
+      </definition>
+   </extension>
+   
+</plugin>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_10/Oracle_10.xmi b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_10/Oracle_10.xmi
new file mode 100644
index 0000000..6674763
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_10/Oracle_10.xmi
@@ -0,0 +1,997 @@
+<?xml version="1.0" encoding="ASCII"?>
+<DBDefinition:DatabaseVendorDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:DBDefinition="http:///org/eclipse/datatools/modelbase/dbdefinition/dbdefinition.ecore" vendor="Oracle" version="10" maximumIdentifierLength="8" snapshotViewSupported="true" viewTriggerSupported="true" maximumCommentLength="64" sequenceSupported="true" synonymSupported="true" mQTSupported="true" mQTIndexSupported="true" userDefinedTypeSupported="true"
+ packageSupported="true" roleSupported="true" roleAuthorizationSupported="true" userSupported="true" constructedDataTypeSupported="true">
+  <predefinedDataTypeDefinitions xmi:id="BINARY_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="2000" primitiveType="BINARY" jdbcEnumType="-2" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_VARYING_1" primitiveType="BINARY_VARYING" jdbcEnumType="-3" orderingSupported="false" groupingSupported="false" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATALINK_1" primitiveType="DATALINK" jdbcEnumType="-13" javaClassName="java.net.URL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BFILE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" orderingSupported="false" groupingSupported="false" javaClassName="java.sql.Blob">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_1" lengthSupported="true" defaultLength="1" displayNameSupported="true" displayName="CHAR({0})" lengthSemanticSupported="true" keyConstraintSupported="true" bitDataSupported="true" maximumLength="2000" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <lengthSemantic>BYTE</lengthSemantic>
+    <lengthSemantic>CHAR</lengthSemantic>
+    <name>CHAR</name>
+    <name>CHARACTER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_1" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" orderingSupported="false" groupingSupported="false" javaClassName="java.sql.Clob">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>CLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_LARGE_OBJECT_1" primitiveType="NATIONAL_CHARACTER_LARGE_OBJECT" jdbcEnumType="1111" orderingSupported="false" groupingSupported="false" javaClassName="java.sql.Clob">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" displayNameSupported="true" displayName="VARCHAR2({0})" lengthSemanticSupported="true" bitDataSupported="true" maximumLength="4000" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <lengthSemantic>BYTE</lengthSemantic>
+    <lengthSemantic>CHAR</lengthSemantic>
+    <name>VARCHAR2</name>
+    <name>CHARACTER VARYING</name>
+    <name>CHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_2" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" orderingSupported="false" groupingSupported="false" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTERVAL_1" keyConstraintSupported="true" displayNameSupported="true" displayName="INTERVAL {0} TO {1}" leadingFieldQualifierSupported="true" trailingFieldQualifierSupported="true" fieldQualifierSeparator=" TO " defaultLeadingFieldQualifierDefinition="L_YEAR" defaultTrailingFieldQualifierDefinition="T_MONTH" primitiveType="INTERVAL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <leadingFieldQualifierDefinition xmi:id="L_YEAR" name="YEAR" precisionSupported="true" maximumPrecision="9" defaultPrecision="2" validTrailingFieldQualifierDefinitions="T_MONTH"/>
+    <leadingFieldQualifierDefinition xmi:id="L_DAY" name="DAY" precisionSupported="true" maximumPrecision="9" defaultPrecision="2" validTrailingFieldQualifierDefinitions="T_SECOND"/>
+    <trailingFieldQualifierDefinition xmi:id="T_MONTH" name="MONTH"/>
+    <trailingFieldQualifierDefinition xmi:id="T_SECOND" name="SECOND" precisionSupported="true" maximumPrecision="9" defaultPrecision="2"/>
+    <name>INTERVAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_1" keyConstraintSupported="true" primitiveType="DATE" jdbcEnumType="91" javaClassName="java.sql.Date">
+    <defaultValueTypes>CURRENT_DATE</defaultValueTypes>
+    <defaultValueTypes>SYSDATE</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="38" maximumScale="127" minimumScale="-84" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMBER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_1" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="126" defaultPrecision="126" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_1" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DOUBLE PRECISION</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="REAL_1" primitiveType="REAL" jdbcEnumType="7" javaClassName="float">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>REAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTEGER_1" primitiveType="INTEGER" keyConstraintSupported="true" jdbcEnumType="4" javaClassName="int">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>INT</name>
+    <name>INTEGER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="SMALLINT_1" primitiveType="SMALLINT" keyConstraintSupported="true" jdbcEnumType="5" javaClassName="short">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DECIMAL_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="DECIMAL" jdbcEnumType="3" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DECIMAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_2" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMERIC</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="2000" primitiveType="NATIONAL_CHARACTER" jdbcEnumType="1111" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCHAR</name>
+    <name>NATIONAL CHARACTER</name>
+    <name>NATIONAL CHAR</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="4000" primitiveType="NATIONAL_CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NVARCHAR2</name>
+    <name>NATIONAL CHARACTER VARYING</name>
+    <name>NATIONAL CHAR VARYING</name>
+    <name>NCHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_1" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_2" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP WITH TIME ZONE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_3" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP WITH LOCAL TIME ZONE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="XML_TYPE_1" primitiveType="XML_TYPE" jdbcEnumType="509" orderingSupported="false" groupingSupported="false" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>XMLTYPE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_2" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BINARY_FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_2" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BINARY_DOUBLE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_2" primitiveType="CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>ROWID</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_3" primitiveType="CHARACTER_VARYING" lengthSupported="true" maximumLength="4000" defaultLength="4000" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>UROWID</name>
+  </predefinedDataTypeDefinitions>
+  <tableSpaceDefinition maximumIdentifierLength="30" typeSupported="true" extentSizeSupported="true" containerMaximumSizeSupported="true" containerInitialSizeSupported="true" containerExtentSizeSupported="true">
+    <tableSpaceType>PERMANENT</tableSpaceType>
+    <tableSpaceType>TEMPORARY</tableSpaceType>
+  </tableSpaceDefinition>
+  <storedProcedureDefinition maximumIdentifierLength="30" packageGenerationSupported="true" returnedNullSupported="true" returnedTypeDeclarationConstraintSupported="true" parameterInitValueSupported="true" parameterDeclarationConstraintSupported="true">
+    <languageType>SQL</languageType>
+    <languageType>JAVA</languageType>
+    <languageType>C</languageType>
+    <procedureType>PROCEDURE</procedureType>
+    <procedureType>FUNCTION</procedureType>
+    <functionLanguageType>SQL</functionLanguageType>
+    <functionLanguageType>JAVA</functionLanguageType>
+  </storedProcedureDefinition>
+  <triggerDefinition whenClauseSupported="true" granularitySupported="true" referencesClauseSupported="true" perColumnUpdateTriggerSupported="true" insteadOfTriggerSupported="true" rowTriggerReferenceSupported="true" tableTriggerReferenceSupported="true"/>
+  <columnDefinition maximumIdentifierLength="30" computedSupported="true"/>
+  <constraintDefinition maximumPrimaryKeyIdentifierLength="30" maximumForeignKeyIdentifierLength="30" maximumCheckConstraintIdentifierLength="30" clusteredUniqueConstraintSupported="true" deferrableConstraintSupported="true">
+    <parentUpdateDRIRuleType>NO_ACTION</parentUpdateDRIRuleType>
+    <parentDeleteDRIRuleType>CASCADE</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>SET_NULL</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>NO_ACTION</parentDeleteDRIRuleType>
+    <checkOption>NONE</checkOption>
+    <checkOption>LOCAL</checkOption>
+  </constraintDefinition>
+  <sequenceDefinition defaultDataTypeDefinition="NUMERIC_1" typeEnumerationSupported="true"/>
+  <queryDefinition hostVariableMarker=":"/>
+  <indexDefinition maximumIdentifierLength="30"/>
+  <viewDefinition maximumIdentifierLength="30"/>
+  <tableDefinition maximumIdentifierLength="30"/>
+  <schemaDefinition maximumIdentifierLength="30"/>
+  <udtDefinition maximumIdentifierLength="30" structuredTypeSupported="true"/>
+  <constructedDataTypeDefinition arrayDatatypeSupported="true" multisetDatatypeSupported="true" rowDatatypeSupported="true" referenceDatatypeSupported="true"/>
+  <privilegedElementDefinitions name="PersistentTable">
+  	<privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="DEBUG"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INDEX"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="ON COMMIT REFRESH"/>
+    <privilegeDefinitions name="QUERY REWRITE"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="ViewTable">
+    <privilegeDefinitions name="DEBUG"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UNDER"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="MaterializedView">
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Sequence">
+    <privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="SELECT"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Routine">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Package">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Library">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Directory">
+  	<privilegeDefinitions name="READ"/>
+  	<privilegeDefinitions name="WRITE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Operator">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="IndexType">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="UserDefinedType">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+    <privilegeDefinitions name="UNDER"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions xmi:id="COLUMN_1" name="Column"/>
+  <SQLSyntaxDefinition>
+    <keywords>A</keywords>
+	<keywords>ABORT</keywords>
+	<keywords>ABS</keywords>
+	<keywords>ABSOLUTE</keywords>
+	<keywords>ACCESS</keywords>
+	<keywords>ACOS</keywords>
+	<keywords>ACQUIRE</keywords>
+	<keywords>ACTION</keywords>
+	<keywords>ACTIVATE</keywords>
+	<keywords>ADA</keywords>
+	<keywords>ADD</keywords>
+	<keywords>ADDFORM</keywords>
+	<keywords>ADMIN</keywords>
+	<keywords>AFTER</keywords>
+	<keywords>AGGREGATE</keywords>
+	<keywords>ALIAS</keywords>
+	<keywords>ALL</keywords>
+	<keywords>ALLOCATE</keywords>
+	<keywords>ALTER</keywords>
+	<keywords>AN</keywords>
+	<keywords>ANALYZE</keywords>
+	<keywords>AND</keywords>
+	<keywords>ANY</keywords>
+	<keywords>APPEND</keywords>
+	<keywords>ARCHIVE</keywords>
+	<keywords>ARCHIVELOG</keywords>
+	<keywords>ARE</keywords>
+	<keywords>ARRAY</keywords>
+	<keywords>ARRAYLEN</keywords>
+	<keywords>AS</keywords>
+	<keywords>ASC</keywords>
+	<keywords>ASCII</keywords>
+	<keywords>ASIN</keywords>
+	<keywords>ASSERTION</keywords>
+	<keywords>AT</keywords>
+	<keywords>ATAN</keywords>
+	<keywords>AUDIT</keywords>
+	<keywords>AUTHORIZATION</keywords>
+	<keywords>AVG</keywords>
+	<keywords>AVGU</keywords>
+	<keywords>BACKUP</keywords>
+	<keywords>BECOME</keywords>
+	<keywords>BEFORE</keywords>
+	<keywords>BEGIN</keywords>
+	<keywords>BETWEEN</keywords>
+	<keywords>BIGINT</keywords>
+	<keywords>BINARY</keywords>
+	<keywords>BIND</keywords>
+	<keywords>BINDING</keywords>
+	<keywords>BIT</keywords>
+	<keywords>BLOB</keywords>
+	<keywords>BLOCK</keywords>
+	<keywords>BODY</keywords>
+	<keywords>BOOLEAN</keywords>
+	<keywords>BOTH</keywords>
+	<keywords>BREADTH</keywords>
+	<keywords>BREAK</keywords>
+	<keywords>BREAKDISPLAY</keywords>
+	<keywords>BROWSE</keywords>
+	<keywords>BUFFERPOOL</keywords>
+	<keywords>BULK</keywords>
+	<keywords>BY</keywords>
+	<keywords>BYREF</keywords>
+	<keywords>CACHE</keywords>
+	<keywords>CALL</keywords>
+	<keywords>CALLPROC</keywords>
+	<keywords>CANCEL</keywords>
+	<keywords>CAPTURE</keywords>
+	<keywords>CASCADE</keywords>
+	<keywords>CASCADED</keywords>
+	<keywords>CASE</keywords>
+	<keywords>CAST</keywords>
+	<keywords>CATALOG</keywords>
+	<keywords>CCSID</keywords>
+	<keywords>CEILING</keywords>
+	<keywords>CHANGE</keywords>
+	<keywords>CHAR</keywords>
+	<keywords>CHARACTER</keywords>
+	<keywords>CHARTOROWID</keywords>
+	<keywords>CHECK</keywords>
+	<keywords>CLASS</keywords>
+	<keywords>CLOB</keywords>
+	<keywords>CHECKPOINT</keywords>
+	<keywords>CHR</keywords>
+	<keywords>CLEANUP</keywords>
+	<keywords>CLEAR</keywords>
+	<keywords>CLEARROW</keywords>
+	<keywords>CLOSE</keywords>
+	<keywords>CLUSTER</keywords>
+	<keywords>CLUSTERED</keywords>
+	<keywords>COALESCE</keywords>
+	<keywords>COBOL</keywords>
+	<keywords>COLGROUP</keywords>
+	<keywords>COLLATE</keywords>
+	<keywords>COLLATION</keywords>
+	<keywords>COLLECTION</keywords>
+	<keywords>COLUMN</keywords>
+	<keywords>COMMAND</keywords>
+	<keywords>COMMENT</keywords>
+	<keywords>COMMIT</keywords>
+	<keywords>COMPLETION</keywords>
+	<keywords>COMMITTED</keywords>
+	<keywords>COMPILE</keywords>
+	<keywords>COMPLEX</keywords>
+	<keywords>COMPRESS</keywords>
+	<keywords>COMPUTE</keywords>
+	<keywords>CONCAT</keywords>
+	<keywords>CONFIRM</keywords>
+	<keywords>CONNECT</keywords>
+	<keywords>CONNECTION</keywords>
+	<keywords>CONSTRAINT</keywords>
+	<keywords>CONSTRAINTS</keywords>
+	<keywords>CONSTRUCTOR</keywords>
+	<keywords>CONTAINS</keywords>
+	<keywords>CONTAINSTABLE</keywords>
+	<keywords>CONTENTS</keywords>
+	<keywords>CONTINUE</keywords>
+	<keywords>CONTROLFILE</keywords>
+	<keywords>CONTROLROW</keywords>
+	<keywords>CONVERT</keywords>
+	<keywords>COPY</keywords>
+	<keywords>CORRESPONDING</keywords>
+	<keywords>COS</keywords>
+	<keywords>COUNT</keywords>
+	<keywords>COUNTU</keywords>
+	<keywords>CREATE</keywords>
+	<keywords>CROSS</keywords>
+	<keywords>CUBE</keywords>
+	<keywords>CURRENT</keywords>
+	<keywords>CURRENT_DATE</keywords>
+	<keywords>CURRENT_PATH</keywords>
+	<keywords>CURRENT_ROLE</keywords>
+	<keywords>CURRENT_TIME</keywords>
+	<keywords>CURRENT_TIMESTAMP</keywords>
+	<keywords>CURRENT_USER</keywords>
+	<keywords>CURSOR</keywords>
+	<keywords>CVAR</keywords>
+	<keywords>CYCLE</keywords>
+	<keywords>DATA</keywords>
+	<keywords>DATABASE</keywords>
+	<keywords>DATAFILE</keywords>
+	<keywords>DATAHANDLER</keywords>
+	<keywords>DATAPAGES</keywords>
+	<keywords>DATE</keywords>
+	<keywords>DAY</keywords>
+	<keywords>DAYOFMONTH</keywords>
+	<keywords>DAYOFWEEK</keywords>
+	<keywords>DAYOFYEAR</keywords>
+	<keywords>DAYS</keywords>
+	<keywords>DBA</keywords>
+	<keywords>DBCC</keywords>
+	<keywords>DBSPACE</keywords>
+	<keywords>DEALLOCATE</keywords>
+	<keywords>DEC</keywords>
+	<keywords>DECIMAL</keywords>
+	<keywords>DECLARATION</keywords>
+	<keywords>DECLARE</keywords>
+	<keywords>DECODE</keywords>
+	<keywords>DEFAULT</keywords>
+	<keywords>DEFERRABLE</keywords>
+	<keywords>DEFERRED</keywords>
+	<keywords>DEFINE</keywords>
+	<keywords>DEFINITION</keywords>
+	<keywords>DEGREES</keywords>
+	<keywords>DELETE</keywords>
+	<keywords>DEPTH</keywords>
+	<keywords>DEREF</keywords>
+	<keywords>DELETEROW</keywords>
+	<keywords>DENY</keywords>
+	<keywords>DESC</keywords>
+	<keywords>DESCRIBE</keywords>
+	<keywords>DESCRIPTOR</keywords>
+	<keywords>DESTROY</keywords>
+	<keywords>DHTYPE</keywords>
+	<keywords>DESTRUCTOR</keywords>
+	<keywords>DETERMINISTIC</keywords>
+	<keywords>DICTIONARY</keywords>
+	<keywords>DIAGNOSTICS</keywords>
+	<keywords>DIRECT</keywords>
+	<keywords>DISABLE</keywords>
+	<keywords>DISCONNECT</keywords>
+	<keywords>DISK</keywords>
+	<keywords>DISMOUNT</keywords>
+	<keywords>DISPLAY</keywords>
+	<keywords>DISTINCT</keywords>
+	<keywords>DISTRIBUTE</keywords>
+	<keywords>DISTRIBUTED</keywords>
+	<keywords>DO</keywords>
+	<keywords>DOMAIN</keywords>
+	<keywords>DOUBLE</keywords>
+	<keywords>DOWN</keywords>
+	<keywords>DROP</keywords>
+	<keywords>DUMMY</keywords>
+	<keywords>DUMP</keywords>
+	<keywords>DYNAMIC</keywords>
+	<keywords>EACH</keywords>
+	<keywords>EDITPROC</keywords>
+	<keywords>ELSE</keywords>
+	<keywords>ELSEIF</keywords>
+	<keywords>ENABLE</keywords>
+	<keywords>END</keywords>
+	<keywords>ENDDATA</keywords>
+	<keywords>ENDDISPLAY</keywords>
+	<keywords>ENDEXEC</keywords>
+	<keywords>END-EXEC</keywords>
+	<keywords>ENDFORMS</keywords>
+	<keywords>ENDIF</keywords>
+	<keywords>ENDLOOP</keywords>
+	<keywords>EQUALS</keywords>
+	<keywords>ENDSELECT</keywords>
+	<keywords>ENDWHILE</keywords>
+	<keywords>ERASE</keywords>
+	<keywords>ERRLVL</keywords>
+	<keywords>ERROREXIT</keywords>
+	<keywords>ESCAPE</keywords>
+	<keywords>EVENTS</keywords>
+	<keywords>EVERY</keywords>
+	<keywords>EXCEPT</keywords>
+	<keywords>EXCEPTION</keywords>
+	<keywords>EXCEPTIONS</keywords>
+	<keywords>EXCLUDE</keywords>
+	<keywords>EXCLUDING</keywords>
+	<keywords>EXCLUSIVE</keywords>
+	<keywords>EXEC</keywords>
+	<keywords>EXECUTE</keywords>
+	<keywords>EXISTS</keywords>
+	<keywords>EXIT</keywords>
+	<keywords>EXP</keywords>
+	<keywords>EXPLAIN</keywords>
+	<keywords>EXPLICIT</keywords>
+	<keywords>EXTENT</keywords>
+	<keywords>EXTERNAL</keywords>
+	<keywords>EXTERNALLY</keywords>
+	<keywords>EXTRACT</keywords>
+	<keywords>FALSE</keywords>
+	<keywords>FETCH</keywords>
+	<keywords>FIELD</keywords>
+	<keywords>FIELDPROC</keywords>
+	<keywords>FILE</keywords>
+	<keywords>FILLFACTOR</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FIRST</keywords>
+	<keywords>FLOAT</keywords>
+	<keywords>FLOOR</keywords>
+	<keywords>FLOPPY</keywords>
+	<keywords>FLUSH</keywords>
+	<keywords>FOR</keywords>
+	<keywords>FORCE</keywords>
+	<keywords>FORMDATA</keywords>
+	<keywords>FORMINIT</keywords>
+	<keywords>FORMS</keywords>
+	<keywords>FORTRAN</keywords>
+	<keywords>FOREIGN</keywords>
+	<keywords>FOUND</keywords>
+	<keywords>FREELIST</keywords>
+	<keywords>FREELISTS</keywords>
+	<keywords>FREETEXT</keywords>
+	<keywords>FREETEXTTABLE</keywords>
+	<keywords>FROM</keywords>
+	<keywords>FREE</keywords>
+	<keywords>FULL</keywords>
+	<keywords>FUNCTION</keywords>
+	<keywords>GENERAL</keywords>
+	<keywords>GET</keywords>
+	<keywords>GETCURRENTCONNECTION</keywords>
+	<keywords>GETFORM</keywords>
+	<keywords>GETOPER</keywords>
+	<keywords>GETROW</keywords>
+	<keywords>GLOBAL</keywords>
+	<keywords>GO</keywords>
+	<keywords>GOTO</keywords>
+	<keywords>GRANT</keywords>
+	<keywords>GRANTED</keywords>
+	<keywords>GRAPHIC</keywords>
+	<keywords>GREATEST</keywords>
+	<keywords>GROUP</keywords>
+	<keywords>GROUPING</keywords>
+	<keywords>GROUPS</keywords>
+	<keywords>HASH</keywords>
+	<keywords>HAVING</keywords>
+	<keywords>HOST</keywords>
+	<keywords>HELP</keywords>
+	<keywords>HELPFILE</keywords>
+	<keywords>HOLDLOCK</keywords>
+	<keywords>HOUR</keywords>
+	<keywords>HOURS</keywords>
+	<keywords>IDENTIFIED</keywords>
+	<keywords>IDENTITY</keywords>
+	<keywords>IGNORE</keywords>
+	<keywords>IDENTITYCOL</keywords>
+	<keywords>IF</keywords>
+	<keywords>IFNULL</keywords>
+	<keywords>IIMESSAGE</keywords>
+	<keywords>IIPRINTF</keywords>
+	<keywords>IMMEDIATE</keywords>
+	<keywords>IMPORT</keywords>
+	<keywords>IN</keywords>
+	<keywords>INCLUDE</keywords>
+	<keywords>INCLUDING</keywords>
+	<keywords>INCREMENT</keywords>
+	<keywords>INDEX</keywords>
+	<keywords>INDEXPAGES</keywords>
+	<keywords>INDICATOR</keywords>
+	<keywords>INITCAP</keywords>
+	<keywords>INITIAL</keywords>
+	<keywords>INITIALIZE</keywords>
+	<keywords>INITIALLY</keywords>
+	<keywords>INITRANS</keywords>
+	<keywords>INITTABLE</keywords>
+	<keywords>INNER</keywords>
+	<keywords>INOUT</keywords>
+	<keywords>INPUT</keywords>
+	<keywords>INSENSITIVE</keywords>
+	<keywords>INSERT</keywords>
+	<keywords>INSERTROW</keywords>
+	<keywords>INSTANCE</keywords>
+	<keywords>INSTR</keywords>
+	<keywords>INT</keywords>
+	<keywords>INTEGER</keywords>
+	<keywords>INTEGRITY</keywords>
+	<keywords>INTERFACE</keywords>
+	<keywords>INTERSECT</keywords>
+	<keywords>INTERVAL</keywords>
+	<keywords>INTO</keywords>
+	<keywords>IS</keywords>
+	<keywords>ISOLATION</keywords>
+	<keywords>ITERATE</keywords>
+	<keywords>JOIN</keywords>
+	<keywords>KEY</keywords>
+	<keywords>KILL</keywords>
+	<keywords>LABEL</keywords>
+	<keywords>LANGUAGE</keywords>
+	<keywords>LARGE</keywords>
+	<keywords>LAST</keywords>
+	<keywords>LATERAL</keywords>
+	<keywords>LAYER</keywords>
+	<keywords>LEADING</keywords>
+	<keywords>LEAST</keywords>
+	<keywords>LEFT</keywords>
+	<keywords>LESS</keywords>
+	<keywords>LENGTH</keywords>
+	<keywords>LEVEL</keywords>
+	<keywords>LIKE</keywords>
+	<keywords>LIMIT</keywords>
+	<keywords>LINENO</keywords>
+	<keywords>LINK</keywords>
+	<keywords>LIST</keywords>
+	<keywords>LISTS</keywords>
+	<keywords>LOAD</keywords>
+	<keywords>LOADTABLE</keywords>
+	<keywords>LOCAL</keywords>
+	<keywords>LOCALTIME</keywords>
+	<keywords>LOCALTIMESTAMP</keywords>
+	<keywords>LOCATOR</keywords>
+	<keywords>LOCATE</keywords>
+	<keywords>LOCK</keywords>
+	<keywords>LOCKSIZE</keywords>
+	<keywords>LOG</keywords>
+	<keywords>LOGFILE</keywords>
+	<keywords>LONG</keywords>
+	<keywords>LONGINT</keywords>
+	<keywords>LOWER</keywords>
+	<keywords>LPAD</keywords>
+	<keywords>LTRIM</keywords>
+	<keywords>LVARBINARY</keywords>
+	<keywords>LVARCHAR</keywords>
+	<keywords>MAIN</keywords>
+	<keywords>MANAGE</keywords>
+	<keywords>MANUAL</keywords>
+	<keywords>MAP</keywords>
+	<keywords>MATCH</keywords>
+	<keywords>MAX</keywords>
+	<keywords>MAXDATAFILES</keywords>
+	<keywords>MAXEXTENTS</keywords>
+	<keywords>MAXINSTANCES</keywords>
+	<keywords>MAXLOGFILES</keywords>
+	<keywords>MAXLOGHISTORY</keywords>
+	<keywords>MAXLOGMEMBERS</keywords>
+	<keywords>MAXTRANS</keywords>
+	<keywords>MAXVALUE</keywords>
+	<keywords>MENUITEM</keywords>
+	<keywords>MESSAGE</keywords>
+	<keywords>MICROSECOND</keywords>
+	<keywords>MICROSECONDS</keywords>
+	<keywords>MIN</keywords>
+	<keywords>MINEXTENTS</keywords>
+	<keywords>MINUS</keywords>
+	<keywords>MINUTE</keywords>
+	<keywords>MODIFIES</keywords>
+	<keywords>MINUTES</keywords>
+	<keywords>MINVALUE</keywords>
+	<keywords>MIRROREXIT</keywords>
+	<keywords>MOD</keywords>
+	<keywords>MODE</keywords>
+	<keywords>MODIFY</keywords>
+	<keywords>MODULE</keywords>
+	<keywords>MONEY</keywords>
+	<keywords>MONTH</keywords>
+	<keywords>MONTHS</keywords>
+	<keywords>MOUNT</keywords>
+	<keywords>MOVE</keywords>
+	<keywords>NAMED</keywords>
+	<keywords>NAMES</keywords>
+	<keywords>NATIONAL</keywords>
+	<keywords>NATURAL</keywords>
+	<keywords>NCHAR</keywords>
+	<keywords>NCLOB</keywords>
+	<keywords>NEW</keywords>
+	<keywords>NEXT</keywords>
+	<keywords>NHEADER</keywords>
+	<keywords>NO</keywords>
+	<keywords>NOARCHIVELOG</keywords>
+	<keywords>NOAUDIT</keywords>
+	<keywords>NOCACHE</keywords>
+	<keywords>NOCHECK</keywords>
+	<keywords>NOCOMPRESS</keywords>
+	<keywords>NOCYCLE</keywords>
+	<keywords>NOECHO</keywords>
+	<keywords>NOMAXVALUE</keywords>
+	<keywords>NOMINVALUE</keywords>
+	<keywords>NONCLUSTERED</keywords>
+	<keywords>NONE</keywords>
+	<keywords>NOORDER</keywords>
+	<keywords>NORESETLOGS</keywords>
+	<keywords>NORMAL</keywords>
+	<keywords>NOSORT</keywords>
+	<keywords>NOT</keywords>
+	<keywords>NOTFOUND</keywords>
+	<keywords>NOTRIM</keywords>
+	<keywords>NOWAIT</keywords>
+	<keywords>NULL</keywords>
+	<keywords>NULLIF</keywords>
+	<keywords>NULLVALUE</keywords>
+	<keywords>NUMBER</keywords>
+	<keywords>NUMERIC</keywords>
+	<keywords>OBJECT</keywords>
+	<keywords>NUMPARTS</keywords>
+	<keywords>NVL</keywords>
+	<keywords>OBID</keywords>
+	<keywords>ODBCINFO</keywords>
+	<keywords>OF</keywords>
+	<keywords>OFF</keywords>
+	<keywords>OFFLINE</keywords>
+	<keywords>OFFSETS</keywords>
+	<keywords>OLD</keywords>
+	<keywords>ON</keywords>
+	<keywords>ONCE</keywords>
+	<keywords>ONLINE</keywords>
+	<keywords>ONLY</keywords>
+	<keywords>OPEN</keywords>
+	<keywords>OPERATION</keywords>
+	<keywords>OPENDATASOURCE</keywords>
+	<keywords>OPENQUERY</keywords>
+	<keywords>OPENROWSET</keywords>
+	<keywords>OPTIMAL</keywords>
+	<keywords>OPTIMIZE</keywords>
+	<keywords>OPTION</keywords>
+	<keywords>OR</keywords>
+	<keywords>ORDER</keywords>
+	<keywords>ORDINALITY</keywords>
+	<keywords>OUT</keywords>
+	<keywords>OUTER</keywords>
+	<keywords>OUTPUT</keywords>
+	<keywords>OVER</keywords>
+	<keywords>OVERLAPS</keywords>
+	<keywords>OWN</keywords>
+	<keywords>PACKAGE</keywords>
+	<keywords>PAD</keywords>
+	<keywords>PARAMETER</keywords>
+	<keywords>PARAMETERS</keywords>
+	<keywords>PAGE</keywords>
+	<keywords>PAGES</keywords>
+	<keywords>PARALLEL</keywords>
+	<keywords>PART</keywords>
+	<keywords>PARTIAL</keywords>
+	<keywords>PATH</keywords>
+	<keywords>POSTFIX</keywords>
+	<keywords>PASCAL</keywords>
+	<keywords>PCTFREE</keywords>
+	<keywords>PCTINCREASE</keywords>
+	<keywords>PCTINDEX</keywords>
+	<keywords>PCTUSED</keywords>
+	<keywords>PERCENT</keywords>
+	<keywords>PERM</keywords>
+	<keywords>PERMANENT</keywords>
+	<keywords>PERMIT</keywords>
+	<keywords>PI</keywords>
+	<keywords>PIPE</keywords>
+	<keywords>PLAN</keywords>
+	<keywords>PLI</keywords>
+	<keywords>POSITION</keywords>
+	<keywords>POWER</keywords>
+	<keywords>PRECISION</keywords>
+	<keywords>PREFIX</keywords>
+	<keywords>PREORDER</keywords>
+	<keywords>PREPARE</keywords>
+	<keywords>PRESERVE</keywords>
+	<keywords>PRIMARY</keywords>
+	<keywords>PRINT</keywords>
+	<keywords>PRINTSCREEN</keywords>
+	<keywords>PRIOR</keywords>
+	<keywords>PRIQTY</keywords>
+	<keywords>PRIVATE</keywords>
+	<keywords>PRIVILEGES</keywords>
+	<keywords>PROC</keywords>
+	<keywords>PROCEDURE</keywords>
+	<keywords>PROCESSEXIT</keywords>
+	<keywords>PROFILE</keywords>
+	<keywords>PROGRAM</keywords>
+	<keywords>PROMPT</keywords>
+	<keywords>PUBLIC</keywords>
+	<keywords>PUTFORM</keywords>
+	<keywords>PUTOPER</keywords>
+	<keywords>PUTROW</keywords>
+	<keywords>QUALIFICATION</keywords>
+	<keywords>QUARTER</keywords>
+	<keywords>QUOTA</keywords>
+	<keywords>RADIANS</keywords>
+	<keywords>RAISE</keywords>
+	<keywords>RAISERROR</keywords>
+	<keywords>RAND</keywords>
+	<keywords>RANGE</keywords>
+	<keywords>RAW</keywords>
+	<keywords>READ</keywords>
+	<keywords>READS</keywords>
+	<keywords>READTEXT</keywords>
+	<keywords>REAL</keywords>
+	<keywords>RECURSIVE</keywords>
+	<keywords>REF</keywords>
+	<keywords>RECONFIGURE</keywords>
+	<keywords>RECORD</keywords>
+	<keywords>RECOVER</keywords>
+	<keywords>REDISPLAY</keywords>
+	<keywords>REFERENCES</keywords>
+	<keywords>REFERENCING</keywords>
+	<keywords>RELATIVE</keywords>
+	<keywords>REGISTER</keywords>
+	<keywords>RELEASE</keywords>
+	<keywords>RELOCATE</keywords>
+	<keywords>REMOVE</keywords>
+	<keywords>RENAME</keywords>
+	<keywords>REPEAT</keywords>
+	<keywords>REPEATABLE</keywords>
+	<keywords>REPEATED</keywords>
+	<keywords>REPLACE</keywords>
+	<keywords>REPLICATE</keywords>
+	<keywords>REPLICATION</keywords>
+	<keywords>RESET</keywords>
+	<keywords>RESETLOGS</keywords>
+	<keywords>RESOURCE</keywords>
+	<keywords>RESTORE</keywords>
+	<keywords>RESTRICT</keywords>
+	<keywords>RESULT</keywords>
+	<keywords>RESTRICTED</keywords>
+	<keywords>RESUME</keywords>
+	<keywords>RETRIEVE</keywords>
+	<keywords>RETURN</keywords>
+	<keywords>RETURNS</keywords>
+	<keywords>REUSE</keywords>
+	<keywords>REVOKE</keywords>
+	<keywords>RIGHT</keywords>
+	<keywords>ROLE</keywords>
+	<keywords>ROLES</keywords>
+	<keywords>ROLLBACK</keywords>
+	<keywords>ROLLUP</keywords>
+	<keywords>ROUTINE</keywords>
+	<keywords>ROW</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>ROWCOUNT</keywords>
+	<keywords>ROWGUIDCOL</keywords>
+	<keywords>ROWID</keywords>
+	<keywords>ROWIDTOCHAR</keywords>
+	<keywords>ROWLABEL</keywords>
+	<keywords>ROWNUM</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>RPAD</keywords>
+	<keywords>RRN</keywords>
+	<keywords>RTRIM</keywords>
+	<keywords>RULE</keywords>
+	<keywords>RUN</keywords>
+	<keywords>RUNTIMESTATISTICS</keywords>
+	<keywords>SAVE</keywords>
+	<keywords>SAVEPOINT</keywords>
+	<keywords>SCHEDULE</keywords>
+	<keywords>SCHEMA</keywords>
+	<keywords>SCN</keywords>
+	<keywords>SCREEN</keywords>
+	<keywords>SCROLL</keywords>
+	<keywords>SCOPE</keywords>
+	<keywords>SEARCH</keywords>
+	<keywords>SCROLLDOWN</keywords>
+	<keywords>SCROLLUP</keywords>
+	<keywords>SECOND</keywords>
+	<keywords>SECONDS</keywords>
+	<keywords>SECQTY</keywords>
+	<keywords>SECTION</keywords>
+	<keywords>SEGMENT</keywords>
+	<keywords>SELECT</keywords>
+	<keywords>SEQUENCE</keywords>
+	<keywords>SERIALIZABLE</keywords>
+	<keywords>SERVICE</keywords>
+	<keywords>SESSION</keywords>
+	<keywords>SESSION_USER</keywords>
+	<keywords>SET</keywords>
+	<keywords>SETS</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIN</keywords>
+	<keywords>SIMPLE</keywords>
+	<keywords>SIGN</keywords>
+	<keywords>SHUTDOWN</keywords>
+	<keywords>SHORT</keywords>
+	<keywords>SHARE</keywords>
+	<keywords>SHARED</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIZE</keywords>
+	<keywords>SLEEP</keywords>
+	<keywords>SMALLINT</keywords>
+	<keywords>SNAPSHOT</keywords>
+	<keywords>SOME</keywords>
+	<keywords>SORT</keywords>
+	<keywords>SOUNDEX</keywords>
+	<keywords>SPACE</keywords>
+	<keywords>SPECIFIC</keywords>
+	<keywords>SPECIFICTYPE</keywords>
+	<keywords>SQL</keywords>
+	<keywords>SQLEXCEPTION</keywords>
+	<keywords>SQLBUF</keywords>
+	<keywords>SQLCA</keywords>
+	<keywords>SQLCODE</keywords>
+	<keywords>SQLERROR</keywords>
+	<keywords>SQLSTATE</keywords>
+	<keywords>SQLWARNING</keywords>
+	<keywords>SQRT</keywords>
+	<keywords>START</keywords>
+	<keywords>STATE</keywords>
+	<keywords>STATEMENT</keywords>
+	<keywords>STATIC</keywords>
+	<keywords>STRUCTURE</keywords>
+	<keywords>STATISTICS</keywords>
+	<keywords>STOGROUP</keywords>
+	<keywords>STOP</keywords>
+	<keywords>STORAGE</keywords>
+	<keywords>STORPOOL</keywords>
+	<keywords>SUBMENU</keywords>
+	<keywords>SUBPAGES</keywords>
+	<keywords>SUBSTR</keywords>
+	<keywords>SUBSTRING</keywords>
+	<keywords>SUCCESSFUL</keywords>
+	<keywords>SUFFIX</keywords>
+	<keywords>SUM</keywords>
+	<keywords>SYSTEM_USER</keywords>
+	<keywords>SUMU</keywords>
+	<keywords>SWITCH</keywords>
+	<keywords>SYNONYM</keywords>
+	<keywords>SYSCAT</keywords>
+	<keywords>SYSDATE</keywords>
+	<keywords>SYSFUN</keywords>
+	<keywords>SYSIBM</keywords>
+	<keywords>SYSSTAT</keywords>
+	<keywords>SYSTEM</keywords>
+	<keywords>SYSTIME</keywords>
+	<keywords>SYSTIMESTAMP</keywords>
+	<keywords>TABLE</keywords>
+	<keywords>TABLEDATA</keywords>
+	<keywords>TABLES</keywords>
+	<keywords>TABLESPACE</keywords>
+	<keywords>TAN</keywords>
+	<keywords>TAPE</keywords>
+	<keywords>TEMP</keywords>
+	<keywords>TEMPORARY</keywords>
+	<keywords>TERMINATE</keywords>
+	<keywords>THAN</keywords>
+	<keywords>TEXTSIZE</keywords>
+	<keywords>THEN</keywords>
+	<keywords>THREAD</keywords>
+	<keywords>TIME</keywords>
+	<keywords>TIMEOUT</keywords>
+	<keywords>TIMESTAMP</keywords>
+	<keywords>TIMEZONE_HOUR</keywords>
+	<keywords>TIMEZONE_MINUTE</keywords>
+	<keywords>TINYINT</keywords>
+	<keywords>TO</keywords>
+	<keywords>TOP</keywords>
+	<keywords>TPE</keywords>
+	<keywords>TRACING</keywords>
+	<keywords>TRAILING</keywords>
+	<keywords>TRAN</keywords>
+	<keywords>TRANSACTION</keywords>
+	<keywords>TRANSLATE</keywords>
+	<keywords>TRANSLATION</keywords>
+	<keywords>TREAT</keywords>
+	<keywords>TRIGGER</keywords>
+	<keywords>TRIGGERS</keywords>
+	<keywords>TRIM</keywords>
+	<keywords>TRUE</keywords>
+	<keywords>TRUNCATE</keywords>
+	<keywords>TSEQUAL</keywords>
+	<keywords>TYPE</keywords>
+	<keywords>UID</keywords>
+	<keywords>UNCOMMITTED</keywords>
+	<keywords>UNDER</keywords>
+	<keywords>UNION</keywords>
+	<keywords>UNIQUE</keywords>
+	<keywords>UNKNOWN</keywords>
+	<keywords>UNNEST</keywords>
+	<keywords>UNLIMITED</keywords>
+	<keywords>UNLOADTABLE</keywords>
+	<keywords>UNSIGNED</keywords>
+	<keywords>UNTIL</keywords>
+	<keywords>UP</keywords>
+	<keywords>UPDATE</keywords>
+	<keywords>UPDATETEXT</keywords>
+	<keywords>UPPER</keywords>
+	<keywords>USAGE</keywords>
+	<keywords>USE</keywords>
+	<keywords>USER</keywords>
+	<keywords>USING</keywords>
+	<keywords>UUID</keywords>
+	<keywords>VALIDATE</keywords>
+	<keywords>VALIDPROC</keywords>
+	<keywords>VALIDROW</keywords>
+	<keywords>VALUE</keywords>
+	<keywords>VALUES</keywords>
+	<keywords>VARBINARY</keywords>
+	<keywords>VARCHAR</keywords>
+	<keywords>VARIABLE</keywords>
+	<keywords>VARIABLES</keywords>
+	<keywords>VARYING</keywords>
+	<keywords>VCAT</keywords>
+	<keywords>VERSION</keywords>
+	<keywords>VIEW</keywords>
+	<keywords>VOLUMES</keywords>
+	<keywords>WAITFOR</keywords>
+	<keywords>WEEK</keywords>
+	<keywords>WHEN</keywords>
+	<keywords>WHENEVER</keywords>
+	<keywords>WHERE</keywords>
+	<keywords>WHILE</keywords>
+	<keywords>WITH</keywords>
+	<keywords>WITHOUT</keywords>
+	<keywords>WORK</keywords>
+	<keywords>WRITE</keywords>
+	<keywords>WRITETEXT</keywords>
+	<keywords>YEAR</keywords>
+	<keywords>YEARS</keywords>
+	<keywords>ZONE</keywords>
+  </SQLSyntaxDefinition>
+</DBDefinition:DatabaseVendorDefinition>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_11/Oracle_11.xmi b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_11/Oracle_11.xmi
new file mode 100644
index 0000000..a3abcee
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_11/Oracle_11.xmi
@@ -0,0 +1,1014 @@
+<?xml version="1.0" encoding="ASCII"?>
+<DBDefinition:DatabaseVendorDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:DBDefinition="http:///org/eclipse/datatools/modelbase/dbdefinition/dbdefinition.ecore" vendor="Oracle" version="11" maximumIdentifierLength="8" snapshotViewSupported="true" viewTriggerSupported="true" maximumCommentLength="64" sequenceSupported="true" synonymSupported="true" mQTSupported="true" mQTIndexSupported="true"
+ userDefinedTypeSupported="true" packageSupported="true" roleSupported="true" roleAuthorizationSupported="true" userSupported="true" constructedDataTypeSupported="true">
+  <predefinedDataTypeDefinitions xmi:id="BINARY_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="2000" primitiveType="BINARY" jdbcEnumType="-2" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_VARYING_1" primitiveType="BINARY_VARYING" jdbcEnumType="-3" orderingSupported="false" groupingSupported="false" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATALINK_1" primitiveType="DATALINK" jdbcEnumType="-13" javaClassName="java.net.URL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BFILE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" orderingSupported="false" groupingSupported="false" javaClassName="java.sql.Blob">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_1" lengthSupported="true" defaultLength="1" displayNameSupported="true" displayName="CHAR({0})" lengthSemanticSupported="true" keyConstraintSupported="true" bitDataSupported="true" maximumLength="2000" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <lengthSemantic>BYTE</lengthSemantic>
+    <lengthSemantic>CHAR</lengthSemantic>
+    <name>CHAR</name>
+    <name>CHARACTER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_1" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" orderingSupported="false" groupingSupported="false" javaClassName="java.sql.Clob">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>CLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_LARGE_OBJECT_1" primitiveType="NATIONAL_CHARACTER_LARGE_OBJECT" jdbcEnumType="1111" orderingSupported="false" groupingSupported="false" javaClassName="java.sql.Clob">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" displayNameSupported="true" displayName="VARCHAR2({0})" lengthSemanticSupported="true" keyConstraintSupported="true" bitDataSupported="true" maximumLength="4000" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <lengthSemantic>BYTE</lengthSemantic>
+    <lengthSemantic>CHAR</lengthSemantic>
+    <name>VARCHAR2</name>
+    <name>CHARACTER VARYING</name>
+    <name>CHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_2" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" orderingSupported="false" groupingSupported="false" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTERVAL_1" keyConstraintSupported="true" displayNameSupported="true" displayName="INTERVAL {0} TO {1}" leadingFieldQualifierSupported="true" trailingFieldQualifierSupported="true" fieldQualifierSeparator=" TO " defaultLeadingFieldQualifierDefinition="L_YEAR" defaultTrailingFieldQualifierDefinition="T_MONTH" primitiveType="INTERVAL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <leadingFieldQualifierDefinition xmi:id="L_YEAR" name="YEAR" precisionSupported="true" maximumPrecision="9" defaultPrecision="2" validTrailingFieldQualifierDefinitions="T_MONTH"/>
+    <leadingFieldQualifierDefinition xmi:id="L_DAY" name="DAY" precisionSupported="true" maximumPrecision="9" defaultPrecision="2" validTrailingFieldQualifierDefinitions="T_SECOND"/>
+    <trailingFieldQualifierDefinition xmi:id="T_MONTH" name="MONTH"/>
+    <trailingFieldQualifierDefinition xmi:id="T_SECOND" name="SECOND" precisionSupported="true" maximumPrecision="9" defaultPrecision="2"/>
+    <name>INTERVAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_1" keyConstraintSupported="true" primitiveType="DATE" jdbcEnumType="91" javaClassName="java.sql.Date">
+    <defaultValueTypes>CURRENT_DATE</defaultValueTypes>
+    <defaultValueTypes>SYSDATE</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="38" maximumScale="127" minimumScale="-84" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMBER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_1" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="126" defaultPrecision="126" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_1" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DOUBLE PRECISION</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="REAL_1" primitiveType="REAL" jdbcEnumType="7" javaClassName="float">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>REAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTEGER_1" primitiveType="INTEGER" keyConstraintSupported="true" jdbcEnumType="4" javaClassName="int">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>INT</name>
+    <name>INTEGER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="SMALLINT_1" primitiveType="SMALLINT" keyConstraintSupported="true" jdbcEnumType="5" javaClassName="short">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DECIMAL_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="DECIMAL" jdbcEnumType="3" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DECIMAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_2" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMERIC</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="2000" primitiveType="NATIONAL_CHARACTER" jdbcEnumType="1111" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCHAR</name>
+    <name>NATIONAL CHARACTER</name>
+    <name>NATIONAL CHAR</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="4000" primitiveType="NATIONAL_CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NVARCHAR2</name>
+    <name>NATIONAL CHARACTER VARYING</name>
+    <name>NATIONAL CHAR VARYING</name>
+    <name>NCHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_1" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_2" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP WITH TIME ZONE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_3" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP WITH LOCAL TIME ZONE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="XML_TYPE_1" primitiveType="XML_TYPE" jdbcEnumType="509" orderingSupported="false" groupingSupported="false" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>XMLTYPE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_2" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BINARY_FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_2" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BINARY_DOUBLE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_2" primitiveType="CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>ROWID</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_3" primitiveType="CHARACTER_VARYING" lengthSupported="true" maximumLength="4000" defaultLength="4000" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>UROWID</name>
+  </predefinedDataTypeDefinitions>
+  <tableSpaceDefinition maximumIdentifierLength="30" typeSupported="true" extentSizeSupported="true" containerMaximumSizeSupported="true" containerInitialSizeSupported="true" containerExtentSizeSupported="true">
+    <tableSpaceType>PERMANENT</tableSpaceType>
+    <tableSpaceType>TEMPORARY</tableSpaceType>
+  </tableSpaceDefinition>
+  <storedProcedureDefinition maximumIdentifierLength="30" packageGenerationSupported="true" returnedNullSupported="true" returnedTypeDeclarationConstraintSupported="true" parameterInitValueSupported="true" parameterDeclarationConstraintSupported="true">
+    <languageType>SQL</languageType>
+    <languageType>JAVA</languageType>
+    <languageType>C</languageType>
+    <procedureType>PROCEDURE</procedureType>
+    <procedureType>FUNCTION</procedureType>
+    <functionLanguageType>SQL</functionLanguageType>
+    <functionLanguageType>JAVA</functionLanguageType>
+  </storedProcedureDefinition>
+  <triggerDefinition whenClauseSupported="true" granularitySupported="true" referencesClauseSupported="true" perColumnUpdateTriggerSupported="true" insteadOfTriggerSupported="true" rowTriggerReferenceSupported="true" tableTriggerReferenceSupported="true"/>
+  <columnDefinition maximumIdentifierLength="30" computedSupported="true"/>
+  <constraintDefinition maximumPrimaryKeyIdentifierLength="30" maximumForeignKeyIdentifierLength="30" maximumCheckConstraintIdentifierLength="30" clusteredUniqueConstraintSupported="true" deferrableConstraintSupported="true">
+    <parentUpdateDRIRuleType>NO_ACTION</parentUpdateDRIRuleType>
+    <parentDeleteDRIRuleType>CASCADE</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>SET_NULL</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>NO_ACTION</parentDeleteDRIRuleType>
+    <checkOption>NONE</checkOption>
+    <checkOption>LOCAL</checkOption>
+  </constraintDefinition>
+  <sequenceDefinition defaultDataTypeDefinition="NUMERIC_1" typeEnumerationSupported="true"/>
+  <queryDefinition hostVariableMarker=":"/>
+  <indexDefinition maximumIdentifierLength="30"/>
+  <viewDefinition maximumIdentifierLength="30"/>
+  <tableDefinition maximumIdentifierLength="30"/>
+  <schemaDefinition maximumIdentifierLength="30"/>
+  <udtDefinition maximumIdentifierLength="30" structuredTypeSupported="true"/>
+  <constructedDataTypeDefinition arrayDatatypeSupported="true" multisetDatatypeSupported="true" rowDatatypeSupported="true" referenceDatatypeSupported="true"/>
+  <privilegedElementDefinitions name="PersistentTable">
+  	<privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="DEBUG"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="INDEX"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="ViewTable">
+    <privilegeDefinitions name="DEBUG"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UNDER"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="MaterializedView">
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="ON COMMIT REFRESH"/>
+    <privilegeDefinitions name="QUERY REWRITE"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Sequence">
+    <privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="SELECT"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Routine">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Package">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Library">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Directory">
+  	<privilegeDefinitions name="READ"/>
+  	<privilegeDefinitions name="WRITE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Operator">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="IndexType">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="UserDefinedType">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+    <privilegeDefinitions name="UNDER"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="FlashbackDataArchive">
+  	<privilegeDefinitions name="FLASHBACK ARCHIVE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="MiningModel">
+  	<privilegeDefinitions name="ALTER"/>
+  	<privilegeDefinitions name="SELECT"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="ObjectType">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+    <privilegeDefinitions name="UNDER"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="OLAP">
+  	<privilegeDefinitions name="ALTER"/>
+  	<privilegeDefinitions name="DELETE"/>
+  	<privilegeDefinitions name="INSERT"/>
+  	<privilegeDefinitions name="SELECT"/>
+  	<privilegeDefinitions name="UPDATE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions xmi:id="COLUMN_1" name="Column"/>
+  <SQLSyntaxDefinition>
+    <keywords>A</keywords>
+	<keywords>ABORT</keywords>
+	<keywords>ABS</keywords>
+	<keywords>ABSOLUTE</keywords>
+	<keywords>ACCESS</keywords>
+	<keywords>ACOS</keywords>
+	<keywords>ACQUIRE</keywords>
+	<keywords>ACTION</keywords>
+	<keywords>ACTIVATE</keywords>
+	<keywords>ADA</keywords>
+	<keywords>ADD</keywords>
+	<keywords>ADDFORM</keywords>
+	<keywords>ADMIN</keywords>
+	<keywords>AFTER</keywords>
+	<keywords>AGGREGATE</keywords>
+	<keywords>ALIAS</keywords>
+	<keywords>ALL</keywords>
+	<keywords>ALLOCATE</keywords>
+	<keywords>ALTER</keywords>
+	<keywords>AN</keywords>
+	<keywords>ANALYZE</keywords>
+	<keywords>AND</keywords>
+	<keywords>ANY</keywords>
+	<keywords>APPEND</keywords>
+	<keywords>ARCHIVE</keywords>
+	<keywords>ARCHIVELOG</keywords>
+	<keywords>ARE</keywords>
+	<keywords>ARRAY</keywords>
+	<keywords>ARRAYLEN</keywords>
+	<keywords>AS</keywords>
+	<keywords>ASC</keywords>
+	<keywords>ASCII</keywords>
+	<keywords>ASIN</keywords>
+	<keywords>ASSERTION</keywords>
+	<keywords>AT</keywords>
+	<keywords>ATAN</keywords>
+	<keywords>AUDIT</keywords>
+	<keywords>AUTHORIZATION</keywords>
+	<keywords>AVG</keywords>
+	<keywords>AVGU</keywords>
+	<keywords>BACKUP</keywords>
+	<keywords>BECOME</keywords>
+	<keywords>BEFORE</keywords>
+	<keywords>BEGIN</keywords>
+	<keywords>BETWEEN</keywords>
+	<keywords>BIGINT</keywords>
+	<keywords>BINARY</keywords>
+	<keywords>BIND</keywords>
+	<keywords>BINDING</keywords>
+	<keywords>BIT</keywords>
+	<keywords>BLOB</keywords>
+	<keywords>BLOCK</keywords>
+	<keywords>BODY</keywords>
+	<keywords>BOOLEAN</keywords>
+	<keywords>BOTH</keywords>
+	<keywords>BREADTH</keywords>
+	<keywords>BREAK</keywords>
+	<keywords>BREAKDISPLAY</keywords>
+	<keywords>BROWSE</keywords>
+	<keywords>BUFFERPOOL</keywords>
+	<keywords>BULK</keywords>
+	<keywords>BY</keywords>
+	<keywords>BYREF</keywords>
+	<keywords>CACHE</keywords>
+	<keywords>CALL</keywords>
+	<keywords>CALLPROC</keywords>
+	<keywords>CANCEL</keywords>
+	<keywords>CAPTURE</keywords>
+	<keywords>CASCADE</keywords>
+	<keywords>CASCADED</keywords>
+	<keywords>CASE</keywords>
+	<keywords>CAST</keywords>
+	<keywords>CATALOG</keywords>
+	<keywords>CCSID</keywords>
+	<keywords>CEILING</keywords>
+	<keywords>CHANGE</keywords>
+	<keywords>CHAR</keywords>
+	<keywords>CHARACTER</keywords>
+	<keywords>CHARTOROWID</keywords>
+	<keywords>CHECK</keywords>
+	<keywords>CLASS</keywords>
+	<keywords>CLOB</keywords>
+	<keywords>CHECKPOINT</keywords>
+	<keywords>CHR</keywords>
+	<keywords>CLEANUP</keywords>
+	<keywords>CLEAR</keywords>
+	<keywords>CLEARROW</keywords>
+	<keywords>CLOSE</keywords>
+	<keywords>CLUSTER</keywords>
+	<keywords>CLUSTERED</keywords>
+	<keywords>COALESCE</keywords>
+	<keywords>COBOL</keywords>
+	<keywords>COLGROUP</keywords>
+	<keywords>COLLATE</keywords>
+	<keywords>COLLATION</keywords>
+	<keywords>COLLECTION</keywords>
+	<keywords>COLUMN</keywords>
+	<keywords>COMMAND</keywords>
+	<keywords>COMMENT</keywords>
+	<keywords>COMMIT</keywords>
+	<keywords>COMPLETION</keywords>
+	<keywords>COMMITTED</keywords>
+	<keywords>COMPILE</keywords>
+	<keywords>COMPLEX</keywords>
+	<keywords>COMPRESS</keywords>
+	<keywords>COMPUTE</keywords>
+	<keywords>CONCAT</keywords>
+	<keywords>CONFIRM</keywords>
+	<keywords>CONNECT</keywords>
+	<keywords>CONNECTION</keywords>
+	<keywords>CONSTRAINT</keywords>
+	<keywords>CONSTRAINTS</keywords>
+	<keywords>CONSTRUCTOR</keywords>
+	<keywords>CONTAINS</keywords>
+	<keywords>CONTAINSTABLE</keywords>
+	<keywords>CONTENTS</keywords>
+	<keywords>CONTINUE</keywords>
+	<keywords>CONTROLFILE</keywords>
+	<keywords>CONTROLROW</keywords>
+	<keywords>CONVERT</keywords>
+	<keywords>COPY</keywords>
+	<keywords>CORRESPONDING</keywords>
+	<keywords>COS</keywords>
+	<keywords>COUNT</keywords>
+	<keywords>COUNTU</keywords>
+	<keywords>CREATE</keywords>
+	<keywords>CROSS</keywords>
+	<keywords>CUBE</keywords>
+	<keywords>CURRENT</keywords>
+	<keywords>CURRENT_DATE</keywords>
+	<keywords>CURRENT_PATH</keywords>
+	<keywords>CURRENT_ROLE</keywords>
+	<keywords>CURRENT_TIME</keywords>
+	<keywords>CURRENT_TIMESTAMP</keywords>
+	<keywords>CURRENT_USER</keywords>
+	<keywords>CURSOR</keywords>
+	<keywords>CVAR</keywords>
+	<keywords>CYCLE</keywords>
+	<keywords>DATA</keywords>
+	<keywords>DATABASE</keywords>
+	<keywords>DATAFILE</keywords>
+	<keywords>DATAHANDLER</keywords>
+	<keywords>DATAPAGES</keywords>
+	<keywords>DATE</keywords>
+	<keywords>DAY</keywords>
+	<keywords>DAYOFMONTH</keywords>
+	<keywords>DAYOFWEEK</keywords>
+	<keywords>DAYOFYEAR</keywords>
+	<keywords>DAYS</keywords>
+	<keywords>DBA</keywords>
+	<keywords>DBCC</keywords>
+	<keywords>DBSPACE</keywords>
+	<keywords>DEALLOCATE</keywords>
+	<keywords>DEC</keywords>
+	<keywords>DECIMAL</keywords>
+	<keywords>DECLARATION</keywords>
+	<keywords>DECLARE</keywords>
+	<keywords>DECODE</keywords>
+	<keywords>DEFAULT</keywords>
+	<keywords>DEFERRABLE</keywords>
+	<keywords>DEFERRED</keywords>
+	<keywords>DEFINE</keywords>
+	<keywords>DEFINITION</keywords>
+	<keywords>DEGREES</keywords>
+	<keywords>DELETE</keywords>
+	<keywords>DEPTH</keywords>
+	<keywords>DEREF</keywords>
+	<keywords>DELETEROW</keywords>
+	<keywords>DENY</keywords>
+	<keywords>DESC</keywords>
+	<keywords>DESCRIBE</keywords>
+	<keywords>DESCRIPTOR</keywords>
+	<keywords>DESTROY</keywords>
+	<keywords>DHTYPE</keywords>
+	<keywords>DESTRUCTOR</keywords>
+	<keywords>DETERMINISTIC</keywords>
+	<keywords>DICTIONARY</keywords>
+	<keywords>DIAGNOSTICS</keywords>
+	<keywords>DIRECT</keywords>
+	<keywords>DISABLE</keywords>
+	<keywords>DISCONNECT</keywords>
+	<keywords>DISK</keywords>
+	<keywords>DISMOUNT</keywords>
+	<keywords>DISPLAY</keywords>
+	<keywords>DISTINCT</keywords>
+	<keywords>DISTRIBUTE</keywords>
+	<keywords>DISTRIBUTED</keywords>
+	<keywords>DO</keywords>
+	<keywords>DOMAIN</keywords>
+	<keywords>DOUBLE</keywords>
+	<keywords>DOWN</keywords>
+	<keywords>DROP</keywords>
+	<keywords>DUMMY</keywords>
+	<keywords>DUMP</keywords>
+	<keywords>DYNAMIC</keywords>
+	<keywords>EACH</keywords>
+	<keywords>EDITPROC</keywords>
+	<keywords>ELSE</keywords>
+	<keywords>ELSEIF</keywords>
+	<keywords>ENABLE</keywords>
+	<keywords>END</keywords>
+	<keywords>ENDDATA</keywords>
+	<keywords>ENDDISPLAY</keywords>
+	<keywords>ENDEXEC</keywords>
+	<keywords>END-EXEC</keywords>
+	<keywords>ENDFORMS</keywords>
+	<keywords>ENDIF</keywords>
+	<keywords>ENDLOOP</keywords>
+	<keywords>EQUALS</keywords>
+	<keywords>ENDSELECT</keywords>
+	<keywords>ENDWHILE</keywords>
+	<keywords>ERASE</keywords>
+	<keywords>ERRLVL</keywords>
+	<keywords>ERROREXIT</keywords>
+	<keywords>ESCAPE</keywords>
+	<keywords>EVENTS</keywords>
+	<keywords>EVERY</keywords>
+	<keywords>EXCEPT</keywords>
+	<keywords>EXCEPTION</keywords>
+	<keywords>EXCEPTIONS</keywords>
+	<keywords>EXCLUDE</keywords>
+	<keywords>EXCLUDING</keywords>
+	<keywords>EXCLUSIVE</keywords>
+	<keywords>EXEC</keywords>
+	<keywords>EXECUTE</keywords>
+	<keywords>EXISTS</keywords>
+	<keywords>EXIT</keywords>
+	<keywords>EXP</keywords>
+	<keywords>EXPLAIN</keywords>
+	<keywords>EXPLICIT</keywords>
+	<keywords>EXTENT</keywords>
+	<keywords>EXTERNAL</keywords>
+	<keywords>EXTERNALLY</keywords>
+	<keywords>EXTRACT</keywords>
+	<keywords>FALSE</keywords>
+	<keywords>FETCH</keywords>
+	<keywords>FIELD</keywords>
+	<keywords>FIELDPROC</keywords>
+	<keywords>FILE</keywords>
+	<keywords>FILLFACTOR</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FIRST</keywords>
+	<keywords>FLOAT</keywords>
+	<keywords>FLOOR</keywords>
+	<keywords>FLOPPY</keywords>
+	<keywords>FLUSH</keywords>
+	<keywords>FOR</keywords>
+	<keywords>FORCE</keywords>
+	<keywords>FORMDATA</keywords>
+	<keywords>FORMINIT</keywords>
+	<keywords>FORMS</keywords>
+	<keywords>FORTRAN</keywords>
+	<keywords>FOREIGN</keywords>
+	<keywords>FOUND</keywords>
+	<keywords>FREELIST</keywords>
+	<keywords>FREELISTS</keywords>
+	<keywords>FREETEXT</keywords>
+	<keywords>FREETEXTTABLE</keywords>
+	<keywords>FROM</keywords>
+	<keywords>FREE</keywords>
+	<keywords>FULL</keywords>
+	<keywords>FUNCTION</keywords>
+	<keywords>GENERAL</keywords>
+	<keywords>GET</keywords>
+	<keywords>GETCURRENTCONNECTION</keywords>
+	<keywords>GETFORM</keywords>
+	<keywords>GETOPER</keywords>
+	<keywords>GETROW</keywords>
+	<keywords>GLOBAL</keywords>
+	<keywords>GO</keywords>
+	<keywords>GOTO</keywords>
+	<keywords>GRANT</keywords>
+	<keywords>GRANTED</keywords>
+	<keywords>GRAPHIC</keywords>
+	<keywords>GREATEST</keywords>
+	<keywords>GROUP</keywords>
+	<keywords>GROUPING</keywords>
+	<keywords>GROUPS</keywords>
+	<keywords>HASH</keywords>
+	<keywords>HAVING</keywords>
+	<keywords>HOST</keywords>
+	<keywords>HELP</keywords>
+	<keywords>HELPFILE</keywords>
+	<keywords>HOLDLOCK</keywords>
+	<keywords>HOUR</keywords>
+	<keywords>HOURS</keywords>
+	<keywords>IDENTIFIED</keywords>
+	<keywords>IDENTITY</keywords>
+	<keywords>IGNORE</keywords>
+	<keywords>IDENTITYCOL</keywords>
+	<keywords>IF</keywords>
+	<keywords>IFNULL</keywords>
+	<keywords>IIMESSAGE</keywords>
+	<keywords>IIPRINTF</keywords>
+	<keywords>IMMEDIATE</keywords>
+	<keywords>IMPORT</keywords>
+	<keywords>IN</keywords>
+	<keywords>INCLUDE</keywords>
+	<keywords>INCLUDING</keywords>
+	<keywords>INCREMENT</keywords>
+	<keywords>INDEX</keywords>
+	<keywords>INDEXPAGES</keywords>
+	<keywords>INDICATOR</keywords>
+	<keywords>INITCAP</keywords>
+	<keywords>INITIAL</keywords>
+	<keywords>INITIALIZE</keywords>
+	<keywords>INITIALLY</keywords>
+	<keywords>INITRANS</keywords>
+	<keywords>INITTABLE</keywords>
+	<keywords>INNER</keywords>
+	<keywords>INOUT</keywords>
+	<keywords>INPUT</keywords>
+	<keywords>INSENSITIVE</keywords>
+	<keywords>INSERT</keywords>
+	<keywords>INSERTROW</keywords>
+	<keywords>INSTANCE</keywords>
+	<keywords>INSTR</keywords>
+	<keywords>INT</keywords>
+	<keywords>INTEGER</keywords>
+	<keywords>INTEGRITY</keywords>
+	<keywords>INTERFACE</keywords>
+	<keywords>INTERSECT</keywords>
+	<keywords>INTERVAL</keywords>
+	<keywords>INTO</keywords>
+	<keywords>IS</keywords>
+	<keywords>ISOLATION</keywords>
+	<keywords>ITERATE</keywords>
+	<keywords>JOIN</keywords>
+	<keywords>KEY</keywords>
+	<keywords>KILL</keywords>
+	<keywords>LABEL</keywords>
+	<keywords>LANGUAGE</keywords>
+	<keywords>LARGE</keywords>
+	<keywords>LAST</keywords>
+	<keywords>LATERAL</keywords>
+	<keywords>LAYER</keywords>
+	<keywords>LEADING</keywords>
+	<keywords>LEAST</keywords>
+	<keywords>LEFT</keywords>
+	<keywords>LESS</keywords>
+	<keywords>LENGTH</keywords>
+	<keywords>LEVEL</keywords>
+	<keywords>LIKE</keywords>
+	<keywords>LIMIT</keywords>
+	<keywords>LINENO</keywords>
+	<keywords>LINK</keywords>
+	<keywords>LIST</keywords>
+	<keywords>LISTS</keywords>
+	<keywords>LOAD</keywords>
+	<keywords>LOADTABLE</keywords>
+	<keywords>LOCAL</keywords>
+	<keywords>LOCALTIME</keywords>
+	<keywords>LOCALTIMESTAMP</keywords>
+	<keywords>LOCATOR</keywords>
+	<keywords>LOCATE</keywords>
+	<keywords>LOCK</keywords>
+	<keywords>LOCKSIZE</keywords>
+	<keywords>LOG</keywords>
+	<keywords>LOGFILE</keywords>
+	<keywords>LONG</keywords>
+	<keywords>LONGINT</keywords>
+	<keywords>LOWER</keywords>
+	<keywords>LPAD</keywords>
+	<keywords>LTRIM</keywords>
+	<keywords>LVARBINARY</keywords>
+	<keywords>LVARCHAR</keywords>
+	<keywords>MAIN</keywords>
+	<keywords>MANAGE</keywords>
+	<keywords>MANUAL</keywords>
+	<keywords>MAP</keywords>
+	<keywords>MATCH</keywords>
+	<keywords>MAX</keywords>
+	<keywords>MAXDATAFILES</keywords>
+	<keywords>MAXEXTENTS</keywords>
+	<keywords>MAXINSTANCES</keywords>
+	<keywords>MAXLOGFILES</keywords>
+	<keywords>MAXLOGHISTORY</keywords>
+	<keywords>MAXLOGMEMBERS</keywords>
+	<keywords>MAXTRANS</keywords>
+	<keywords>MAXVALUE</keywords>
+	<keywords>MENUITEM</keywords>
+	<keywords>MESSAGE</keywords>
+	<keywords>MICROSECOND</keywords>
+	<keywords>MICROSECONDS</keywords>
+	<keywords>MIN</keywords>
+	<keywords>MINEXTENTS</keywords>
+	<keywords>MINUS</keywords>
+	<keywords>MINUTE</keywords>
+	<keywords>MODIFIES</keywords>
+	<keywords>MINUTES</keywords>
+	<keywords>MINVALUE</keywords>
+	<keywords>MIRROREXIT</keywords>
+	<keywords>MOD</keywords>
+	<keywords>MODE</keywords>
+	<keywords>MODIFY</keywords>
+	<keywords>MODULE</keywords>
+	<keywords>MONEY</keywords>
+	<keywords>MONTH</keywords>
+	<keywords>MONTHS</keywords>
+	<keywords>MOUNT</keywords>
+	<keywords>MOVE</keywords>
+	<keywords>NAMED</keywords>
+	<keywords>NAMES</keywords>
+	<keywords>NATIONAL</keywords>
+	<keywords>NATURAL</keywords>
+	<keywords>NCHAR</keywords>
+	<keywords>NCLOB</keywords>
+	<keywords>NEW</keywords>
+	<keywords>NEXT</keywords>
+	<keywords>NHEADER</keywords>
+	<keywords>NO</keywords>
+	<keywords>NOARCHIVELOG</keywords>
+	<keywords>NOAUDIT</keywords>
+	<keywords>NOCACHE</keywords>
+	<keywords>NOCHECK</keywords>
+	<keywords>NOCOMPRESS</keywords>
+	<keywords>NOCYCLE</keywords>
+	<keywords>NOECHO</keywords>
+	<keywords>NOMAXVALUE</keywords>
+	<keywords>NOMINVALUE</keywords>
+	<keywords>NONCLUSTERED</keywords>
+	<keywords>NONE</keywords>
+	<keywords>NOORDER</keywords>
+	<keywords>NORESETLOGS</keywords>
+	<keywords>NORMAL</keywords>
+	<keywords>NOSORT</keywords>
+	<keywords>NOT</keywords>
+	<keywords>NOTFOUND</keywords>
+	<keywords>NOTRIM</keywords>
+	<keywords>NOWAIT</keywords>
+	<keywords>NULL</keywords>
+	<keywords>NULLIF</keywords>
+	<keywords>NULLVALUE</keywords>
+	<keywords>NUMBER</keywords>
+	<keywords>NUMERIC</keywords>
+	<keywords>OBJECT</keywords>
+	<keywords>NUMPARTS</keywords>
+	<keywords>NVL</keywords>
+	<keywords>OBID</keywords>
+	<keywords>ODBCINFO</keywords>
+	<keywords>OF</keywords>
+	<keywords>OFF</keywords>
+	<keywords>OFFLINE</keywords>
+	<keywords>OFFSETS</keywords>
+	<keywords>OLD</keywords>
+	<keywords>ON</keywords>
+	<keywords>ONCE</keywords>
+	<keywords>ONLINE</keywords>
+	<keywords>ONLY</keywords>
+	<keywords>OPEN</keywords>
+	<keywords>OPERATION</keywords>
+	<keywords>OPENDATASOURCE</keywords>
+	<keywords>OPENQUERY</keywords>
+	<keywords>OPENROWSET</keywords>
+	<keywords>OPTIMAL</keywords>
+	<keywords>OPTIMIZE</keywords>
+	<keywords>OPTION</keywords>
+	<keywords>OR</keywords>
+	<keywords>ORDER</keywords>
+	<keywords>ORDINALITY</keywords>
+	<keywords>OUT</keywords>
+	<keywords>OUTER</keywords>
+	<keywords>OUTPUT</keywords>
+	<keywords>OVER</keywords>
+	<keywords>OVERLAPS</keywords>
+	<keywords>OWN</keywords>
+	<keywords>PACKAGE</keywords>
+	<keywords>PAD</keywords>
+	<keywords>PARAMETER</keywords>
+	<keywords>PARAMETERS</keywords>
+	<keywords>PAGE</keywords>
+	<keywords>PAGES</keywords>
+	<keywords>PARALLEL</keywords>
+	<keywords>PART</keywords>
+	<keywords>PARTIAL</keywords>
+	<keywords>PATH</keywords>
+	<keywords>POSTFIX</keywords>
+	<keywords>PASCAL</keywords>
+	<keywords>PCTFREE</keywords>
+	<keywords>PCTINCREASE</keywords>
+	<keywords>PCTINDEX</keywords>
+	<keywords>PCTUSED</keywords>
+	<keywords>PERCENT</keywords>
+	<keywords>PERM</keywords>
+	<keywords>PERMANENT</keywords>
+	<keywords>PERMIT</keywords>
+	<keywords>PI</keywords>
+	<keywords>PIPE</keywords>
+	<keywords>PLAN</keywords>
+	<keywords>PLI</keywords>
+	<keywords>POSITION</keywords>
+	<keywords>POWER</keywords>
+	<keywords>PRECISION</keywords>
+	<keywords>PREFIX</keywords>
+	<keywords>PREORDER</keywords>
+	<keywords>PREPARE</keywords>
+	<keywords>PRESERVE</keywords>
+	<keywords>PRIMARY</keywords>
+	<keywords>PRINT</keywords>
+	<keywords>PRINTSCREEN</keywords>
+	<keywords>PRIOR</keywords>
+	<keywords>PRIQTY</keywords>
+	<keywords>PRIVATE</keywords>
+	<keywords>PRIVILEGES</keywords>
+	<keywords>PROC</keywords>
+	<keywords>PROCEDURE</keywords>
+	<keywords>PROCESSEXIT</keywords>
+	<keywords>PROFILE</keywords>
+	<keywords>PROGRAM</keywords>
+	<keywords>PROMPT</keywords>
+	<keywords>PUBLIC</keywords>
+	<keywords>PUTFORM</keywords>
+	<keywords>PUTOPER</keywords>
+	<keywords>PUTROW</keywords>
+	<keywords>QUALIFICATION</keywords>
+	<keywords>QUARTER</keywords>
+	<keywords>QUOTA</keywords>
+	<keywords>RADIANS</keywords>
+	<keywords>RAISE</keywords>
+	<keywords>RAISERROR</keywords>
+	<keywords>RAND</keywords>
+	<keywords>RANGE</keywords>
+	<keywords>RAW</keywords>
+	<keywords>READ</keywords>
+	<keywords>READS</keywords>
+	<keywords>READTEXT</keywords>
+	<keywords>REAL</keywords>
+	<keywords>RECURSIVE</keywords>
+	<keywords>REF</keywords>
+	<keywords>RECONFIGURE</keywords>
+	<keywords>RECORD</keywords>
+	<keywords>RECOVER</keywords>
+	<keywords>REDISPLAY</keywords>
+	<keywords>REFERENCES</keywords>
+	<keywords>REFERENCING</keywords>
+	<keywords>RELATIVE</keywords>
+	<keywords>REGISTER</keywords>
+	<keywords>RELEASE</keywords>
+	<keywords>RELOCATE</keywords>
+	<keywords>REMOVE</keywords>
+	<keywords>RENAME</keywords>
+	<keywords>REPEAT</keywords>
+	<keywords>REPEATABLE</keywords>
+	<keywords>REPEATED</keywords>
+	<keywords>REPLACE</keywords>
+	<keywords>REPLICATE</keywords>
+	<keywords>REPLICATION</keywords>
+	<keywords>RESET</keywords>
+	<keywords>RESETLOGS</keywords>
+	<keywords>RESOURCE</keywords>
+	<keywords>RESTORE</keywords>
+	<keywords>RESTRICT</keywords>
+	<keywords>RESULT</keywords>
+	<keywords>RESTRICTED</keywords>
+	<keywords>RESUME</keywords>
+	<keywords>RETRIEVE</keywords>
+	<keywords>RETURN</keywords>
+	<keywords>RETURNS</keywords>
+	<keywords>REUSE</keywords>
+	<keywords>REVOKE</keywords>
+	<keywords>RIGHT</keywords>
+	<keywords>ROLE</keywords>
+	<keywords>ROLES</keywords>
+	<keywords>ROLLBACK</keywords>
+	<keywords>ROLLUP</keywords>
+	<keywords>ROUTINE</keywords>
+	<keywords>ROW</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>ROWCOUNT</keywords>
+	<keywords>ROWGUIDCOL</keywords>
+	<keywords>ROWID</keywords>
+	<keywords>ROWIDTOCHAR</keywords>
+	<keywords>ROWLABEL</keywords>
+	<keywords>ROWNUM</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>RPAD</keywords>
+	<keywords>RRN</keywords>
+	<keywords>RTRIM</keywords>
+	<keywords>RULE</keywords>
+	<keywords>RUN</keywords>
+	<keywords>RUNTIMESTATISTICS</keywords>
+	<keywords>SAVE</keywords>
+	<keywords>SAVEPOINT</keywords>
+	<keywords>SCHEDULE</keywords>
+	<keywords>SCHEMA</keywords>
+	<keywords>SCN</keywords>
+	<keywords>SCREEN</keywords>
+	<keywords>SCROLL</keywords>
+	<keywords>SCOPE</keywords>
+	<keywords>SEARCH</keywords>
+	<keywords>SCROLLDOWN</keywords>
+	<keywords>SCROLLUP</keywords>
+	<keywords>SECOND</keywords>
+	<keywords>SECONDS</keywords>
+	<keywords>SECQTY</keywords>
+	<keywords>SECTION</keywords>
+	<keywords>SEGMENT</keywords>
+	<keywords>SELECT</keywords>
+	<keywords>SEQUENCE</keywords>
+	<keywords>SERIALIZABLE</keywords>
+	<keywords>SERVICE</keywords>
+	<keywords>SESSION</keywords>
+	<keywords>SESSION_USER</keywords>
+	<keywords>SET</keywords>
+	<keywords>SETS</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIN</keywords>
+	<keywords>SIMPLE</keywords>
+	<keywords>SIGN</keywords>
+	<keywords>SHUTDOWN</keywords>
+	<keywords>SHORT</keywords>
+	<keywords>SHARE</keywords>
+	<keywords>SHARED</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIZE</keywords>
+	<keywords>SLEEP</keywords>
+	<keywords>SMALLINT</keywords>
+	<keywords>SNAPSHOT</keywords>
+	<keywords>SOME</keywords>
+	<keywords>SORT</keywords>
+	<keywords>SOUNDEX</keywords>
+	<keywords>SPACE</keywords>
+	<keywords>SPECIFIC</keywords>
+	<keywords>SPECIFICTYPE</keywords>
+	<keywords>SQL</keywords>
+	<keywords>SQLEXCEPTION</keywords>
+	<keywords>SQLBUF</keywords>
+	<keywords>SQLCA</keywords>
+	<keywords>SQLCODE</keywords>
+	<keywords>SQLERROR</keywords>
+	<keywords>SQLSTATE</keywords>
+	<keywords>SQLWARNING</keywords>
+	<keywords>SQRT</keywords>
+	<keywords>START</keywords>
+	<keywords>STATE</keywords>
+	<keywords>STATEMENT</keywords>
+	<keywords>STATIC</keywords>
+	<keywords>STRUCTURE</keywords>
+	<keywords>STATISTICS</keywords>
+	<keywords>STOGROUP</keywords>
+	<keywords>STOP</keywords>
+	<keywords>STORAGE</keywords>
+	<keywords>STORPOOL</keywords>
+	<keywords>SUBMENU</keywords>
+	<keywords>SUBPAGES</keywords>
+	<keywords>SUBSTR</keywords>
+	<keywords>SUBSTRING</keywords>
+	<keywords>SUCCESSFUL</keywords>
+	<keywords>SUFFIX</keywords>
+	<keywords>SUM</keywords>
+	<keywords>SYSTEM_USER</keywords>
+	<keywords>SUMU</keywords>
+	<keywords>SWITCH</keywords>
+	<keywords>SYNONYM</keywords>
+	<keywords>SYSCAT</keywords>
+	<keywords>SYSDATE</keywords>
+	<keywords>SYSFUN</keywords>
+	<keywords>SYSIBM</keywords>
+	<keywords>SYSSTAT</keywords>
+	<keywords>SYSTEM</keywords>
+	<keywords>SYSTIME</keywords>
+	<keywords>SYSTIMESTAMP</keywords>
+	<keywords>TABLE</keywords>
+	<keywords>TABLEDATA</keywords>
+	<keywords>TABLES</keywords>
+	<keywords>TABLESPACE</keywords>
+	<keywords>TAN</keywords>
+	<keywords>TAPE</keywords>
+	<keywords>TEMP</keywords>
+	<keywords>TEMPORARY</keywords>
+	<keywords>TERMINATE</keywords>
+	<keywords>THAN</keywords>
+	<keywords>TEXTSIZE</keywords>
+	<keywords>THEN</keywords>
+	<keywords>THREAD</keywords>
+	<keywords>TIME</keywords>
+	<keywords>TIMEOUT</keywords>
+	<keywords>TIMESTAMP</keywords>
+	<keywords>TIMEZONE_HOUR</keywords>
+	<keywords>TIMEZONE_MINUTE</keywords>
+	<keywords>TINYINT</keywords>
+	<keywords>TO</keywords>
+	<keywords>TOP</keywords>
+	<keywords>TPE</keywords>
+	<keywords>TRACING</keywords>
+	<keywords>TRAILING</keywords>
+	<keywords>TRAN</keywords>
+	<keywords>TRANSACTION</keywords>
+	<keywords>TRANSLATE</keywords>
+	<keywords>TRANSLATION</keywords>
+	<keywords>TREAT</keywords>
+	<keywords>TRIGGER</keywords>
+	<keywords>TRIGGERS</keywords>
+	<keywords>TRIM</keywords>
+	<keywords>TRUE</keywords>
+	<keywords>TRUNCATE</keywords>
+	<keywords>TSEQUAL</keywords>
+	<keywords>TYPE</keywords>
+	<keywords>UID</keywords>
+	<keywords>UNCOMMITTED</keywords>
+	<keywords>UNDER</keywords>
+	<keywords>UNION</keywords>
+	<keywords>UNIQUE</keywords>
+	<keywords>UNKNOWN</keywords>
+	<keywords>UNNEST</keywords>
+	<keywords>UNLIMITED</keywords>
+	<keywords>UNLOADTABLE</keywords>
+	<keywords>UNSIGNED</keywords>
+	<keywords>UNTIL</keywords>
+	<keywords>UP</keywords>
+	<keywords>UPDATE</keywords>
+	<keywords>UPDATETEXT</keywords>
+	<keywords>UPPER</keywords>
+	<keywords>USAGE</keywords>
+	<keywords>USE</keywords>
+	<keywords>USER</keywords>
+	<keywords>USING</keywords>
+	<keywords>UUID</keywords>
+	<keywords>VALIDATE</keywords>
+	<keywords>VALIDPROC</keywords>
+	<keywords>VALIDROW</keywords>
+	<keywords>VALUE</keywords>
+	<keywords>VALUES</keywords>
+	<keywords>VARBINARY</keywords>
+	<keywords>VARCHAR</keywords>
+	<keywords>VARIABLE</keywords>
+	<keywords>VARIABLES</keywords>
+	<keywords>VARYING</keywords>
+	<keywords>VCAT</keywords>
+	<keywords>VERSION</keywords>
+	<keywords>VIEW</keywords>
+	<keywords>VOLUMES</keywords>
+	<keywords>WAITFOR</keywords>
+	<keywords>WEEK</keywords>
+	<keywords>WHEN</keywords>
+	<keywords>WHENEVER</keywords>
+	<keywords>WHERE</keywords>
+	<keywords>WHILE</keywords>
+	<keywords>WITH</keywords>
+	<keywords>WITHOUT</keywords>
+	<keywords>WORK</keywords>
+	<keywords>WRITE</keywords>
+	<keywords>WRITETEXT</keywords>
+	<keywords>YEAR</keywords>
+	<keywords>YEARS</keywords>
+	<keywords>ZONE</keywords>
+  </SQLSyntaxDefinition>
+</DBDefinition:DatabaseVendorDefinition>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_8/Oracle_8.xmi b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_8/Oracle_8.xmi
new file mode 100644
index 0000000..60dad41
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_8/Oracle_8.xmi
@@ -0,0 +1,943 @@
+<?xml version="1.0" encoding="ASCII"?>
+<DBDefinition:DatabaseVendorDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:DBDefinition="http:///org/eclipse/datatools/modelbase/dbdefinition/dbdefinition.ecore" vendor="Oracle" version="8" maximumIdentifierLength="8" snapshotViewSupported="true" viewTriggerSupported="true" maximumCommentLength="64"
+ sequenceSupported="true" roleSupported="true" roleAuthorizationSupported="true" userSupported="true" synonymSupported="true" constructedDataTypeSupported="true">
+  <predefinedDataTypeDefinitions xmi:id="BINARY_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="2000" primitiveType="BINARY" jdbcEnumType="-2" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_VARYING_1" primitiveType="BINARY_VARYING" jdbcEnumType="-3" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATALINK_1" primitiveType="DATALINK" jdbcEnumType="70" javaClassName="java.net.URL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BFILE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" bitDataSupported="true" maximumLength="2000" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>CHAR</name>
+    <name>CHARACTER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_1" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.sql.Clob">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>CLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_LARGE_OBJECT_1" primitiveType="NATIONAL_CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.sql.Clob">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" bitDataSupported="true" maximumLength="4000" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>VARCHAR2</name>
+    <name>CHARACTER VARYING</name>
+    <name>CHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_2" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="38" maximumScale="127" minimumScale="-84" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMBER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="2000" primitiveType="NATIONAL_CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCHAR</name>
+    <name>NATIONAL CHARACTER</name>
+    <name>NATIONAL CHAR</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="4000" primitiveType="NATIONAL_CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NVARCHAR2</name>
+    <name>NATIONAL CHARACTER VARYING</name>
+    <name>NATIONAL CHAR VARYING</name>
+    <name>NCHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_1" keyConstraintSupported="true" primitiveType="DATE" jdbcEnumType="91" javaClassName="java.sql.Date">
+    <defaultValueTypes>CURRENT_DATE</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_2" primitiveType="CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>ROWID</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_3" primitiveType="CHARACTER_VARYING" lengthSupported="true" maximumLength="4000" defaultLength="4000" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>UROWID</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_1" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="126" defaultPrecision="126" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_1" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DOUBLE PRECISION</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="REAL_1" primitiveType="REAL" jdbcEnumType="7" javaClassName="float">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>REAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTEGER_1" primitiveType="INTEGER" keyConstraintSupported="true" jdbcEnumType="4" javaClassName="int">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>INT</name>
+    <name>INTEGER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="SMALLINT_1" primitiveType="SMALLINT" keyConstraintSupported="true" jdbcEnumType="5" javaClassName="short">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DECIMAL_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="DECIMAL" jdbcEnumType="3" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DECIMAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_2" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMERIC</name>
+  </predefinedDataTypeDefinitions>
+  <tableSpaceDefinition maximumIdentifierLength="30" typeSupported="true" extentSizeSupported="true" containerMaximumSizeSupported="true" containerInitialSizeSupported="true" containerExtentSizeSupported="true">
+    <tableSpaceType>PERMANENT</tableSpaceType>
+    <tableSpaceType>TEMPORARY</tableSpaceType>
+  </tableSpaceDefinition>
+  <storedProcedureDefinition maximumIdentifierLength="30" packageGenerationSupported="true" returnedNullSupported="true" returnedTypeDeclarationConstraintSupported="true" parameterInitValueSupported="true" parameterDeclarationConstraintSupported="true">
+    <languageType>SQL</languageType>
+    <languageType>JAVA</languageType>
+    <languageType>C</languageType>
+    <procedureType>PROCEDURE</procedureType>
+    <procedureType>FUNCTION</procedureType>
+    <functionLanguageType>SQL</functionLanguageType>
+    <functionLanguageType>JAVA</functionLanguageType>
+  </storedProcedureDefinition>
+  <triggerDefinition whenClauseSupported="true" granularitySupported="true" referencesClauseSupported="true" perColumnUpdateTriggerSupported="true" insteadOfTriggerSupported="true" rowTriggerReferenceSupported="true" tableTriggerReferenceSupported="true"/>
+  <columnDefinition maximumIdentifierLength="30" computedSupported="true"/>
+  <constraintDefinition maximumPrimaryKeyIdentifierLength="30" maximumForeignKeyIdentifierLength="30" maximumCheckConstraintIdentifierLength="30" clusteredUniqueConstraintSupported="true" deferrableConstraintSupported="true">
+    <parentUpdateDRIRuleType>NO_ACTION</parentUpdateDRIRuleType>
+    <parentDeleteDRIRuleType>CASCADE</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>SET_NULL</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>NO_ACTION</parentDeleteDRIRuleType>
+    <checkOption>NONE</checkOption>
+    <checkOption>LOCAL</checkOption>
+  </constraintDefinition>
+  <sequenceDefinition defaultDataTypeDefinition="NUMERIC_1" typeEnumerationSupported="true"/>
+  <queryDefinition hostVariableMarker=":"/>
+  <indexDefinition maximumIdentifierLength="30"/>
+  <viewDefinition maximumIdentifierLength="30"/>
+  <tableDefinition maximumIdentifierLength="30"/>
+  <schemaDefinition maximumIdentifierLength="30"/>
+  <udtDefinition maximumIdentifierLength="30" structuredTypeSupported="true"/>
+  <constructedDataTypeDefinition arrayDatatypeSupported="true" multisetDatatypeSupported="true" rowDatatypeSupported="true" referenceDatatypeSupported="true"/>
+  <privilegedElementDefinitions name="PersistentTable">
+  	<privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="INDEX"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="ViewTable">
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="MaterializedView">
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Sequence">
+    <privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="SELECT"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Routine">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Package">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Library">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Directory">
+  	<privilegeDefinitions name="READ"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Operator">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="IndexType">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="UserDefinedType">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions xmi:id="COLUMN_1" name="Column"/>
+  <SQLSyntaxDefinition>
+    <keywords>A</keywords>
+	<keywords>ABORT</keywords>
+	<keywords>ABS</keywords>
+	<keywords>ABSOLUTE</keywords>
+	<keywords>ACCESS</keywords>
+	<keywords>ACOS</keywords>
+	<keywords>ACQUIRE</keywords>
+	<keywords>ACTION</keywords>
+	<keywords>ACTIVATE</keywords>
+	<keywords>ADA</keywords>
+	<keywords>ADD</keywords>
+	<keywords>ADDFORM</keywords>
+	<keywords>ADMIN</keywords>
+	<keywords>AFTER</keywords>
+	<keywords>AGGREGATE</keywords>
+	<keywords>ALIAS</keywords>
+	<keywords>ALL</keywords>
+	<keywords>ALLOCATE</keywords>
+	<keywords>ALTER</keywords>
+	<keywords>AN</keywords>
+	<keywords>ANALYZE</keywords>
+	<keywords>AND</keywords>
+	<keywords>ANY</keywords>
+	<keywords>APPEND</keywords>
+	<keywords>ARCHIVE</keywords>
+	<keywords>ARCHIVELOG</keywords>
+	<keywords>ARE</keywords>
+	<keywords>ARRAY</keywords>
+	<keywords>ARRAYLEN</keywords>
+	<keywords>AS</keywords>
+	<keywords>ASC</keywords>
+	<keywords>ASCII</keywords>
+	<keywords>ASIN</keywords>
+	<keywords>ASSERTION</keywords>
+	<keywords>AT</keywords>
+	<keywords>ATAN</keywords>
+	<keywords>AUDIT</keywords>
+	<keywords>AUTHORIZATION</keywords>
+	<keywords>AVG</keywords>
+	<keywords>AVGU</keywords>
+	<keywords>BACKUP</keywords>
+	<keywords>BECOME</keywords>
+	<keywords>BEFORE</keywords>
+	<keywords>BEGIN</keywords>
+	<keywords>BETWEEN</keywords>
+	<keywords>BIGINT</keywords>
+	<keywords>BINARY</keywords>
+	<keywords>BIND</keywords>
+	<keywords>BINDING</keywords>
+	<keywords>BIT</keywords>
+	<keywords>BLOB</keywords>
+	<keywords>BLOCK</keywords>
+	<keywords>BODY</keywords>
+	<keywords>BOOLEAN</keywords>
+	<keywords>BOTH</keywords>
+	<keywords>BREADTH</keywords>
+	<keywords>BREAK</keywords>
+	<keywords>BREAKDISPLAY</keywords>
+	<keywords>BROWSE</keywords>
+	<keywords>BUFFERPOOL</keywords>
+	<keywords>BULK</keywords>
+	<keywords>BY</keywords>
+	<keywords>BYREF</keywords>
+	<keywords>CACHE</keywords>
+	<keywords>CALL</keywords>
+	<keywords>CALLPROC</keywords>
+	<keywords>CANCEL</keywords>
+	<keywords>CAPTURE</keywords>
+	<keywords>CASCADE</keywords>
+	<keywords>CASCADED</keywords>
+	<keywords>CASE</keywords>
+	<keywords>CAST</keywords>
+	<keywords>CATALOG</keywords>
+	<keywords>CCSID</keywords>
+	<keywords>CEILING</keywords>
+	<keywords>CHANGE</keywords>
+	<keywords>CHAR</keywords>
+	<keywords>CHARACTER</keywords>
+	<keywords>CHARTOROWID</keywords>
+	<keywords>CHECK</keywords>
+	<keywords>CLASS</keywords>
+	<keywords>CLOB</keywords>
+	<keywords>CHECKPOINT</keywords>
+	<keywords>CHR</keywords>
+	<keywords>CLEANUP</keywords>
+	<keywords>CLEAR</keywords>
+	<keywords>CLEARROW</keywords>
+	<keywords>CLOSE</keywords>
+	<keywords>CLUSTER</keywords>
+	<keywords>CLUSTERED</keywords>
+	<keywords>COALESCE</keywords>
+	<keywords>COBOL</keywords>
+	<keywords>COLGROUP</keywords>
+	<keywords>COLLATE</keywords>
+	<keywords>COLLATION</keywords>
+	<keywords>COLLECTION</keywords>
+	<keywords>COLUMN</keywords>
+	<keywords>COMMAND</keywords>
+	<keywords>COMMENT</keywords>
+	<keywords>COMMIT</keywords>
+	<keywords>COMPLETION</keywords>
+	<keywords>COMMITTED</keywords>
+	<keywords>COMPILE</keywords>
+	<keywords>COMPLEX</keywords>
+	<keywords>COMPRESS</keywords>
+	<keywords>COMPUTE</keywords>
+	<keywords>CONCAT</keywords>
+	<keywords>CONFIRM</keywords>
+	<keywords>CONNECT</keywords>
+	<keywords>CONNECTION</keywords>
+	<keywords>CONSTRAINT</keywords>
+	<keywords>CONSTRAINTS</keywords>
+	<keywords>CONSTRUCTOR</keywords>
+	<keywords>CONTAINS</keywords>
+	<keywords>CONTAINSTABLE</keywords>
+	<keywords>CONTENTS</keywords>
+	<keywords>CONTINUE</keywords>
+	<keywords>CONTROLFILE</keywords>
+	<keywords>CONTROLROW</keywords>
+	<keywords>CONVERT</keywords>
+	<keywords>COPY</keywords>
+	<keywords>CORRESPONDING</keywords>
+	<keywords>COS</keywords>
+	<keywords>COUNT</keywords>
+	<keywords>COUNTU</keywords>
+	<keywords>CREATE</keywords>
+	<keywords>CROSS</keywords>
+	<keywords>CUBE</keywords>
+	<keywords>CURRENT</keywords>
+	<keywords>CURRENT_DATE</keywords>
+	<keywords>CURRENT_PATH</keywords>
+	<keywords>CURRENT_ROLE</keywords>
+	<keywords>CURRENT_TIME</keywords>
+	<keywords>CURRENT_TIMESTAMP</keywords>
+	<keywords>CURRENT_USER</keywords>
+	<keywords>CURSOR</keywords>
+	<keywords>CVAR</keywords>
+	<keywords>CYCLE</keywords>
+	<keywords>DATA</keywords>
+	<keywords>DATABASE</keywords>
+	<keywords>DATAFILE</keywords>
+	<keywords>DATAHANDLER</keywords>
+	<keywords>DATAPAGES</keywords>
+	<keywords>DATE</keywords>
+	<keywords>DAY</keywords>
+	<keywords>DAYOFMONTH</keywords>
+	<keywords>DAYOFWEEK</keywords>
+	<keywords>DAYOFYEAR</keywords>
+	<keywords>DAYS</keywords>
+	<keywords>DBA</keywords>
+	<keywords>DBCC</keywords>
+	<keywords>DBSPACE</keywords>
+	<keywords>DEALLOCATE</keywords>
+	<keywords>DEC</keywords>
+	<keywords>DECIMAL</keywords>
+	<keywords>DECLARATION</keywords>
+	<keywords>DECLARE</keywords>
+	<keywords>DECODE</keywords>
+	<keywords>DEFAULT</keywords>
+	<keywords>DEFERRABLE</keywords>
+	<keywords>DEFERRED</keywords>
+	<keywords>DEFINE</keywords>
+	<keywords>DEFINITION</keywords>
+	<keywords>DEGREES</keywords>
+	<keywords>DELETE</keywords>
+	<keywords>DEPTH</keywords>
+	<keywords>DEREF</keywords>
+	<keywords>DELETEROW</keywords>
+	<keywords>DENY</keywords>
+	<keywords>DESC</keywords>
+	<keywords>DESCRIBE</keywords>
+	<keywords>DESCRIPTOR</keywords>
+	<keywords>DESTROY</keywords>
+	<keywords>DHTYPE</keywords>
+	<keywords>DESTRUCTOR</keywords>
+	<keywords>DETERMINISTIC</keywords>
+	<keywords>DICTIONARY</keywords>
+	<keywords>DIAGNOSTICS</keywords>
+	<keywords>DIRECT</keywords>
+	<keywords>DISABLE</keywords>
+	<keywords>DISCONNECT</keywords>
+	<keywords>DISK</keywords>
+	<keywords>DISMOUNT</keywords>
+	<keywords>DISPLAY</keywords>
+	<keywords>DISTINCT</keywords>
+	<keywords>DISTRIBUTE</keywords>
+	<keywords>DISTRIBUTED</keywords>
+	<keywords>DO</keywords>
+	<keywords>DOMAIN</keywords>
+	<keywords>DOUBLE</keywords>
+	<keywords>DOWN</keywords>
+	<keywords>DROP</keywords>
+	<keywords>DUMMY</keywords>
+	<keywords>DUMP</keywords>
+	<keywords>DYNAMIC</keywords>
+	<keywords>EACH</keywords>
+	<keywords>EDITPROC</keywords>
+	<keywords>ELSE</keywords>
+	<keywords>ELSEIF</keywords>
+	<keywords>ENABLE</keywords>
+	<keywords>END</keywords>
+	<keywords>ENDDATA</keywords>
+	<keywords>ENDDISPLAY</keywords>
+	<keywords>ENDEXEC</keywords>
+	<keywords>END-EXEC</keywords>
+	<keywords>ENDFORMS</keywords>
+	<keywords>ENDIF</keywords>
+	<keywords>ENDLOOP</keywords>
+	<keywords>EQUALS</keywords>
+	<keywords>ENDSELECT</keywords>
+	<keywords>ENDWHILE</keywords>
+	<keywords>ERASE</keywords>
+	<keywords>ERRLVL</keywords>
+	<keywords>ERROREXIT</keywords>
+	<keywords>ESCAPE</keywords>
+	<keywords>EVENTS</keywords>
+	<keywords>EVERY</keywords>
+	<keywords>EXCEPT</keywords>
+	<keywords>EXCEPTION</keywords>
+	<keywords>EXCEPTIONS</keywords>
+	<keywords>EXCLUDE</keywords>
+	<keywords>EXCLUDING</keywords>
+	<keywords>EXCLUSIVE</keywords>
+	<keywords>EXEC</keywords>
+	<keywords>EXECUTE</keywords>
+	<keywords>EXISTS</keywords>
+	<keywords>EXIT</keywords>
+	<keywords>EXP</keywords>
+	<keywords>EXPLAIN</keywords>
+	<keywords>EXPLICIT</keywords>
+	<keywords>EXTENT</keywords>
+	<keywords>EXTERNAL</keywords>
+	<keywords>EXTERNALLY</keywords>
+	<keywords>EXTRACT</keywords>
+	<keywords>FALSE</keywords>
+	<keywords>FETCH</keywords>
+	<keywords>FIELD</keywords>
+	<keywords>FIELDPROC</keywords>
+	<keywords>FILE</keywords>
+	<keywords>FILLFACTOR</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FIRST</keywords>
+	<keywords>FLOAT</keywords>
+	<keywords>FLOOR</keywords>
+	<keywords>FLOPPY</keywords>
+	<keywords>FLUSH</keywords>
+	<keywords>FOR</keywords>
+	<keywords>FORCE</keywords>
+	<keywords>FORMDATA</keywords>
+	<keywords>FORMINIT</keywords>
+	<keywords>FORMS</keywords>
+	<keywords>FORTRAN</keywords>
+	<keywords>FOREIGN</keywords>
+	<keywords>FOUND</keywords>
+	<keywords>FREELIST</keywords>
+	<keywords>FREELISTS</keywords>
+	<keywords>FREETEXT</keywords>
+	<keywords>FREETEXTTABLE</keywords>
+	<keywords>FROM</keywords>
+	<keywords>FREE</keywords>
+	<keywords>FULL</keywords>
+	<keywords>FUNCTION</keywords>
+	<keywords>GENERAL</keywords>
+	<keywords>GET</keywords>
+	<keywords>GETCURRENTCONNECTION</keywords>
+	<keywords>GETFORM</keywords>
+	<keywords>GETOPER</keywords>
+	<keywords>GETROW</keywords>
+	<keywords>GLOBAL</keywords>
+	<keywords>GO</keywords>
+	<keywords>GOTO</keywords>
+	<keywords>GRANT</keywords>
+	<keywords>GRANTED</keywords>
+	<keywords>GRAPHIC</keywords>
+	<keywords>GREATEST</keywords>
+	<keywords>GROUP</keywords>
+	<keywords>GROUPING</keywords>
+	<keywords>GROUPS</keywords>
+	<keywords>HASH</keywords>
+	<keywords>HAVING</keywords>
+	<keywords>HOST</keywords>
+	<keywords>HELP</keywords>
+	<keywords>HELPFILE</keywords>
+	<keywords>HOLDLOCK</keywords>
+	<keywords>HOUR</keywords>
+	<keywords>HOURS</keywords>
+	<keywords>IDENTIFIED</keywords>
+	<keywords>IDENTITY</keywords>
+	<keywords>IGNORE</keywords>
+	<keywords>IDENTITYCOL</keywords>
+	<keywords>IF</keywords>
+	<keywords>IFNULL</keywords>
+	<keywords>IIMESSAGE</keywords>
+	<keywords>IIPRINTF</keywords>
+	<keywords>IMMEDIATE</keywords>
+	<keywords>IMPORT</keywords>
+	<keywords>IN</keywords>
+	<keywords>INCLUDE</keywords>
+	<keywords>INCLUDING</keywords>
+	<keywords>INCREMENT</keywords>
+	<keywords>INDEX</keywords>
+	<keywords>INDEXPAGES</keywords>
+	<keywords>INDICATOR</keywords>
+	<keywords>INITCAP</keywords>
+	<keywords>INITIAL</keywords>
+	<keywords>INITIALIZE</keywords>
+	<keywords>INITIALLY</keywords>
+	<keywords>INITRANS</keywords>
+	<keywords>INITTABLE</keywords>
+	<keywords>INNER</keywords>
+	<keywords>INOUT</keywords>
+	<keywords>INPUT</keywords>
+	<keywords>INSENSITIVE</keywords>
+	<keywords>INSERT</keywords>
+	<keywords>INSERTROW</keywords>
+	<keywords>INSTANCE</keywords>
+	<keywords>INSTR</keywords>
+	<keywords>INT</keywords>
+	<keywords>INTEGER</keywords>
+	<keywords>INTEGRITY</keywords>
+	<keywords>INTERFACE</keywords>
+	<keywords>INTERSECT</keywords>
+	<keywords>INTERVAL</keywords>
+	<keywords>INTO</keywords>
+	<keywords>IS</keywords>
+	<keywords>ISOLATION</keywords>
+	<keywords>ITERATE</keywords>
+	<keywords>JOIN</keywords>
+	<keywords>KEY</keywords>
+	<keywords>KILL</keywords>
+	<keywords>LABEL</keywords>
+	<keywords>LANGUAGE</keywords>
+	<keywords>LARGE</keywords>
+	<keywords>LAST</keywords>
+	<keywords>LATERAL</keywords>
+	<keywords>LAYER</keywords>
+	<keywords>LEADING</keywords>
+	<keywords>LEAST</keywords>
+	<keywords>LEFT</keywords>
+	<keywords>LESS</keywords>
+	<keywords>LENGTH</keywords>
+	<keywords>LEVEL</keywords>
+	<keywords>LIKE</keywords>
+	<keywords>LIMIT</keywords>
+	<keywords>LINENO</keywords>
+	<keywords>LINK</keywords>
+	<keywords>LIST</keywords>
+	<keywords>LISTS</keywords>
+	<keywords>LOAD</keywords>
+	<keywords>LOADTABLE</keywords>
+	<keywords>LOCAL</keywords>
+	<keywords>LOCALTIME</keywords>
+	<keywords>LOCALTIMESTAMP</keywords>
+	<keywords>LOCATOR</keywords>
+	<keywords>LOCATE</keywords>
+	<keywords>LOCK</keywords>
+	<keywords>LOCKSIZE</keywords>
+	<keywords>LOG</keywords>
+	<keywords>LOGFILE</keywords>
+	<keywords>LONG</keywords>
+	<keywords>LONGINT</keywords>
+	<keywords>LOWER</keywords>
+	<keywords>LPAD</keywords>
+	<keywords>LTRIM</keywords>
+	<keywords>LVARBINARY</keywords>
+	<keywords>LVARCHAR</keywords>
+	<keywords>MAIN</keywords>
+	<keywords>MANAGE</keywords>
+	<keywords>MANUAL</keywords>
+	<keywords>MAP</keywords>
+	<keywords>MATCH</keywords>
+	<keywords>MAX</keywords>
+	<keywords>MAXDATAFILES</keywords>
+	<keywords>MAXEXTENTS</keywords>
+	<keywords>MAXINSTANCES</keywords>
+	<keywords>MAXLOGFILES</keywords>
+	<keywords>MAXLOGHISTORY</keywords>
+	<keywords>MAXLOGMEMBERS</keywords>
+	<keywords>MAXTRANS</keywords>
+	<keywords>MAXVALUE</keywords>
+	<keywords>MENUITEM</keywords>
+	<keywords>MESSAGE</keywords>
+	<keywords>MICROSECOND</keywords>
+	<keywords>MICROSECONDS</keywords>
+	<keywords>MIN</keywords>
+	<keywords>MINEXTENTS</keywords>
+	<keywords>MINUS</keywords>
+	<keywords>MINUTE</keywords>
+	<keywords>MODIFIES</keywords>
+	<keywords>MINUTES</keywords>
+	<keywords>MINVALUE</keywords>
+	<keywords>MIRROREXIT</keywords>
+	<keywords>MOD</keywords>
+	<keywords>MODE</keywords>
+	<keywords>MODIFY</keywords>
+	<keywords>MODULE</keywords>
+	<keywords>MONEY</keywords>
+	<keywords>MONTH</keywords>
+	<keywords>MONTHS</keywords>
+	<keywords>MOUNT</keywords>
+	<keywords>MOVE</keywords>
+	<keywords>NAMED</keywords>
+	<keywords>NAMES</keywords>
+	<keywords>NATIONAL</keywords>
+	<keywords>NATURAL</keywords>
+	<keywords>NCHAR</keywords>
+	<keywords>NCLOB</keywords>
+	<keywords>NEW</keywords>
+	<keywords>NEXT</keywords>
+	<keywords>NHEADER</keywords>
+	<keywords>NO</keywords>
+	<keywords>NOARCHIVELOG</keywords>
+	<keywords>NOAUDIT</keywords>
+	<keywords>NOCACHE</keywords>
+	<keywords>NOCHECK</keywords>
+	<keywords>NOCOMPRESS</keywords>
+	<keywords>NOCYCLE</keywords>
+	<keywords>NOECHO</keywords>
+	<keywords>NOMAXVALUE</keywords>
+	<keywords>NOMINVALUE</keywords>
+	<keywords>NONCLUSTERED</keywords>
+	<keywords>NONE</keywords>
+	<keywords>NOORDER</keywords>
+	<keywords>NORESETLOGS</keywords>
+	<keywords>NORMAL</keywords>
+	<keywords>NOSORT</keywords>
+	<keywords>NOT</keywords>
+	<keywords>NOTFOUND</keywords>
+	<keywords>NOTRIM</keywords>
+	<keywords>NOWAIT</keywords>
+	<keywords>NULL</keywords>
+	<keywords>NULLIF</keywords>
+	<keywords>NULLVALUE</keywords>
+	<keywords>NUMBER</keywords>
+	<keywords>NUMERIC</keywords>
+	<keywords>OBJECT</keywords>
+	<keywords>NUMPARTS</keywords>
+	<keywords>NVL</keywords>
+	<keywords>OBID</keywords>
+	<keywords>ODBCINFO</keywords>
+	<keywords>OF</keywords>
+	<keywords>OFF</keywords>
+	<keywords>OFFLINE</keywords>
+	<keywords>OFFSETS</keywords>
+	<keywords>OLD</keywords>
+	<keywords>ON</keywords>
+	<keywords>ONCE</keywords>
+	<keywords>ONLINE</keywords>
+	<keywords>ONLY</keywords>
+	<keywords>OPEN</keywords>
+	<keywords>OPERATION</keywords>
+	<keywords>OPENDATASOURCE</keywords>
+	<keywords>OPENQUERY</keywords>
+	<keywords>OPENROWSET</keywords>
+	<keywords>OPTIMAL</keywords>
+	<keywords>OPTIMIZE</keywords>
+	<keywords>OPTION</keywords>
+	<keywords>OR</keywords>
+	<keywords>ORDER</keywords>
+	<keywords>ORDINALITY</keywords>
+	<keywords>OUT</keywords>
+	<keywords>OUTER</keywords>
+	<keywords>OUTPUT</keywords>
+	<keywords>OVER</keywords>
+	<keywords>OVERLAPS</keywords>
+	<keywords>OWN</keywords>
+	<keywords>PACKAGE</keywords>
+	<keywords>PAD</keywords>
+	<keywords>PARAMETER</keywords>
+	<keywords>PARAMETERS</keywords>
+	<keywords>PAGE</keywords>
+	<keywords>PAGES</keywords>
+	<keywords>PARALLEL</keywords>
+	<keywords>PART</keywords>
+	<keywords>PARTIAL</keywords>
+	<keywords>PATH</keywords>
+	<keywords>POSTFIX</keywords>
+	<keywords>PASCAL</keywords>
+	<keywords>PCTFREE</keywords>
+	<keywords>PCTINCREASE</keywords>
+	<keywords>PCTINDEX</keywords>
+	<keywords>PCTUSED</keywords>
+	<keywords>PERCENT</keywords>
+	<keywords>PERM</keywords>
+	<keywords>PERMANENT</keywords>
+	<keywords>PERMIT</keywords>
+	<keywords>PI</keywords>
+	<keywords>PIPE</keywords>
+	<keywords>PLAN</keywords>
+	<keywords>PLI</keywords>
+	<keywords>POSITION</keywords>
+	<keywords>POWER</keywords>
+	<keywords>PRECISION</keywords>
+	<keywords>PREFIX</keywords>
+	<keywords>PREORDER</keywords>
+	<keywords>PREPARE</keywords>
+	<keywords>PRESERVE</keywords>
+	<keywords>PRIMARY</keywords>
+	<keywords>PRINT</keywords>
+	<keywords>PRINTSCREEN</keywords>
+	<keywords>PRIOR</keywords>
+	<keywords>PRIQTY</keywords>
+	<keywords>PRIVATE</keywords>
+	<keywords>PRIVILEGES</keywords>
+	<keywords>PROC</keywords>
+	<keywords>PROCEDURE</keywords>
+	<keywords>PROCESSEXIT</keywords>
+	<keywords>PROFILE</keywords>
+	<keywords>PROGRAM</keywords>
+	<keywords>PROMPT</keywords>
+	<keywords>PUBLIC</keywords>
+	<keywords>PUTFORM</keywords>
+	<keywords>PUTOPER</keywords>
+	<keywords>PUTROW</keywords>
+	<keywords>QUALIFICATION</keywords>
+	<keywords>QUARTER</keywords>
+	<keywords>QUOTA</keywords>
+	<keywords>RADIANS</keywords>
+	<keywords>RAISE</keywords>
+	<keywords>RAISERROR</keywords>
+	<keywords>RAND</keywords>
+	<keywords>RANGE</keywords>
+	<keywords>RAW</keywords>
+	<keywords>READ</keywords>
+	<keywords>READS</keywords>
+	<keywords>READTEXT</keywords>
+	<keywords>REAL</keywords>
+	<keywords>RECURSIVE</keywords>
+	<keywords>REF</keywords>
+	<keywords>RECONFIGURE</keywords>
+	<keywords>RECORD</keywords>
+	<keywords>RECOVER</keywords>
+	<keywords>REDISPLAY</keywords>
+	<keywords>REFERENCES</keywords>
+	<keywords>REFERENCING</keywords>
+	<keywords>RELATIVE</keywords>
+	<keywords>REGISTER</keywords>
+	<keywords>RELEASE</keywords>
+	<keywords>RELOCATE</keywords>
+	<keywords>REMOVE</keywords>
+	<keywords>RENAME</keywords>
+	<keywords>REPEAT</keywords>
+	<keywords>REPEATABLE</keywords>
+	<keywords>REPEATED</keywords>
+	<keywords>REPLACE</keywords>
+	<keywords>REPLICATE</keywords>
+	<keywords>REPLICATION</keywords>
+	<keywords>RESET</keywords>
+	<keywords>RESETLOGS</keywords>
+	<keywords>RESOURCE</keywords>
+	<keywords>RESTORE</keywords>
+	<keywords>RESTRICT</keywords>
+	<keywords>RESULT</keywords>
+	<keywords>RESTRICTED</keywords>
+	<keywords>RESUME</keywords>
+	<keywords>RETRIEVE</keywords>
+	<keywords>RETURN</keywords>
+	<keywords>RETURNS</keywords>
+	<keywords>REUSE</keywords>
+	<keywords>REVOKE</keywords>
+	<keywords>RIGHT</keywords>
+	<keywords>ROLE</keywords>
+	<keywords>ROLES</keywords>
+	<keywords>ROLLBACK</keywords>
+	<keywords>ROLLUP</keywords>
+	<keywords>ROUTINE</keywords>
+	<keywords>ROW</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>ROWCOUNT</keywords>
+	<keywords>ROWGUIDCOL</keywords>
+	<keywords>ROWID</keywords>
+	<keywords>ROWIDTOCHAR</keywords>
+	<keywords>ROWLABEL</keywords>
+	<keywords>ROWNUM</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>RPAD</keywords>
+	<keywords>RRN</keywords>
+	<keywords>RTRIM</keywords>
+	<keywords>RULE</keywords>
+	<keywords>RUN</keywords>
+	<keywords>RUNTIMESTATISTICS</keywords>
+	<keywords>SAVE</keywords>
+	<keywords>SAVEPOINT</keywords>
+	<keywords>SCHEDULE</keywords>
+	<keywords>SCHEMA</keywords>
+	<keywords>SCN</keywords>
+	<keywords>SCREEN</keywords>
+	<keywords>SCROLL</keywords>
+	<keywords>SCOPE</keywords>
+	<keywords>SEARCH</keywords>
+	<keywords>SCROLLDOWN</keywords>
+	<keywords>SCROLLUP</keywords>
+	<keywords>SECOND</keywords>
+	<keywords>SECONDS</keywords>
+	<keywords>SECQTY</keywords>
+	<keywords>SECTION</keywords>
+	<keywords>SEGMENT</keywords>
+	<keywords>SELECT</keywords>
+	<keywords>SEQUENCE</keywords>
+	<keywords>SERIALIZABLE</keywords>
+	<keywords>SERVICE</keywords>
+	<keywords>SESSION</keywords>
+	<keywords>SESSION_USER</keywords>
+	<keywords>SET</keywords>
+	<keywords>SETS</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIN</keywords>
+	<keywords>SIMPLE</keywords>
+	<keywords>SIGN</keywords>
+	<keywords>SHUTDOWN</keywords>
+	<keywords>SHORT</keywords>
+	<keywords>SHARE</keywords>
+	<keywords>SHARED</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIZE</keywords>
+	<keywords>SLEEP</keywords>
+	<keywords>SMALLINT</keywords>
+	<keywords>SNAPSHOT</keywords>
+	<keywords>SOME</keywords>
+	<keywords>SORT</keywords>
+	<keywords>SOUNDEX</keywords>
+	<keywords>SPACE</keywords>
+	<keywords>SPECIFIC</keywords>
+	<keywords>SPECIFICTYPE</keywords>
+	<keywords>SQL</keywords>
+	<keywords>SQLEXCEPTION</keywords>
+	<keywords>SQLBUF</keywords>
+	<keywords>SQLCA</keywords>
+	<keywords>SQLCODE</keywords>
+	<keywords>SQLERROR</keywords>
+	<keywords>SQLSTATE</keywords>
+	<keywords>SQLWARNING</keywords>
+	<keywords>SQRT</keywords>
+	<keywords>START</keywords>
+	<keywords>STATE</keywords>
+	<keywords>STATEMENT</keywords>
+	<keywords>STATIC</keywords>
+	<keywords>STRUCTURE</keywords>
+	<keywords>STATISTICS</keywords>
+	<keywords>STOGROUP</keywords>
+	<keywords>STOP</keywords>
+	<keywords>STORAGE</keywords>
+	<keywords>STORPOOL</keywords>
+	<keywords>SUBMENU</keywords>
+	<keywords>SUBPAGES</keywords>
+	<keywords>SUBSTR</keywords>
+	<keywords>SUBSTRING</keywords>
+	<keywords>SUCCESSFUL</keywords>
+	<keywords>SUFFIX</keywords>
+	<keywords>SUM</keywords>
+	<keywords>SYSTEM_USER</keywords>
+	<keywords>SUMU</keywords>
+	<keywords>SWITCH</keywords>
+	<keywords>SYNONYM</keywords>
+	<keywords>SYSCAT</keywords>
+	<keywords>SYSDATE</keywords>
+	<keywords>SYSFUN</keywords>
+	<keywords>SYSIBM</keywords>
+	<keywords>SYSSTAT</keywords>
+	<keywords>SYSTEM</keywords>
+	<keywords>SYSTIME</keywords>
+	<keywords>SYSTIMESTAMP</keywords>
+	<keywords>TABLE</keywords>
+	<keywords>TABLEDATA</keywords>
+	<keywords>TABLES</keywords>
+	<keywords>TABLESPACE</keywords>
+	<keywords>TAN</keywords>
+	<keywords>TAPE</keywords>
+	<keywords>TEMP</keywords>
+	<keywords>TEMPORARY</keywords>
+	<keywords>TERMINATE</keywords>
+	<keywords>THAN</keywords>
+	<keywords>TEXTSIZE</keywords>
+	<keywords>THEN</keywords>
+	<keywords>THREAD</keywords>
+	<keywords>TIME</keywords>
+	<keywords>TIMEOUT</keywords>
+	<keywords>TIMESTAMP</keywords>
+	<keywords>TIMEZONE_HOUR</keywords>
+	<keywords>TIMEZONE_MINUTE</keywords>
+	<keywords>TINYINT</keywords>
+	<keywords>TO</keywords>
+	<keywords>TOP</keywords>
+	<keywords>TPE</keywords>
+	<keywords>TRACING</keywords>
+	<keywords>TRAILING</keywords>
+	<keywords>TRAN</keywords>
+	<keywords>TRANSACTION</keywords>
+	<keywords>TRANSLATE</keywords>
+	<keywords>TRANSLATION</keywords>
+	<keywords>TREAT</keywords>
+	<keywords>TRIGGER</keywords>
+	<keywords>TRIGGERS</keywords>
+	<keywords>TRIM</keywords>
+	<keywords>TRUE</keywords>
+	<keywords>TRUNCATE</keywords>
+	<keywords>TSEQUAL</keywords>
+	<keywords>TYPE</keywords>
+	<keywords>UID</keywords>
+	<keywords>UNCOMMITTED</keywords>
+	<keywords>UNDER</keywords>
+	<keywords>UNION</keywords>
+	<keywords>UNIQUE</keywords>
+	<keywords>UNKNOWN</keywords>
+	<keywords>UNNEST</keywords>
+	<keywords>UNLIMITED</keywords>
+	<keywords>UNLOADTABLE</keywords>
+	<keywords>UNSIGNED</keywords>
+	<keywords>UNTIL</keywords>
+	<keywords>UP</keywords>
+	<keywords>UPDATE</keywords>
+	<keywords>UPDATETEXT</keywords>
+	<keywords>UPPER</keywords>
+	<keywords>USAGE</keywords>
+	<keywords>USE</keywords>
+	<keywords>USER</keywords>
+	<keywords>USING</keywords>
+	<keywords>UUID</keywords>
+	<keywords>VALIDATE</keywords>
+	<keywords>VALIDPROC</keywords>
+	<keywords>VALIDROW</keywords>
+	<keywords>VALUE</keywords>
+	<keywords>VALUES</keywords>
+	<keywords>VARBINARY</keywords>
+	<keywords>VARCHAR</keywords>
+	<keywords>VARIABLE</keywords>
+	<keywords>VARIABLES</keywords>
+	<keywords>VARYING</keywords>
+	<keywords>VCAT</keywords>
+	<keywords>VERSION</keywords>
+	<keywords>VIEW</keywords>
+	<keywords>VOLUMES</keywords>
+	<keywords>WAITFOR</keywords>
+	<keywords>WEEK</keywords>
+	<keywords>WHEN</keywords>
+	<keywords>WHENEVER</keywords>
+	<keywords>WHERE</keywords>
+	<keywords>WHILE</keywords>
+	<keywords>WITH</keywords>
+	<keywords>WITHOUT</keywords>
+	<keywords>WORK</keywords>
+	<keywords>WRITE</keywords>
+	<keywords>WRITETEXT</keywords>
+	<keywords>YEAR</keywords>
+	<keywords>YEARS</keywords>
+	<keywords>ZONE</keywords>
+  </SQLSyntaxDefinition>
+</DBDefinition:DatabaseVendorDefinition>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_9/Oracle_9.xmi b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_9/Oracle_9.xmi
new file mode 100644
index 0000000..e9c70a8
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.dbdefinition/runtime/vendors/Oracle_9/Oracle_9.xmi
@@ -0,0 +1,989 @@
+<?xml version="1.0" encoding="ASCII"?>
+<DBDefinition:DatabaseVendorDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:DBDefinition="http:///org/eclipse/datatools/modelbase/dbdefinition/dbdefinition.ecore" vendor="Oracle" version="9" maximumIdentifierLength="8" snapshotViewSupported="true" viewTriggerSupported="true" maximumCommentLength="64" sequenceSupported="true" synonymSupported="true"
+ packageSupported="true" userDefinedTypeSupported="true" mQTSupported="true" mQTIndexSupported="true" roleSupported="true" roleAuthorizationSupported="true" userSupported="true" constructedDataTypeSupported="true">
+  <predefinedDataTypeDefinitions xmi:id="BINARY_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="2000" primitiveType="BINARY" jdbcEnumType="-2" javaClassName="byte[]">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_VARYING_1" primitiveType="BINARY_VARYING" jdbcEnumType="-3" javaClassName="byte[]" orderingSupported="false" groupingSupported="false">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG RAW</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATALINK_1" primitiveType="DATALINK" jdbcEnumType="70" javaClassName="java.net.URL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BFILE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob" orderingSupported="false" groupingSupported="false">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>BLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_1" lengthSupported="true" defaultLength="1" displayNameSupported="true" displayName="CHAR({0})" lengthSemanticSupported="true" keyConstraintSupported="true" bitDataSupported="true" maximumLength="2000" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <lengthSemantic>BYTE</lengthSemantic>
+    <lengthSemantic>CHAR</lengthSemantic>
+    <name>CHAR</name>
+    <name>CHARACTER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_1" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.sql.Clob" orderingSupported="false" groupingSupported="false">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>CLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_LARGE_OBJECT_1" primitiveType="NATIONAL_CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.sql.Clob" orderingSupported="false" groupingSupported="false">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCLOB</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" displayNameSupported="true" displayName="VARCHAR2({0})" lengthSemanticSupported="true" keyConstraintSupported="true" bitDataSupported="true" maximumLength="4000" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <lengthSemantic>BYTE</lengthSemantic>
+    <lengthSemantic>CHAR</lengthSemantic>
+    <name>VARCHAR2</name>
+    <name>CHARACTER VARYING</name>
+    <name>CHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_2" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String" orderingSupported="false" groupingSupported="false">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>LONG</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTERVAL_1" keyConstraintSupported="true" displayNameSupported="true" displayName="INTERVAL {0} TO {1}" leadingFieldQualifierSupported="true" trailingFieldQualifierSupported="true" fieldQualifierSeparator=" TO " defaultLeadingFieldQualifierDefinition="L_YEAR" defaultTrailingFieldQualifierDefinition="T_MONTH" primitiveType="INTERVAL">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <leadingFieldQualifierDefinition xmi:id="L_YEAR" name="YEAR" precisionSupported="true" maximumPrecision="9" defaultPrecision="2" validTrailingFieldQualifierDefinitions="T_MONTH"/>
+    <leadingFieldQualifierDefinition xmi:id="L_DAY" name="DAY" precisionSupported="true" maximumPrecision="9" defaultPrecision="2" validTrailingFieldQualifierDefinitions="T_SECOND"/>
+    <trailingFieldQualifierDefinition xmi:id="T_MONTH" name="MONTH"/>
+    <trailingFieldQualifierDefinition xmi:id="T_SECOND" name="SECOND" precisionSupported="true" maximumPrecision="9" defaultPrecision="2"/>
+    <name>INTERVAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DATE_1" keyConstraintSupported="true" primitiveType="DATE" jdbcEnumType="91" javaClassName="java.sql.Date">
+    <defaultValueTypes>CURRENT_DATE</defaultValueTypes>
+    <defaultValueTypes>SYSDATE</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DATE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="38" maximumScale="127" minimumScale="-84" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMBER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="FLOAT_1" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" maximumPrecision="126" defaultPrecision="126" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>FLOAT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_1" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DOUBLE PRECISION</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="REAL_1" primitiveType="REAL" jdbcEnumType="7" javaClassName="float">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>REAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="INTEGER_1" primitiveType="INTEGER" keyConstraintSupported="true" jdbcEnumType="4" javaClassName="int">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>INT</name>
+    <name>INTEGER</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="SMALLINT_1" primitiveType="SMALLINT" keyConstraintSupported="true" jdbcEnumType="5" javaClassName="short">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>SMALLINT</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="DECIMAL_1" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="DECIMAL" jdbcEnumType="3" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>DECIMAL</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NUMERIC_2" scaleSupported="true" precisionSupported="true" keyConstraintSupported="true" identitySupported="false" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NUMERIC</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="2000" primitiveType="NATIONAL_CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NCHAR</name>
+    <name>NATIONAL CHARACTER</name>
+    <name>NATIONAL CHAR</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="NATIONAL_CHARACTER_VARYING_1" lengthSupported="true" defaultLength="1" keyConstraintSupported="true" multipleColumnsSupported="true" maximumLength="4000" primitiveType="NATIONAL_CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>USER</defaultValueTypes>
+    <defaultValueTypes>UID</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>NVARCHAR2</name>
+    <name>NATIONAL CHARACTER VARYING</name>
+    <name>NATIONAL CHAR VARYING</name>
+    <name>NCHAR VARYING</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_1" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_2" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP WITH TIME ZONE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_3" keyConstraintSupported="true" precisionSupported="true" maximumPrecision="9" defaultPrecision="6" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
+    <defaultValueTypes>CURRENT_TIMESTAMP</defaultValueTypes>
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>TIMESTAMP WITH LOCAL TIME ZONE</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="XML_TYPE_1" primitiveType="XML_TYPE" jdbcEnumType="509" orderingSupported="false" groupingSupported="false" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>XMLTYPE</name>
+  </predefinedDataTypeDefinitions>
+   <predefinedDataTypeDefinitions xmi:id="CHARACTER_2" primitiveType="CHARACTER" jdbcEnumType="1" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>ROWID</name>
+  </predefinedDataTypeDefinitions>
+  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_3" primitiveType="CHARACTER_VARYING" lengthSupported="true" maximumLength="4000" defaultLength="4000" jdbcEnumType="12" javaClassName="java.lang.String">
+    <defaultValueTypes>NULL</defaultValueTypes>
+    <name>UROWID</name>
+  </predefinedDataTypeDefinitions>
+  <tableSpaceDefinition maximumIdentifierLength="30" typeSupported="true" extentSizeSupported="true" containerMaximumSizeSupported="true" containerInitialSizeSupported="true" containerExtentSizeSupported="true">
+    <tableSpaceType>PERMANENT</tableSpaceType>
+    <tableSpaceType>TEMPORARY</tableSpaceType>
+  </tableSpaceDefinition>
+  <storedProcedureDefinition maximumIdentifierLength="30" packageGenerationSupported="true" returnedNullSupported="true" returnedTypeDeclarationConstraintSupported="true" parameterInitValueSupported="true" parameterDeclarationConstraintSupported="true">
+    <languageType>SQL</languageType>
+    <languageType>JAVA</languageType>
+    <languageType>C</languageType>
+    <procedureType>PROCEDURE</procedureType>
+    <procedureType>FUNCTION</procedureType>
+    <functionLanguageType>SQL</functionLanguageType>
+    <functionLanguageType>JAVA</functionLanguageType>
+  </storedProcedureDefinition>
+  <triggerDefinition whenClauseSupported="true" granularitySupported="true" referencesClauseSupported="true" perColumnUpdateTriggerSupported="true" insteadOfTriggerSupported="true" rowTriggerReferenceSupported="true" tableTriggerReferenceSupported="true"/>
+  <columnDefinition maximumIdentifierLength="30" computedSupported="true"/>
+  <constraintDefinition maximumPrimaryKeyIdentifierLength="30" maximumForeignKeyIdentifierLength="30" maximumCheckConstraintIdentifierLength="30" clusteredUniqueConstraintSupported="true" deferrableConstraintSupported="true">
+    <parentUpdateDRIRuleType>NO_ACTION</parentUpdateDRIRuleType>
+    <parentDeleteDRIRuleType>CASCADE</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>SET_NULL</parentDeleteDRIRuleType>
+    <parentDeleteDRIRuleType>NO_ACTION</parentDeleteDRIRuleType>
+    <checkOption>NONE</checkOption>
+    <checkOption>LOCAL</checkOption>
+  </constraintDefinition>
+  <sequenceDefinition defaultDataTypeDefinition="NUMERIC_1" typeEnumerationSupported="true"/>
+  <queryDefinition hostVariableMarker=":"/>
+  <indexDefinition maximumIdentifierLength="30"/>
+  <viewDefinition maximumIdentifierLength="30"/>
+  <tableDefinition maximumIdentifierLength="30"/>
+  <schemaDefinition maximumIdentifierLength="30"/>
+  <udtDefinition maximumIdentifierLength="30" structuredTypeSupported="true"/>
+  <constructedDataTypeDefinition arrayDatatypeSupported="true" multisetDatatypeSupported="true" rowDatatypeSupported="true" referenceDatatypeSupported="true"/>
+  <privilegedElementDefinitions name="PersistentTable">
+  	<privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="DEBUG"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INDEX"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="ON COMMIT REFRESH"/>
+    <privilegeDefinitions name="QUERY REWRITE"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="ViewTable">
+    <privilegeDefinitions name="DEBUG"/>
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="REFERENCES" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UNDER"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="MaterializedView">
+    <privilegeDefinitions name="DELETE"/>
+    <privilegeDefinitions name="FLASHBACK"/>
+    <privilegeDefinitions name="INSERT" actionElementDefinitions="COLUMN_1"/>
+    <privilegeDefinitions name="SELECT"/>
+    <privilegeDefinitions name="UPDATE" actionElementDefinitions="COLUMN_1"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Sequence">
+    <privilegeDefinitions name="ALTER"/>
+    <privilegeDefinitions name="SELECT"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Routine">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Package">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Library">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Directory">
+  	<privilegeDefinitions name="READ"/>
+  	<privilegeDefinitions name="WRITE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="Operator">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="IndexType">
+  	<privilegeDefinitions name="EXECUTE"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions name="UserDefinedType">
+  	<privilegeDefinitions name="DEBUG"/>
+  	<privilegeDefinitions name="EXECUTE"/>
+    <privilegeDefinitions name="UNDER"/>
+  </privilegedElementDefinitions>
+  <privilegedElementDefinitions xmi:id="COLUMN_1" name="Column"/>
+  <SQLSyntaxDefinition>
+    <keywords>A</keywords>
+	<keywords>ABORT</keywords>
+	<keywords>ABS</keywords>
+	<keywords>ABSOLUTE</keywords>
+	<keywords>ACCESS</keywords>
+	<keywords>ACOS</keywords>
+	<keywords>ACQUIRE</keywords>
+	<keywords>ACTION</keywords>
+	<keywords>ACTIVATE</keywords>
+	<keywords>ADA</keywords>
+	<keywords>ADD</keywords>
+	<keywords>ADDFORM</keywords>
+	<keywords>ADMIN</keywords>
+	<keywords>AFTER</keywords>
+	<keywords>AGGREGATE</keywords>
+	<keywords>ALIAS</keywords>
+	<keywords>ALL</keywords>
+	<keywords>ALLOCATE</keywords>
+	<keywords>ALTER</keywords>
+	<keywords>AN</keywords>
+	<keywords>ANALYZE</keywords>
+	<keywords>AND</keywords>
+	<keywords>ANY</keywords>
+	<keywords>APPEND</keywords>
+	<keywords>ARCHIVE</keywords>
+	<keywords>ARCHIVELOG</keywords>
+	<keywords>ARE</keywords>
+	<keywords>ARRAY</keywords>
+	<keywords>ARRAYLEN</keywords>
+	<keywords>AS</keywords>
+	<keywords>ASC</keywords>
+	<keywords>ASCII</keywords>
+	<keywords>ASIN</keywords>
+	<keywords>ASSERTION</keywords>
+	<keywords>AT</keywords>
+	<keywords>ATAN</keywords>
+	<keywords>AUDIT</keywords>
+	<keywords>AUTHORIZATION</keywords>
+	<keywords>AVG</keywords>
+	<keywords>AVGU</keywords>
+	<keywords>BACKUP</keywords>
+	<keywords>BECOME</keywords>
+	<keywords>BEFORE</keywords>
+	<keywords>BEGIN</keywords>
+	<keywords>BETWEEN</keywords>
+	<keywords>BIGINT</keywords>
+	<keywords>BINARY</keywords>
+	<keywords>BIND</keywords>
+	<keywords>BINDING</keywords>
+	<keywords>BIT</keywords>
+	<keywords>BLOB</keywords>
+	<keywords>BLOCK</keywords>
+	<keywords>BODY</keywords>
+	<keywords>BOOLEAN</keywords>
+	<keywords>BOTH</keywords>
+	<keywords>BREADTH</keywords>
+	<keywords>BREAK</keywords>
+	<keywords>BREAKDISPLAY</keywords>
+	<keywords>BROWSE</keywords>
+	<keywords>BUFFERPOOL</keywords>
+	<keywords>BULK</keywords>
+	<keywords>BY</keywords>
+	<keywords>BYREF</keywords>
+	<keywords>CACHE</keywords>
+	<keywords>CALL</keywords>
+	<keywords>CALLPROC</keywords>
+	<keywords>CANCEL</keywords>
+	<keywords>CAPTURE</keywords>
+	<keywords>CASCADE</keywords>
+	<keywords>CASCADED</keywords>
+	<keywords>CASE</keywords>
+	<keywords>CAST</keywords>
+	<keywords>CATALOG</keywords>
+	<keywords>CCSID</keywords>
+	<keywords>CEILING</keywords>
+	<keywords>CHANGE</keywords>
+	<keywords>CHAR</keywords>
+	<keywords>CHARACTER</keywords>
+	<keywords>CHARTOROWID</keywords>
+	<keywords>CHECK</keywords>
+	<keywords>CLASS</keywords>
+	<keywords>CLOB</keywords>
+	<keywords>CHECKPOINT</keywords>
+	<keywords>CHR</keywords>
+	<keywords>CLEANUP</keywords>
+	<keywords>CLEAR</keywords>
+	<keywords>CLEARROW</keywords>
+	<keywords>CLOSE</keywords>
+	<keywords>CLUSTER</keywords>
+	<keywords>CLUSTERED</keywords>
+	<keywords>COALESCE</keywords>
+	<keywords>COBOL</keywords>
+	<keywords>COLGROUP</keywords>
+	<keywords>COLLATE</keywords>
+	<keywords>COLLATION</keywords>
+	<keywords>COLLECTION</keywords>
+	<keywords>COLUMN</keywords>
+	<keywords>COMMAND</keywords>
+	<keywords>COMMENT</keywords>
+	<keywords>COMMIT</keywords>
+	<keywords>COMPLETION</keywords>
+	<keywords>COMMITTED</keywords>
+	<keywords>COMPILE</keywords>
+	<keywords>COMPLEX</keywords>
+	<keywords>COMPRESS</keywords>
+	<keywords>COMPUTE</keywords>
+	<keywords>CONCAT</keywords>
+	<keywords>CONFIRM</keywords>
+	<keywords>CONNECT</keywords>
+	<keywords>CONNECTION</keywords>
+	<keywords>CONSTRAINT</keywords>
+	<keywords>CONSTRAINTS</keywords>
+	<keywords>CONSTRUCTOR</keywords>
+	<keywords>CONTAINS</keywords>
+	<keywords>CONTAINSTABLE</keywords>
+	<keywords>CONTENTS</keywords>
+	<keywords>CONTINUE</keywords>
+	<keywords>CONTROLFILE</keywords>
+	<keywords>CONTROLROW</keywords>
+	<keywords>CONVERT</keywords>
+	<keywords>COPY</keywords>
+	<keywords>CORRESPONDING</keywords>
+	<keywords>COS</keywords>
+	<keywords>COUNT</keywords>
+	<keywords>COUNTU</keywords>
+	<keywords>CREATE</keywords>
+	<keywords>CROSS</keywords>
+	<keywords>CUBE</keywords>
+	<keywords>CURRENT</keywords>
+	<keywords>CURRENT_DATE</keywords>
+	<keywords>CURRENT_PATH</keywords>
+	<keywords>CURRENT_ROLE</keywords>
+	<keywords>CURRENT_TIME</keywords>
+	<keywords>CURRENT_TIMESTAMP</keywords>
+	<keywords>CURRENT_USER</keywords>
+	<keywords>CURSOR</keywords>
+	<keywords>CVAR</keywords>
+	<keywords>CYCLE</keywords>
+	<keywords>DATA</keywords>
+	<keywords>DATABASE</keywords>
+	<keywords>DATAFILE</keywords>
+	<keywords>DATAHANDLER</keywords>
+	<keywords>DATAPAGES</keywords>
+	<keywords>DATE</keywords>
+	<keywords>DAY</keywords>
+	<keywords>DAYOFMONTH</keywords>
+	<keywords>DAYOFWEEK</keywords>
+	<keywords>DAYOFYEAR</keywords>
+	<keywords>DAYS</keywords>
+	<keywords>DBA</keywords>
+	<keywords>DBCC</keywords>
+	<keywords>DBSPACE</keywords>
+	<keywords>DEALLOCATE</keywords>
+	<keywords>DEC</keywords>
+	<keywords>DECIMAL</keywords>
+	<keywords>DECLARATION</keywords>
+	<keywords>DECLARE</keywords>
+	<keywords>DECODE</keywords>
+	<keywords>DEFAULT</keywords>
+	<keywords>DEFERRABLE</keywords>
+	<keywords>DEFERRED</keywords>
+	<keywords>DEFINE</keywords>
+	<keywords>DEFINITION</keywords>
+	<keywords>DEGREES</keywords>
+	<keywords>DELETE</keywords>
+	<keywords>DEPTH</keywords>
+	<keywords>DEREF</keywords>
+	<keywords>DELETEROW</keywords>
+	<keywords>DENY</keywords>
+	<keywords>DESC</keywords>
+	<keywords>DESCRIBE</keywords>
+	<keywords>DESCRIPTOR</keywords>
+	<keywords>DESTROY</keywords>
+	<keywords>DHTYPE</keywords>
+	<keywords>DESTRUCTOR</keywords>
+	<keywords>DETERMINISTIC</keywords>
+	<keywords>DICTIONARY</keywords>
+	<keywords>DIAGNOSTICS</keywords>
+	<keywords>DIRECT</keywords>
+	<keywords>DISABLE</keywords>
+	<keywords>DISCONNECT</keywords>
+	<keywords>DISK</keywords>
+	<keywords>DISMOUNT</keywords>
+	<keywords>DISPLAY</keywords>
+	<keywords>DISTINCT</keywords>
+	<keywords>DISTRIBUTE</keywords>
+	<keywords>DISTRIBUTED</keywords>
+	<keywords>DO</keywords>
+	<keywords>DOMAIN</keywords>
+	<keywords>DOUBLE</keywords>
+	<keywords>DOWN</keywords>
+	<keywords>DROP</keywords>
+	<keywords>DUMMY</keywords>
+	<keywords>DUMP</keywords>
+	<keywords>DYNAMIC</keywords>
+	<keywords>EACH</keywords>
+	<keywords>EDITPROC</keywords>
+	<keywords>ELSE</keywords>
+	<keywords>ELSEIF</keywords>
+	<keywords>ENABLE</keywords>
+	<keywords>END</keywords>
+	<keywords>ENDDATA</keywords>
+	<keywords>ENDDISPLAY</keywords>
+	<keywords>ENDEXEC</keywords>
+	<keywords>END-EXEC</keywords>
+	<keywords>ENDFORMS</keywords>
+	<keywords>ENDIF</keywords>
+	<keywords>ENDLOOP</keywords>
+	<keywords>EQUALS</keywords>
+	<keywords>ENDSELECT</keywords>
+	<keywords>ENDWHILE</keywords>
+	<keywords>ERASE</keywords>
+	<keywords>ERRLVL</keywords>
+	<keywords>ERROREXIT</keywords>
+	<keywords>ESCAPE</keywords>
+	<keywords>EVENTS</keywords>
+	<keywords>EVERY</keywords>
+	<keywords>EXCEPT</keywords>
+	<keywords>EXCEPTION</keywords>
+	<keywords>EXCEPTIONS</keywords>
+	<keywords>EXCLUDE</keywords>
+	<keywords>EXCLUDING</keywords>
+	<keywords>EXCLUSIVE</keywords>
+	<keywords>EXEC</keywords>
+	<keywords>EXECUTE</keywords>
+	<keywords>EXISTS</keywords>
+	<keywords>EXIT</keywords>
+	<keywords>EXP</keywords>
+	<keywords>EXPLAIN</keywords>
+	<keywords>EXPLICIT</keywords>
+	<keywords>EXTENT</keywords>
+	<keywords>EXTERNAL</keywords>
+	<keywords>EXTERNALLY</keywords>
+	<keywords>EXTRACT</keywords>
+	<keywords>FALSE</keywords>
+	<keywords>FETCH</keywords>
+	<keywords>FIELD</keywords>
+	<keywords>FIELDPROC</keywords>
+	<keywords>FILE</keywords>
+	<keywords>FILLFACTOR</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FINALIZE</keywords>
+	<keywords>FIRST</keywords>
+	<keywords>FLOAT</keywords>
+	<keywords>FLOOR</keywords>
+	<keywords>FLOPPY</keywords>
+	<keywords>FLUSH</keywords>
+	<keywords>FOR</keywords>
+	<keywords>FORCE</keywords>
+	<keywords>FORMDATA</keywords>
+	<keywords>FORMINIT</keywords>
+	<keywords>FORMS</keywords>
+	<keywords>FORTRAN</keywords>
+	<keywords>FOREIGN</keywords>
+	<keywords>FOUND</keywords>
+	<keywords>FREELIST</keywords>
+	<keywords>FREELISTS</keywords>
+	<keywords>FREETEXT</keywords>
+	<keywords>FREETEXTTABLE</keywords>
+	<keywords>FROM</keywords>
+	<keywords>FREE</keywords>
+	<keywords>FULL</keywords>
+	<keywords>FUNCTION</keywords>
+	<keywords>GENERAL</keywords>
+	<keywords>GET</keywords>
+	<keywords>GETCURRENTCONNECTION</keywords>
+	<keywords>GETFORM</keywords>
+	<keywords>GETOPER</keywords>
+	<keywords>GETROW</keywords>
+	<keywords>GLOBAL</keywords>
+	<keywords>GO</keywords>
+	<keywords>GOTO</keywords>
+	<keywords>GRANT</keywords>
+	<keywords>GRANTED</keywords>
+	<keywords>GRAPHIC</keywords>
+	<keywords>GREATEST</keywords>
+	<keywords>GROUP</keywords>
+	<keywords>GROUPING</keywords>
+	<keywords>GROUPS</keywords>
+	<keywords>HASH</keywords>
+	<keywords>HAVING</keywords>
+	<keywords>HOST</keywords>
+	<keywords>HELP</keywords>
+	<keywords>HELPFILE</keywords>
+	<keywords>HOLDLOCK</keywords>
+	<keywords>HOUR</keywords>
+	<keywords>HOURS</keywords>
+	<keywords>IDENTIFIED</keywords>
+	<keywords>IDENTITY</keywords>
+	<keywords>IGNORE</keywords>
+	<keywords>IDENTITYCOL</keywords>
+	<keywords>IF</keywords>
+	<keywords>IFNULL</keywords>
+	<keywords>IIMESSAGE</keywords>
+	<keywords>IIPRINTF</keywords>
+	<keywords>IMMEDIATE</keywords>
+	<keywords>IMPORT</keywords>
+	<keywords>IN</keywords>
+	<keywords>INCLUDE</keywords>
+	<keywords>INCLUDING</keywords>
+	<keywords>INCREMENT</keywords>
+	<keywords>INDEX</keywords>
+	<keywords>INDEXPAGES</keywords>
+	<keywords>INDICATOR</keywords>
+	<keywords>INITCAP</keywords>
+	<keywords>INITIAL</keywords>
+	<keywords>INITIALIZE</keywords>
+	<keywords>INITIALLY</keywords>
+	<keywords>INITRANS</keywords>
+	<keywords>INITTABLE</keywords>
+	<keywords>INNER</keywords>
+	<keywords>INOUT</keywords>
+	<keywords>INPUT</keywords>
+	<keywords>INSENSITIVE</keywords>
+	<keywords>INSERT</keywords>
+	<keywords>INSERTROW</keywords>
+	<keywords>INSTANCE</keywords>
+	<keywords>INSTR</keywords>
+	<keywords>INT</keywords>
+	<keywords>INTEGER</keywords>
+	<keywords>INTEGRITY</keywords>
+	<keywords>INTERFACE</keywords>
+	<keywords>INTERSECT</keywords>
+	<keywords>INTERVAL</keywords>
+	<keywords>INTO</keywords>
+	<keywords>IS</keywords>
+	<keywords>ISOLATION</keywords>
+	<keywords>ITERATE</keywords>
+	<keywords>JOIN</keywords>
+	<keywords>KEY</keywords>
+	<keywords>KILL</keywords>
+	<keywords>LABEL</keywords>
+	<keywords>LANGUAGE</keywords>
+	<keywords>LARGE</keywords>
+	<keywords>LAST</keywords>
+	<keywords>LATERAL</keywords>
+	<keywords>LAYER</keywords>
+	<keywords>LEADING</keywords>
+	<keywords>LEAST</keywords>
+	<keywords>LEFT</keywords>
+	<keywords>LESS</keywords>
+	<keywords>LENGTH</keywords>
+	<keywords>LEVEL</keywords>
+	<keywords>LIKE</keywords>
+	<keywords>LIMIT</keywords>
+	<keywords>LINENO</keywords>
+	<keywords>LINK</keywords>
+	<keywords>LIST</keywords>
+	<keywords>LISTS</keywords>
+	<keywords>LOAD</keywords>
+	<keywords>LOADTABLE</keywords>
+	<keywords>LOCAL</keywords>
+	<keywords>LOCALTIME</keywords>
+	<keywords>LOCALTIMESTAMP</keywords>
+	<keywords>LOCATOR</keywords>
+	<keywords>LOCATE</keywords>
+	<keywords>LOCK</keywords>
+	<keywords>LOCKSIZE</keywords>
+	<keywords>LOG</keywords>
+	<keywords>LOGFILE</keywords>
+	<keywords>LONG</keywords>
+	<keywords>LONGINT</keywords>
+	<keywords>LOWER</keywords>
+	<keywords>LPAD</keywords>
+	<keywords>LTRIM</keywords>
+	<keywords>LVARBINARY</keywords>
+	<keywords>LVARCHAR</keywords>
+	<keywords>MAIN</keywords>
+	<keywords>MANAGE</keywords>
+	<keywords>MANUAL</keywords>
+	<keywords>MAP</keywords>
+	<keywords>MATCH</keywords>
+	<keywords>MAX</keywords>
+	<keywords>MAXDATAFILES</keywords>
+	<keywords>MAXEXTENTS</keywords>
+	<keywords>MAXINSTANCES</keywords>
+	<keywords>MAXLOGFILES</keywords>
+	<keywords>MAXLOGHISTORY</keywords>
+	<keywords>MAXLOGMEMBERS</keywords>
+	<keywords>MAXTRANS</keywords>
+	<keywords>MAXVALUE</keywords>
+	<keywords>MENUITEM</keywords>
+	<keywords>MESSAGE</keywords>
+	<keywords>MICROSECOND</keywords>
+	<keywords>MICROSECONDS</keywords>
+	<keywords>MIN</keywords>
+	<keywords>MINEXTENTS</keywords>
+	<keywords>MINUS</keywords>
+	<keywords>MINUTE</keywords>
+	<keywords>MODIFIES</keywords>
+	<keywords>MINUTES</keywords>
+	<keywords>MINVALUE</keywords>
+	<keywords>MIRROREXIT</keywords>
+	<keywords>MOD</keywords>
+	<keywords>MODE</keywords>
+	<keywords>MODIFY</keywords>
+	<keywords>MODULE</keywords>
+	<keywords>MONEY</keywords>
+	<keywords>MONTH</keywords>
+	<keywords>MONTHS</keywords>
+	<keywords>MOUNT</keywords>
+	<keywords>MOVE</keywords>
+	<keywords>NAMED</keywords>
+	<keywords>NAMES</keywords>
+	<keywords>NATIONAL</keywords>
+	<keywords>NATURAL</keywords>
+	<keywords>NCHAR</keywords>
+	<keywords>NCLOB</keywords>
+	<keywords>NEW</keywords>
+	<keywords>NEXT</keywords>
+	<keywords>NHEADER</keywords>
+	<keywords>NO</keywords>
+	<keywords>NOARCHIVELOG</keywords>
+	<keywords>NOAUDIT</keywords>
+	<keywords>NOCACHE</keywords>
+	<keywords>NOCHECK</keywords>
+	<keywords>NOCOMPRESS</keywords>
+	<keywords>NOCYCLE</keywords>
+	<keywords>NOECHO</keywords>
+	<keywords>NOMAXVALUE</keywords>
+	<keywords>NOMINVALUE</keywords>
+	<keywords>NONCLUSTERED</keywords>
+	<keywords>NONE</keywords>
+	<keywords>NOORDER</keywords>
+	<keywords>NORESETLOGS</keywords>
+	<keywords>NORMAL</keywords>
+	<keywords>NOSORT</keywords>
+	<keywords>NOT</keywords>
+	<keywords>NOTFOUND</keywords>
+	<keywords>NOTRIM</keywords>
+	<keywords>NOWAIT</keywords>
+	<keywords>NULL</keywords>
+	<keywords>NULLIF</keywords>
+	<keywords>NULLVALUE</keywords>
+	<keywords>NUMBER</keywords>
+	<keywords>NUMERIC</keywords>
+	<keywords>OBJECT</keywords>
+	<keywords>NUMPARTS</keywords>
+	<keywords>NVL</keywords>
+	<keywords>OBID</keywords>
+	<keywords>ODBCINFO</keywords>
+	<keywords>OF</keywords>
+	<keywords>OFF</keywords>
+	<keywords>OFFLINE</keywords>
+	<keywords>OFFSETS</keywords>
+	<keywords>OLD</keywords>
+	<keywords>ON</keywords>
+	<keywords>ONCE</keywords>
+	<keywords>ONLINE</keywords>
+	<keywords>ONLY</keywords>
+	<keywords>OPEN</keywords>
+	<keywords>OPERATION</keywords>
+	<keywords>OPENDATASOURCE</keywords>
+	<keywords>OPENQUERY</keywords>
+	<keywords>OPENROWSET</keywords>
+	<keywords>OPTIMAL</keywords>
+	<keywords>OPTIMIZE</keywords>
+	<keywords>OPTION</keywords>
+	<keywords>OR</keywords>
+	<keywords>ORDER</keywords>
+	<keywords>ORDINALITY</keywords>
+	<keywords>OUT</keywords>
+	<keywords>OUTER</keywords>
+	<keywords>OUTPUT</keywords>
+	<keywords>OVER</keywords>
+	<keywords>OVERLAPS</keywords>
+	<keywords>OWN</keywords>
+	<keywords>PACKAGE</keywords>
+	<keywords>PAD</keywords>
+	<keywords>PARAMETER</keywords>
+	<keywords>PARAMETERS</keywords>
+	<keywords>PAGE</keywords>
+	<keywords>PAGES</keywords>
+	<keywords>PARALLEL</keywords>
+	<keywords>PART</keywords>
+	<keywords>PARTIAL</keywords>
+	<keywords>PATH</keywords>
+	<keywords>POSTFIX</keywords>
+	<keywords>PASCAL</keywords>
+	<keywords>PCTFREE</keywords>
+	<keywords>PCTINCREASE</keywords>
+	<keywords>PCTINDEX</keywords>
+	<keywords>PCTUSED</keywords>
+	<keywords>PERCENT</keywords>
+	<keywords>PERM</keywords>
+	<keywords>PERMANENT</keywords>
+	<keywords>PERMIT</keywords>
+	<keywords>PI</keywords>
+	<keywords>PIPE</keywords>
+	<keywords>PLAN</keywords>
+	<keywords>PLI</keywords>
+	<keywords>POSITION</keywords>
+	<keywords>POWER</keywords>
+	<keywords>PRECISION</keywords>
+	<keywords>PREFIX</keywords>
+	<keywords>PREORDER</keywords>
+	<keywords>PREPARE</keywords>
+	<keywords>PRESERVE</keywords>
+	<keywords>PRIMARY</keywords>
+	<keywords>PRINT</keywords>
+	<keywords>PRINTSCREEN</keywords>
+	<keywords>PRIOR</keywords>
+	<keywords>PRIQTY</keywords>
+	<keywords>PRIVATE</keywords>
+	<keywords>PRIVILEGES</keywords>
+	<keywords>PROC</keywords>
+	<keywords>PROCEDURE</keywords>
+	<keywords>PROCESSEXIT</keywords>
+	<keywords>PROFILE</keywords>
+	<keywords>PROGRAM</keywords>
+	<keywords>PROMPT</keywords>
+	<keywords>PUBLIC</keywords>
+	<keywords>PUTFORM</keywords>
+	<keywords>PUTOPER</keywords>
+	<keywords>PUTROW</keywords>
+	<keywords>QUALIFICATION</keywords>
+	<keywords>QUARTER</keywords>
+	<keywords>QUOTA</keywords>
+	<keywords>RADIANS</keywords>
+	<keywords>RAISE</keywords>
+	<keywords>RAISERROR</keywords>
+	<keywords>RAND</keywords>
+	<keywords>RANGE</keywords>
+	<keywords>RAW</keywords>
+	<keywords>READ</keywords>
+	<keywords>READS</keywords>
+	<keywords>READTEXT</keywords>
+	<keywords>REAL</keywords>
+	<keywords>RECURSIVE</keywords>
+	<keywords>REF</keywords>
+	<keywords>RECONFIGURE</keywords>
+	<keywords>RECORD</keywords>
+	<keywords>RECOVER</keywords>
+	<keywords>REDISPLAY</keywords>
+	<keywords>REFERENCES</keywords>
+	<keywords>REFERENCING</keywords>
+	<keywords>RELATIVE</keywords>
+	<keywords>REGISTER</keywords>
+	<keywords>RELEASE</keywords>
+	<keywords>RELOCATE</keywords>
+	<keywords>REMOVE</keywords>
+	<keywords>RENAME</keywords>
+	<keywords>REPEAT</keywords>
+	<keywords>REPEATABLE</keywords>
+	<keywords>REPEATED</keywords>
+	<keywords>REPLACE</keywords>
+	<keywords>REPLICATE</keywords>
+	<keywords>REPLICATION</keywords>
+	<keywords>RESET</keywords>
+	<keywords>RESETLOGS</keywords>
+	<keywords>RESOURCE</keywords>
+	<keywords>RESTORE</keywords>
+	<keywords>RESTRICT</keywords>
+	<keywords>RESULT</keywords>
+	<keywords>RESTRICTED</keywords>
+	<keywords>RESUME</keywords>
+	<keywords>RETRIEVE</keywords>
+	<keywords>RETURN</keywords>
+	<keywords>RETURNS</keywords>
+	<keywords>REUSE</keywords>
+	<keywords>REVOKE</keywords>
+	<keywords>RIGHT</keywords>
+	<keywords>ROLE</keywords>
+	<keywords>ROLES</keywords>
+	<keywords>ROLLBACK</keywords>
+	<keywords>ROLLUP</keywords>
+	<keywords>ROUTINE</keywords>
+	<keywords>ROW</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>ROWCOUNT</keywords>
+	<keywords>ROWGUIDCOL</keywords>
+	<keywords>ROWID</keywords>
+	<keywords>ROWIDTOCHAR</keywords>
+	<keywords>ROWLABEL</keywords>
+	<keywords>ROWNUM</keywords>
+	<keywords>ROWS</keywords>
+	<keywords>RPAD</keywords>
+	<keywords>RRN</keywords>
+	<keywords>RTRIM</keywords>
+	<keywords>RULE</keywords>
+	<keywords>RUN</keywords>
+	<keywords>RUNTIMESTATISTICS</keywords>
+	<keywords>SAVE</keywords>
+	<keywords>SAVEPOINT</keywords>
+	<keywords>SCHEDULE</keywords>
+	<keywords>SCHEMA</keywords>
+	<keywords>SCN</keywords>
+	<keywords>SCREEN</keywords>
+	<keywords>SCROLL</keywords>
+	<keywords>SCOPE</keywords>
+	<keywords>SEARCH</keywords>
+	<keywords>SCROLLDOWN</keywords>
+	<keywords>SCROLLUP</keywords>
+	<keywords>SECOND</keywords>
+	<keywords>SECONDS</keywords>
+	<keywords>SECQTY</keywords>
+	<keywords>SECTION</keywords>
+	<keywords>SEGMENT</keywords>
+	<keywords>SELECT</keywords>
+	<keywords>SEQUENCE</keywords>
+	<keywords>SERIALIZABLE</keywords>
+	<keywords>SERVICE</keywords>
+	<keywords>SESSION</keywords>
+	<keywords>SESSION_USER</keywords>
+	<keywords>SET</keywords>
+	<keywords>SETS</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIN</keywords>
+	<keywords>SIMPLE</keywords>
+	<keywords>SIGN</keywords>
+	<keywords>SHUTDOWN</keywords>
+	<keywords>SHORT</keywords>
+	<keywords>SHARE</keywords>
+	<keywords>SHARED</keywords>
+	<keywords>SETUSER</keywords>
+	<keywords>SIZE</keywords>
+	<keywords>SLEEP</keywords>
+	<keywords>SMALLINT</keywords>
+	<keywords>SNAPSHOT</keywords>
+	<keywords>SOME</keywords>
+	<keywords>SORT</keywords>
+	<keywords>SOUNDEX</keywords>
+	<keywords>SPACE</keywords>
+	<keywords>SPECIFIC</keywords>
+	<keywords>SPECIFICTYPE</keywords>
+	<keywords>SQL</keywords>
+	<keywords>SQLEXCEPTION</keywords>
+	<keywords>SQLBUF</keywords>
+	<keywords>SQLCA</keywords>
+	<keywords>SQLCODE</keywords>
+	<keywords>SQLERROR</keywords>
+	<keywords>SQLSTATE</keywords>
+	<keywords>SQLWARNING</keywords>
+	<keywords>SQRT</keywords>
+	<keywords>START</keywords>
+	<keywords>STATE</keywords>
+	<keywords>STATEMENT</keywords>
+	<keywords>STATIC</keywords>
+	<keywords>STRUCTURE</keywords>
+	<keywords>STATISTICS</keywords>
+	<keywords>STOGROUP</keywords>
+	<keywords>STOP</keywords>
+	<keywords>STORAGE</keywords>
+	<keywords>STORPOOL</keywords>
+	<keywords>SUBMENU</keywords>
+	<keywords>SUBPAGES</keywords>
+	<keywords>SUBSTR</keywords>
+	<keywords>SUBSTRING</keywords>
+	<keywords>SUCCESSFUL</keywords>
+	<keywords>SUFFIX</keywords>
+	<keywords>SUM</keywords>
+	<keywords>SYSTEM_USER</keywords>
+	<keywords>SUMU</keywords>
+	<keywords>SWITCH</keywords>
+	<keywords>SYNONYM</keywords>
+	<keywords>SYSCAT</keywords>
+	<keywords>SYSDATE</keywords>
+	<keywords>SYSFUN</keywords>
+	<keywords>SYSIBM</keywords>
+	<keywords>SYSSTAT</keywords>
+	<keywords>SYSTEM</keywords>
+	<keywords>SYSTIME</keywords>
+	<keywords>SYSTIMESTAMP</keywords>
+	<keywords>TABLE</keywords>
+	<keywords>TABLEDATA</keywords>
+	<keywords>TABLES</keywords>
+	<keywords>TABLESPACE</keywords>
+	<keywords>TAN</keywords>
+	<keywords>TAPE</keywords>
+	<keywords>TEMP</keywords>
+	<keywords>TEMPORARY</keywords>
+	<keywords>TERMINATE</keywords>
+	<keywords>THAN</keywords>
+	<keywords>TEXTSIZE</keywords>
+	<keywords>THEN</keywords>
+	<keywords>THREAD</keywords>
+	<keywords>TIME</keywords>
+	<keywords>TIMEOUT</keywords>
+	<keywords>TIMESTAMP</keywords>
+	<keywords>TIMEZONE_HOUR</keywords>
+	<keywords>TIMEZONE_MINUTE</keywords>
+	<keywords>TINYINT</keywords>
+	<keywords>TO</keywords>
+	<keywords>TOP</keywords>
+	<keywords>TPE</keywords>
+	<keywords>TRACING</keywords>
+	<keywords>TRAILING</keywords>
+	<keywords>TRAN</keywords>
+	<keywords>TRANSACTION</keywords>
+	<keywords>TRANSLATE</keywords>
+	<keywords>TRANSLATION</keywords>
+	<keywords>TREAT</keywords>
+	<keywords>TRIGGER</keywords>
+	<keywords>TRIGGERS</keywords>
+	<keywords>TRIM</keywords>
+	<keywords>TRUE</keywords>
+	<keywords>TRUNCATE</keywords>
+	<keywords>TSEQUAL</keywords>
+	<keywords>TYPE</keywords>
+	<keywords>UID</keywords>
+	<keywords>UNCOMMITTED</keywords>
+	<keywords>UNDER</keywords>
+	<keywords>UNION</keywords>
+	<keywords>UNIQUE</keywords>
+	<keywords>UNKNOWN</keywords>
+	<keywords>UNNEST</keywords>
+	<keywords>UNLIMITED</keywords>
+	<keywords>UNLOADTABLE</keywords>
+	<keywords>UNSIGNED</keywords>
+	<keywords>UNTIL</keywords>
+	<keywords>UP</keywords>
+	<keywords>UPDATE</keywords>
+	<keywords>UPDATETEXT</keywords>
+	<keywords>UPPER</keywords>
+	<keywords>USAGE</keywords>
+	<keywords>USE</keywords>
+	<keywords>USER</keywords>
+	<keywords>USING</keywords>
+	<keywords>UUID</keywords>
+	<keywords>VALIDATE</keywords>
+	<keywords>VALIDPROC</keywords>
+	<keywords>VALIDROW</keywords>
+	<keywords>VALUE</keywords>
+	<keywords>VALUES</keywords>
+	<keywords>VARBINARY</keywords>
+	<keywords>VARCHAR</keywords>
+	<keywords>VARIABLE</keywords>
+	<keywords>VARIABLES</keywords>
+	<keywords>VARYING</keywords>
+	<keywords>VCAT</keywords>
+	<keywords>VERSION</keywords>
+	<keywords>VIEW</keywords>
+	<keywords>VOLUMES</keywords>
+	<keywords>WAITFOR</keywords>
+	<keywords>WEEK</keywords>
+	<keywords>WHEN</keywords>
+	<keywords>WHENEVER</keywords>
+	<keywords>WHERE</keywords>
+	<keywords>WHILE</keywords>
+	<keywords>WITH</keywords>
+	<keywords>WITHOUT</keywords>
+	<keywords>WORK</keywords>
+	<keywords>WRITE</keywords>
+	<keywords>WRITETEXT</keywords>
+	<keywords>YEAR</keywords>
+	<keywords>YEARS</keywords>
+	<keywords>ZONE</keywords>
+  </SQLSyntaxDefinition>
+</DBDefinition:DatabaseVendorDefinition>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/.classpath b/plugins/org.eclipse.datatools.enablement.oracle.ui/.classpath
new file mode 100644
index 0000000..751c8f2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/.gitignore b/plugins/org.eclipse.datatools.enablement.oracle.ui/.gitignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/.project b/plugins/org.eclipse.datatools.enablement.oracle.ui/.project
new file mode 100644
index 0000000..6689523
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.datatools.enablement.oracle.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.datatools.enablement.oracle.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..73f4382
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Fri Apr 13 14:14:14 PDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..821d9ae
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.datatools.enablement.oracle.ui;singleton:=true
+Bundle-Version: 1.2.1.qualifier
+Bundle-Localization: plugin
+Export-Package: org.eclipse.datatools.enablement.oracle.internal.ui,
+ org.eclipse.datatools.enablement.oracle.internal.ui.drivers,
+ org.eclipse.datatools.enablement.oracle.ui.drivers
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.datatools.connectivity,
+ org.eclipse.datatools.connectivity.ui,
+ org.eclipse.datatools.enablement.oracle,
+ org.eclipse.osgi
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %providerName
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/about.html b/plugins/org.eclipse.datatools.enablement.oracle.ui/about.html
new file mode 100644
index 0000000..d0a7cc2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 15, 2009</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/build.properties b/plugins/org.eclipse.datatools.enablement.oracle.ui/build.properties
new file mode 100644
index 0000000..3154630
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/build.properties
@@ -0,0 +1,15 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               plugin.properties,\
+               icons/,\
+               about.html
+src.dir	= src/
+plugin.version =	1.0.0.200711021
+javadoc.dir =		doc/api/
+download.dir =		./download/
+javac.source =		1.4
+javac.target =		1.4
+src.includes = about.html
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/icons/new_db_element.gif b/plugins/org.eclipse.datatools.enablement.oracle.ui/icons/new_db_element.gif
new file mode 100644
index 0000000..1d459ce
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/icons/new_db_element.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/plugin.properties b/plugins/org.eclipse.datatools.enablement.oracle.ui/plugin.properties
new file mode 100644
index 0000000..0905be4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/plugin.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# Copyright (c) 2006, 2007 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+pluginName=Eclipse Data Tools Platform Oracle UI Plug-in
+providerName=Eclipse Data Tools Platform
+
+profile.oracle.wizard.title = Oracle
+profile.oracle.wizard.description = Create an Oracle connection profile.
+profile.oracle.properties = Driver Properties
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/plugin.xml b/plugins/org.eclipse.datatools.enablement.oracle.ui/plugin.xml
new file mode 100644
index 0000000..df69564
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/plugin.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+	<extension
+         point="org.eclipse.datatools.connectivity.connectionProfile">
+      <newWizard
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.NewOracleConnectionProfileWizard"
+            icon="icons/new_db_element.gif"
+            id="org.eclipse.datatools.enablement.oracle.NewOracleConnectionProfileWizard"
+            name="%profile.oracle.wizard.title"
+            description = "%profile.oracle.wizard.description"
+            profile="org.eclipse.datatools.enablement.oracle.connectionProfile"/>
+   </extension>
+   <extension
+         point="org.eclipse.ui.propertyPages">
+      <page
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.OracleDBProfilePropertyPage"
+            id="org.eclipse.datatools.enablement.oracle.profileProperties"
+            name="%profile.oracle.properties"
+            objectClass="org.eclipse.datatools.connectivity.IConnectionProfile">
+         <filter
+               name="org.eclipse.datatools.profile.property.id"
+               value="org.eclipse.datatools.enablement.oracle.connectionProfile"/>
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.datatools.connectivity.ui.driverPropertyEditor">
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.11.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.11.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.10.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.10.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.9.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.9.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.8.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.8.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.11.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.11.other.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.10.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.10.other.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.9.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.9.other.driverTemplate.password">
+      </propertyEditor>
+      <propertyEditor
+            customPropertyDescriptor="org.eclipse.datatools.connectivity.ui.PasswordTextPropertyDescriptor"
+            driverPropertyID="org.eclipse.datatools.connectivity.db.password"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.8.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.8.other.driverTemplate.password">
+      </propertyEditor>
+   </extension>
+  
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleOtherDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.11.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.11.OracleOtherDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleOtherDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.10.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.10.OracleOtherDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleOtherDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.9.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.9.OracleOtherDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleOtherDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.8.other.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.8.OracleOtherDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleThinDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.11.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.11.OracleThinDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleThinDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.10.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.10.OracleThinDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleThinDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.9.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.9.OracleThinDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+   
+   <extension point="org.eclipse.datatools.connectivity.ui.driverUIContributor">
+      <driverUIContributor
+            class="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.OracleThinDriverUIContributor"
+            driverTemplateID="org.eclipse.datatools.enablement.oracle.8.driverTemplate"
+            id="org.eclipse.datatools.enablement.oracle.internal.ui.drivers.8.OracleThinDriverUIContributor">
+      </driverUIContributor>
+   </extension>
+ </plugin>  
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/NewOracleConnectionProfileWizard.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/NewOracleConnectionProfileWizard.java
new file mode 100644
index 0000000..76501af
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/NewOracleConnectionProfileWizard.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.oracle.internal.ui;
+
+import org.eclipse.datatools.connectivity.ui.wizards.ExtensibleNewConnectionProfileWizard;
+
+public class NewOracleConnectionProfileWizard extends ExtensibleNewConnectionProfileWizard {
+
+	public NewOracleConnectionProfileWizard() {
+		super(new OracleDBProfileDetailsWizardPage("org.eclipse.datatools.enablement.oracle.internal.ui.OracleDBProfileDetailsWizardPage"));
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/OracleDBProfileDetailsWizardPage.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/OracleDBProfileDetailsWizardPage.java
new file mode 100644
index 0000000..7e85b19
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/OracleDBProfileDetailsWizardPage.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.oracle.internal.ui;
+
+import org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsWizardPage;
+import org.eclipse.datatools.enablement.internal.oracle.IOracleConnectionProfileConstants;
+
+public class OracleDBProfileDetailsWizardPage 
+	extends ExtensibleProfileDetailsWizardPage{
+
+	public OracleDBProfileDetailsWizardPage(String pageName) {
+		super(pageName, IOracleConnectionProfileConstants.ORACLE_CATEGORY_ID);	
+	}
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/OracleDBProfilePropertyPage.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/OracleDBProfilePropertyPage.java
new file mode 100644
index 0000000..3d78337
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/OracleDBProfilePropertyPage.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.oracle.internal.ui;
+
+import org.eclipse.datatools.connectivity.ui.wizards.ExtensibleProfileDetailsPropertyPage;
+import org.eclipse.datatools.enablement.internal.oracle.IOracleConnectionProfileConstants;
+
+public class OracleDBProfilePropertyPage extends ExtensibleProfileDetailsPropertyPage {
+
+	public OracleDBProfilePropertyPage() {
+		super(IOracleConnectionProfileConstants.ORACLE_CATEGORY_ID);
+	}
+
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/Messages.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/Messages.java
new file mode 100644
index 0000000..dc9c67f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/Messages.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.datatools.enablement.oracle.internal.ui.drivers;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "org.eclipse.datatools.enablement.oracle.internal.ui.drivers.messages"; //$NON-NLS-1$
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleOtherDriverUIContributor.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleOtherDriverUIContributor.java
new file mode 100644
index 0000000..cd55116
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleOtherDriverUIContributor.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.datatools.enablement.oracle.internal.ui.drivers;
+
+import org.eclipse.datatools.connectivity.ui.wizards.OtherDriverUIContributor;
+
+public class OracleOtherDriverUIContributor extends OtherDriverUIContributor {
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java
new file mode 100644
index 0000000..aa603cd
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.datatools.enablement.oracle.internal.ui.drivers;
+
+import org.eclipse.datatools.enablement.oracle.ui.drivers.OracleThinDriverUIContributorBase;
+
+public class OracleThinDriverUIContributor extends OracleThinDriverUIContributorBase {
+
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties
new file mode 100644
index 0000000..ca719fa
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties
@@ -0,0 +1,42 @@
+###############################################################################
+# Copyright (c) 2007 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+
+#
+## Oracle Driver UI Contributor
+#
+CUI_NEWCW_DATABASE_LBL_UI_ = Database instance:
+CUI_NEWCW_HOST_LBL_UI_ = &Host:
+CUI_NEWCW_PORT_LBL_UI_ = Port nu&mber:
+CUI_NEWCW_USERNAME_LBL_UI_ = User n&ame:
+CUI_NEWCW_PASSWORD_LBL_UI_ = Pass&word:
+CUI_NEWCW_SAVE_PASSWORD_LBL_UI_ = Sa&ve password
+CUI_NEWCW_CONNECTIONURL_LBL_UI_= Connection UR&L:
+ALL_CATALOGS_OPTION_UI_ = All
+DBA_CATALOG_OPTION_UI_ = DBA
+USER_CATALOG_OPTION_UI_ = User
+CATALOG_LBL_UI_ = Catalo&g:
+
+CUI_NEWCW_DATABASE_SUMMARY_DATA_TEXT_ = SID
+CUI_NEWCW_HOST_SUMMARY_DATA_TEXT_ = Host
+CUI_NEWCW_PORT_SUMMARY_DATA_TEXT_ = Port number
+CUI_NEWCW_CATALOG_SUMMARY_DATA_TEXT_ = Catalog
+CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_ = User name
+CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_ = Save password
+CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_ = true
+CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_ = false
+CUI_NEWCW_URL_SUMMARY_DATA_TEXT_ = URL
+
+CUI_NEWCW_VALIDATE_DATABASE_REQ_UI_ = Enter an SID name.
+CUI_NEWCW_VALIDATE_SERVICE_REQ_UI_ = Enter a service name.
+CUI_NEWCW_VALIDATE_HOST_REQ_UI_= Enter the host name for the database server.
+CUI_NEWCW_VALIDATE_PORT_REQ_UI_ = Enter the connection port number for the database server.
+CUI_NEWCW_VALIDATE_USERID_REQ_UI_ = Enter a user name.
+CUI_NEWCW_VALIDATE_PASSWORD_REQ_UI_ = Enter a password.
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/ui/drivers/OracleThinDriverUIContributorBase.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/ui/drivers/OracleThinDriverUIContributorBase.java
new file mode 100644
index 0000000..3be7cf6
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/ui/drivers/OracleThinDriverUIContributorBase.java
@@ -0,0 +1,777 @@
+/*
+ *************************************************************************
+ * Copyright (c) 2007, 2010 IBM Corporation and others. 
+ * All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ *               Actuate Corporation - re-factored to an extendable base class and
+ *                  added the optional properties tab
+ *************************************************************************
+ */
+
+package org.eclipse.datatools.enablement.oracle.ui.drivers;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCConnectionProfileConstants;
+import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCDriverDefinitionConstants;
+import org.eclipse.datatools.connectivity.internal.ui.ConnectivityUIPlugin;
+import org.eclipse.datatools.connectivity.ui.wizards.IDriverUIContributor;
+import org.eclipse.datatools.connectivity.ui.wizards.IDriverUIContributorInformation;
+import org.eclipse.datatools.connectivity.ui.wizards.OptionalPropertiesPane;
+import org.eclipse.datatools.enablement.internal.oracle.IOracleDriverDefinitionConstants;
+import org.eclipse.datatools.enablement.oracle.internal.ui.drivers.Messages;
+import org.eclipse.jface.dialogs.DialogPage;
+import org.eclipse.osgi.util.TextProcessor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Base class implementation that contributes UI controls to collect user input on 
+ * Oracle JDBC connection properties.
+ * Extenders may extend the nested URL handler class to format and parse their own JDBC URL
+ * based on the user input.  Extenders are not expected to extend the UI controls.
+ */
+public class OracleThinDriverUIContributorBase implements IDriverUIContributor, Listener
+{
+    private static final String CUI_NEWCW_DATABASE_LBL_UI_ = TextProcessor.process(Messages
+            .getString("CUI_NEWCW_DATABASE_LBL_UI_")); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_HOST_LBL_UI_ = Messages
+            .getString("CUI_NEWCW_HOST_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_PORT_LBL_UI_ = Messages
+            .getString("CUI_NEWCW_PORT_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_USERNAME_LBL_UI_ = Messages
+            .getString("CUI_NEWCW_USERNAME_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_PASSWORD_LBL_UI_ = Messages
+            .getString("CUI_NEWCW_PASSWORD_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_SAVE_PASSWORD_LBL_UI_ = Messages
+            .getString("CUI_NEWCW_SAVE_PASSWORD_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_CONNECTIONURL_LBL_UI_ = Messages
+            .getString("CUI_NEWCW_CONNECTIONURL_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String CATALOG_LBL_UI_ = Messages
+            .getString("CATALOG_LBL_UI_"); //$NON-NLS-1$
+
+    private static final String ALL_CATALOGS = Messages
+            .getString("ALL_CATALOGS_OPTION_UI_"); //$NON-NLS-1$
+
+    private static final String DBA_CATALOG = Messages
+            .getString("DBA_CATALOG_OPTION_UI_"); //$NON-NLS-1$
+
+    private static final String USER_CATALOG = Messages
+            .getString("USER_CATALOG_OPTION_UI_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_DATABASE_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_DATABASE_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_HOST_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_HOST_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_PORT_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_PORT_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_CATALOG_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_CATALOG_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private static final String CUI_NEWCW_URL_SUMMARY_DATA_TEXT_ = Messages
+            .getString("CUI_NEWCW_URL_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+    private IDriverUIContributorInformation contributorInformation;
+
+    private Label databaseLabel;
+
+    protected Button svcBtn;
+    protected Button sidBtn;
+    protected boolean isUsingService;
+
+    protected Text databaseText;
+    private Text serviceText;
+    private Text sidText;
+
+    private Label hostLabel;
+
+    protected Text hostText;
+
+    private Label portLabel;
+
+    protected Text portText;
+
+    private Label usernameLabel;
+
+    private Text usernameText;
+
+    private Label passwordLabel;
+
+    private Text passwordText;
+
+    private Button savePasswordButton;
+
+    private Label urlLabel;
+
+    protected Text urlText;
+
+    private Label catalogLabel;
+
+    private Combo catalogCombo;
+
+    protected DialogPage parentPage;
+
+    private ScrolledComposite parentComposite;
+
+    protected OptionalPropertiesPane optionalPropsComposite;
+
+    private Properties properties;
+    
+    protected boolean isReadOnly = false;
+
+    public boolean determineContributorCompletion() {
+        boolean isComplete = true;
+        if (databaseText.getText().trim().length() < 1) {
+        	if (!isDialogUsingService()) {
+	            parentPage.setErrorMessage(Messages
+	                    .getString("CUI_NEWCW_VALIDATE_DATABASE_REQ_UI_")); //$NON-NLS-1$
+        	} else {
+                parentPage.setErrorMessage(Messages
+                        .getString("CUI_NEWCW_VALIDATE_SERVICE_REQ_UI_")); //$NON-NLS-1$
+        	}
+            isComplete = false;
+        } else if (hostText.getText().trim().length() < 1) {
+            parentPage.setErrorMessage(Messages
+                    .getString("CUI_NEWCW_VALIDATE_HOST_REQ_UI_")); //$NON-NLS-1$
+            isComplete = false;
+        } else if (portText.getText().trim().length() < 1) {
+            parentPage.setErrorMessage(Messages
+                    .getString("CUI_NEWCW_VALIDATE_PORT_REQ_UI_")); //$NON-NLS-1$
+            isComplete = false;
+        } else if (usernameText.getText().trim().length() < 1) {
+            parentPage.setErrorMessage(Messages
+                    .getString("CUI_NEWCW_VALIDATE_USERID_REQ_UI_")); //$NON-NLS-1$
+            isComplete = false;
+        } else if (passwordText.getText().trim().length() < 1) {
+            parentPage.setErrorMessage(Messages
+                    .getString("CUI_NEWCW_VALIDATE_PASSWORD_REQ_UI_")); //$NON-NLS-1$
+            isComplete = false;
+        } else if (!optionalPropsComposite.validateControl(parentPage)) {
+            isComplete = false;
+        } 
+
+        if (isComplete) {
+            parentPage.setErrorMessage(null);
+        }
+        return isComplete;
+    }
+
+    public Composite getContributedDriverUI(Composite parent, boolean isReadOnlyUI) {
+        if ((parentComposite == null) || parentComposite.isDisposed() || (this.isReadOnly != isReadOnlyUI)) {
+            GridData gd;
+
+            this.isReadOnly = isReadOnlyUI;
+            int additionalStyles = SWT.NONE;
+            if (isReadOnlyUI){
+                additionalStyles = SWT.READ_ONLY;
+            }
+            
+            parentComposite = new ScrolledComposite(parent, SWT.H_SCROLL
+                    | SWT.V_SCROLL);
+            parentComposite.setExpandHorizontal(true);
+            parentComposite.setExpandVertical(true);
+            parentComposite.setLayout(new GridLayout());
+
+            TabFolder tabComposite = new TabFolder(parentComposite, SWT.TOP);
+
+            // add general tab
+            TabItem generalTab = new TabItem(tabComposite, SWT.None);
+            generalTab.setText(ConnectivityUIPlugin.getDefault()
+                    .getResourceString("CommonDriverUIContributor.generaltab")); //$NON-NLS-1$
+
+            Composite baseComposite = new Composite(tabComposite, SWT.NULL);
+            GridLayout layout = new GridLayout();
+            layout.numColumns = 3;
+            baseComposite.setLayout(layout);
+            generalTab.setControl(baseComposite);
+
+            databaseLabel = new Label(baseComposite, SWT.NONE);
+            databaseLabel.setText(CUI_NEWCW_DATABASE_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            databaseLabel.setLayoutData(gd);
+
+			svcBtn = new Button( baseComposite, SWT.RADIO );
+			svcBtn.setText( "Service Name" ); // Carl NON-NLS
+			svcBtn.setSelection(true);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 1;
+    		svcBtn.setLayoutData(gd);
+
+            serviceText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 1;
+            gd.grabExcessHorizontalSpace = true;
+    		serviceText.setLayoutData(gd);
+
+            databaseText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 1;
+            gd.grabExcessHorizontalSpace = false;
+            gd.widthHint = 0;
+    		databaseText.setLayoutData(gd);
+    		databaseText.setEnabled(false);
+    		databaseText.setVisible(false);
+
+
+			sidBtn = new Button( baseComposite, SWT.RADIO );
+			sidBtn.setText( "SID" );
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 1;
+    		sidBtn.setLayoutData(gd);
+
+            sidText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 1;
+            gd.grabExcessHorizontalSpace = true;
+    		sidText.setLayoutData(gd);
+    		sidText.setEnabled(false);
+
+            urlLabel = new Label(baseComposite, SWT.NONE);
+            urlLabel.setText(CUI_NEWCW_CONNECTIONURL_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            urlLabel.setLayoutData(gd);
+
+            urlText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER
+                    | SWT.READ_ONLY);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.grabExcessHorizontalSpace = true;
+            gd.horizontalSpan = 2;
+            urlText.setLayoutData(gd);
+
+            
+            hostLabel = new Label(baseComposite, SWT.NONE);
+            hostLabel.setText(CUI_NEWCW_HOST_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            hostLabel.setLayoutData(gd);
+
+            hostText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 2;
+            gd.grabExcessHorizontalSpace = true;
+            hostText.setLayoutData(gd);
+
+            portLabel = new Label(baseComposite, SWT.NONE);
+            portLabel.setText(CUI_NEWCW_PORT_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            portLabel.setLayoutData(gd);
+
+            portText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.grabExcessHorizontalSpace = true;
+            gd.horizontalSpan = 2;
+            portText.setLayoutData(gd);
+
+            usernameLabel = new Label(baseComposite, SWT.NONE);
+            usernameLabel.setText(CUI_NEWCW_USERNAME_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            usernameLabel.setLayoutData(gd);
+
+            usernameText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.grabExcessHorizontalSpace = true;
+            gd.horizontalSpan = 2;
+            usernameText.setLayoutData(gd);
+
+            passwordLabel = new Label(baseComposite, SWT.NONE);
+            passwordLabel.setText(CUI_NEWCW_PASSWORD_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            passwordLabel.setLayoutData(gd);
+
+            passwordText = new Text(baseComposite, SWT.SINGLE | SWT.BORDER
+                    | SWT.PASSWORD | additionalStyles);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.grabExcessHorizontalSpace = true;
+            gd.horizontalSpan = 2;
+            passwordText.setLayoutData(gd);
+
+            Label label = new Label(baseComposite, SWT.NONE);
+            
+            this.savePasswordButton = new Button(baseComposite, SWT.CHECK);
+            this.savePasswordButton.setText(CUI_NEWCW_SAVE_PASSWORD_LBL_UI_);
+            gd = new GridData();
+            gd.horizontalAlignment = GridData.FILL;
+            gd.verticalAlignment = GridData.BEGINNING;
+            gd.horizontalSpan = 2;
+            gd.grabExcessHorizontalSpace = true;
+            savePasswordButton.setLayoutData(gd);
+
+            catalogLabel = new Label(baseComposite, SWT.NONE);
+            catalogLabel.setText(CATALOG_LBL_UI_);
+            gd = new GridData();
+            gd.verticalAlignment = GridData.BEGINNING;
+            catalogLabel.setLayoutData(gd);
+
+            catalogCombo = new Combo(baseComposite, SWT.SINGLE | SWT.BORDER
+                    | SWT.READ_ONLY);
+            catalogCombo.setEnabled(!isReadOnlyUI);
+            catalogCombo.add(ALL_CATALOGS);
+            catalogCombo.add(DBA_CATALOG);
+            catalogCombo.add(USER_CATALOG);
+            gd = new GridData();
+            catalogCombo.setLayoutData(gd);
+
+            // add optional properties tab
+            TabItem optionalPropsTab = new TabItem( tabComposite, SWT.None );
+            optionalPropsTab.setText( ConnectivityUIPlugin.getDefault()
+                    .getResourceString( "CommonDriverUIContributor.optionaltab" ) ); //$NON-NLS-1$
+            optionalPropsComposite = createOptionalPropertiesPane( tabComposite, SWT.NULL, isReadOnly );
+            optionalPropsTab.setControl( optionalPropsComposite );
+
+            parentComposite.setContent(tabComposite);
+            parentComposite.setMinSize(tabComposite.computeSize(SWT.DEFAULT,
+                    SWT.DEFAULT));
+
+            initialize();
+        }
+
+        return parentComposite;
+    }
+
+    private void initialize() {
+        updateURL();
+        addListeners();
+    }
+
+    private void addListeners() {
+        serviceText.addListener(SWT.Modify, this);
+        sidText.addListener(SWT.Modify, this);
+        databaseText.addListener(SWT.Modify, this);
+        hostText.addListener(SWT.Modify, this);
+        portText.addListener(SWT.Modify, this);
+        usernameText.addListener(SWT.Modify, this);
+        passwordText.addListener(SWT.Modify, this);
+        savePasswordButton.addListener(SWT.Selection, this);
+        catalogCombo.addListener(SWT.Modify, this);
+        svcBtn.addListener(SWT.Selection, this);
+        sidBtn.addListener(SWT.Selection, this);
+    }
+
+    private void removeListeners() {
+        serviceText.removeListener(SWT.Modify, this);
+        sidText.removeListener(SWT.Modify, this);
+        databaseText.removeListener(SWT.Modify, this);
+        hostText.removeListener(SWT.Modify, this);
+        portText.removeListener(SWT.Modify, this);
+        usernameText.removeListener(SWT.Modify, this);
+        passwordText.removeListener(SWT.Modify, this);
+        savePasswordButton.removeListener(SWT.Selection, this);
+        catalogCombo.removeListener(SWT.Modify, this);
+        svcBtn.removeListener(SWT.Selection, this);
+        sidBtn.removeListener(SWT.Selection, this);
+    }
+
+    protected void updateURL() {
+        String url = getURLHandle(hostText.getText().trim(), portText.getText().trim(), databaseText.getText().trim())
+                        .formatURL();
+        urlText.setText(url);
+    }
+
+    public List getSummaryData() {
+        List summaryData = new ArrayList();
+
+        summaryData.add(new String[] { CUI_NEWCW_DATABASE_SUMMARY_DATA_TEXT_,
+                this.databaseText.getText().trim() });
+        summaryData.add(new String[] { CUI_NEWCW_HOST_SUMMARY_DATA_TEXT_,
+                this.hostText.getText().trim() });
+        summaryData.add(new String[] { CUI_NEWCW_PORT_SUMMARY_DATA_TEXT_,
+                this.portText.getText().trim() });
+        summaryData.add(new String[] { CUI_NEWCW_CATALOG_SUMMARY_DATA_TEXT_,
+                this.catalogCombo.getText().trim() });
+        summaryData.add(new String[] { CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_,
+                this.usernameText.getText().trim() });
+        summaryData
+                .add(new String[] {
+                        CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_,
+                        savePasswordButton.getSelection() ? CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_
+                                : CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_ });
+        summaryData.add(new String[] { CUI_NEWCW_URL_SUMMARY_DATA_TEXT_,
+                this.urlText.getText().trim() });
+
+        return summaryData;
+    }
+
+    public void loadProperties() {
+        removeListeners();
+        OracleJDBCURL url = getURLHandle(this.properties
+                .getProperty(IJDBCDriverDefinitionConstants.URL_PROP_ID));
+        hostText.setText(url.getNode());
+        portText.setText(url.getPort());
+        databaseText.setText(url.getDatabaseName());
+
+        this.isUsingService = url.isUrlUsingService();
+		this.svcBtn.setSelection(this.isUsingService);
+		this.sidBtn.setSelection(!this.isUsingService);
+		serviceText.setText(this.isUsingService ? url.getDatabaseName() : ""); //NON-NLS-1$
+		sidText.setText(!this.isUsingService ? url.getDatabaseName() : ""); //NON-NLS-1$
+
+        String username = this.properties
+                .getProperty(IJDBCDriverDefinitionConstants.USERNAME_PROP_ID);
+        if (username != null) {
+            usernameText.setText(username);
+        }
+        String password = this.properties
+                .getProperty(IJDBCDriverDefinitionConstants.PASSWORD_PROP_ID);
+        if (password != null) {
+            passwordText.setText(password);
+        }
+        String savePassword = this.properties
+                .getProperty(IJDBCConnectionProfileConstants.SAVE_PASSWORD_PROP_ID);
+        if ((savePassword != null)
+                && Boolean.valueOf(savePassword) == Boolean.TRUE) {
+            savePasswordButton.setSelection(true);
+        }
+        String catalog = USER_CATALOG;
+        String catalogSetting = this.properties
+                .getProperty(IOracleDriverDefinitionConstants.CATALOG_TYPE_PROPERTY_ID);
+        if (catalogSetting != null && catalogSetting
+                .equals(IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_USER)) {
+            catalog = USER_CATALOG;
+        } else if (catalogSetting != null && catalogSetting
+                .equals(IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_DBA)) {
+            catalog = DBA_CATALOG;
+        } else if (catalogSetting != null && catalogSetting
+                .equals(IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_ALL)) {
+            catalog = ALL_CATALOGS;
+        }
+        catalogCombo.select(catalogCombo.indexOf(catalog));
+        
+        // load optional connection properties
+        optionalPropsComposite.loadProperties();
+
+        updateURL();
+        addListeners();
+        setConnectionInformation();
+    }
+
+    public void setDialogPage(DialogPage parentPage) {
+        this.parentPage = parentPage;
+    }
+
+    public void setDriverUIContributorInformation(
+            IDriverUIContributorInformation contributorInformation) {
+        this.contributorInformation = contributorInformation;
+        this.properties = contributorInformation.getProperties();
+        optionalPropsComposite.setDriverUIContributorInformation( contributorInformation );
+    }
+
+    public void handleEvent(Event event) {
+        if (isReadOnly){
+            if (event.widget == savePasswordButton){
+                savePasswordButton.setSelection(!savePasswordButton.getSelection());
+            }
+        } else {
+        	if (event.widget == svcBtn) {
+        		serviceText.setEnabled(true);
+        		databaseText.setText(serviceText.getText());
+        		sidText.setEnabled(false);
+        		this.isUsingService = true;
+        	}
+        	else if (event.widget == sidBtn) {
+        		serviceText.setEnabled(false);
+        		databaseText.setText(sidText.getText());
+        		sidText.setEnabled(true);
+        		this.isUsingService = false;
+        	}
+        	else if (event.widget == sidText) {
+        		databaseText.setText(sidText.getText());
+        	}
+        	else if (event.widget == serviceText) {
+        		databaseText.setText(serviceText.getText());
+        	}
+            updateURL();
+            setConnectionInformation();
+        }
+    }
+
+    private void setConnectionInformation() {
+        properties.setProperty(
+                IJDBCDriverDefinitionConstants.DATABASE_NAME_PROP_ID,
+                this.databaseText.getText().trim());
+        properties.setProperty(IJDBCDriverDefinitionConstants.PASSWORD_PROP_ID,
+                this.passwordText.getText());
+        properties.setProperty(
+                IJDBCConnectionProfileConstants.SAVE_PASSWORD_PROP_ID, String
+                        .valueOf(savePasswordButton.getSelection()));
+        properties.setProperty(IJDBCDriverDefinitionConstants.USERNAME_PROP_ID,
+                this.usernameText.getText());
+        properties.setProperty(IJDBCDriverDefinitionConstants.URL_PROP_ID,
+                this.urlText.getText().trim());
+
+        String catalog = IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_USER;
+        String catalogSetting = catalogCombo.getText();
+        if (catalogSetting.equals(USER_CATALOG)) {
+            catalog = IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_USER;
+        } else if (catalogSetting.equals(DBA_CATALOG)) {
+            catalog = IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_DBA;
+        } else if (catalogSetting.equals(ALL_CATALOGS)) {
+            catalog = IOracleDriverDefinitionConstants.CATALOG_TYPE_VALUE_ALL;
+        }
+        properties.setProperty(
+                IOracleDriverDefinitionConstants.CATALOG_TYPE_PROPERTY_ID,
+                catalog);
+        
+        optionalPropsComposite.setConnectionInformation();
+
+        this.contributorInformation.setProperties(properties);
+    }
+    
+    /**
+     * Creates an OptionalPropertiesPane.  
+     * Extenders may override to return an extended composite.
+     */
+    protected OptionalPropertiesPane createOptionalPropertiesPane( Composite parent, int style, 
+            boolean useReadOnlyControls )
+    {
+        return new OptionalPropertiesPane( parent, style, useReadOnlyControls );
+    }
+
+    /**
+     * Returns an Oracle JDBC URL handle that parses the specified JDBC URL.
+     * Extenders may override to return an extended URL handle for its own JDBC URL format.
+     * @param url   JDBC connection URL 
+     * @return  an URL handle that provides accessors for each of the attributes found in the specified URL. 
+     */
+    protected OracleJDBCURL getURLHandle( String url ) {
+        return new OracleJDBCURL( url );
+    }
+    
+    /**
+     * Returns an Oracle JDBC URL handle for the specified URL attributes.
+     * @param node  TCP/IP address or TCP/IP host name of the server to which to connect
+     * @param port  the number of the TCP/IP port.
+     * @param sid   Oracle System Identifier that refers to the instance of the Oracle database running on the server
+     * @return  an URL handle that can format an Oracle JDBC connection URL based on the specified attributes
+     */
+    protected OracleJDBCURL getURLHandle(String node, String port, String sid) {
+        return new OracleJDBCURL( node, port, sid );
+    }
+
+	/**
+	 * @return the isDialogUsingService
+	 */
+	protected boolean isDialogUsingService() {
+		return this.isUsingService;
+	}
+
+	/**
+	 * @param isDialogUsingService the isDialogUsingService to set
+	 */
+	protected void setDialogUsingService(boolean isDialogUsingService) {
+		this.isUsingService = isDialogUsingService;
+	}
+
+    /**
+     * An Oracle JDBC URL handle that formats and parses a driver-specific JDBC conection URL.
+     */
+    protected class OracleJDBCURL {
+    	protected String subprotocol = ""; //$NON-NLS-1$
+
+        protected String node = ""; //$NON-NLS-1$
+
+        protected String port = ""; //$NON-NLS-1$
+
+        protected String databaseName = ""; //$NON-NLS-1$
+
+        protected String urlProperties = ""; //$NON-NLS-1$
+
+        protected boolean isUrlUsingService = true;
+
+        private static final String URL_SEPARATOR = ":"; //$NON-NLS-1$
+
+    	protected static final String URL_ATTRIBUTE_NAME_SERVICE = "ServiceName"; //$NON-NLS-1$
+
+    	protected static final String URL_ATTRIBUTE_NAME_SID = "SID"; //$NON-NLS-1$
+
+        public OracleJDBCURL(String url) {
+            parseURL(url);
+        }
+
+        public OracleJDBCURL(String node, String port, String databaseName ) {
+            this.node = node;
+            this.port = port;
+            this.databaseName = databaseName;
+        }
+        
+        /**
+         * @return Returns the databaseName.
+         */
+        public String getDatabaseName() {
+            return databaseName;
+        }
+
+        /**
+         * @return Returns the node.
+         */
+        public String getNode() {
+            return node;
+        }
+
+        /**
+         * @return Returns the subprotocol.
+         */
+        public String getSubprotocol() {
+            return subprotocol;
+        }
+
+        /**
+         * @return Returns the port.
+         */
+        public String getPort() {
+            return port;
+        }
+
+        /**
+         * @return Returns the properties.
+         */
+        public String getProperties() {
+            return urlProperties;
+        }
+
+        /**
+         * Formats the driver URL based on values specified in 
+         * constructor {@link OracleJDBCURL(String, String, String)}.
+         */
+        protected String formatURL() {
+            String url = "jdbc:oracle:thin:@" + getNode() + URL_SEPARATOR //$NON-NLS-1$
+                        + getPort() + URL_SEPARATOR + getDatabaseName();
+            return url;
+        }        
+
+        /**
+         * Parses the specified URL string into URL attributes that can be accessed 
+         * by the corresponding getter methods.
+         */
+        protected void parseURL(String url) {
+            try {
+                String remainingURL = url.substring(url.indexOf(':') + 1);
+                this.subprotocol = remainingURL.substring(0, remainingURL
+                        .indexOf(':'));
+                remainingURL = remainingURL
+                        .substring(remainingURL.indexOf(':') + 1);
+                this.subprotocol = this.subprotocol
+                        + remainingURL.substring(0, remainingURL.indexOf(':'));
+                remainingURL = remainingURL
+                        .substring(remainingURL.indexOf(':') + 2);
+                this.node = remainingURL
+                        .substring(0, remainingURL.indexOf(':'));
+                remainingURL = remainingURL
+                        .substring(remainingURL.indexOf(':') + 1);
+
+                this.port = remainingURL
+                        .substring(0, remainingURL.indexOf(':'));
+                remainingURL = remainingURL
+                        .substring(remainingURL.indexOf(':') + 1);
+                this.databaseName = remainingURL;
+            } catch (Exception e) {
+            }
+        }
+
+		/**
+		 * @return the isUsingService
+		 */
+		protected boolean isUrlUsingService() {
+			return this.isUrlUsingService;
+		}
+
+		/**
+		 * @param isUsingService the isUsingService to set
+		 */
+		protected void setUrlUsingService(boolean isUsingService) {
+			this.isUrlUsingService = isUsingService;
+		}
+
+		protected void parseAttributes(String remainingURL) throws IOException {
+			StringReader reader = new StringReader(remainingURL);
+			Properties props = new Properties();
+			props.load(reader);
+			if (props.containsKey(URL_ATTRIBUTE_NAME_SERVICE))
+			{
+				this.databaseName = props.getProperty( URL_ATTRIBUTE_NAME_SERVICE );
+				props.remove( URL_ATTRIBUTE_NAME_SERVICE );
+				this.setUrlUsingService( true );
+			}
+			else if (props.containsKey(URL_ATTRIBUTE_NAME_SID))
+			{
+				this.databaseName = props.getProperty( URL_ATTRIBUTE_NAME_SID );
+				props.remove( URL_ATTRIBUTE_NAME_SID );
+				this.setUrlUsingService( false );
+			}
+
+			if ( !props.isEmpty() )
+			{
+				// Any database name has been removed (sid or servicename)
+				this.urlProperties = props.toString();
+			}
+		}
+
+    }
+
+}
+
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/.classpath b/plugins/org.eclipse.datatools.enablement.oracle/.classpath
new file mode 100644
index 0000000..751c8f2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/.gitignore b/plugins/org.eclipse.datatools.enablement.oracle/.gitignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/.project b/plugins/org.eclipse.datatools.enablement.oracle/.project
new file mode 100644
index 0000000..3554e3e
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.datatools.enablement.oracle</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.datatools.enablement.oracle/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..73f4382
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Fri Apr 13 14:14:14 PDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.enablement.oracle/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c2ee447
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.datatools.enablement.oracle;singleton:=true
+Bundle-Version: 1.2.1.qualifier
+Bundle-Localization: plugin
+Export-Package: org.eclipse.datatools.enablement.internal.oracle
+Require-Bundle: org.eclipse.datatools.connectivity
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %providerName
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/about.html b/plugins/org.eclipse.datatools.enablement.oracle/about.html
new file mode 100644
index 0000000..d0a7cc2
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 15, 2009</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/build.properties b/plugins/org.eclipse.datatools.enablement.oracle/build.properties
new file mode 100644
index 0000000..1717542
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/build.properties
@@ -0,0 +1,15 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               plugin.properties,\
+               icons/,\
+               about.html
+src.dir	= src/
+plugin.version =	1.0.0.200706071
+javadoc.dir =		doc/api/
+download.dir =		./download/
+javac.source =		1.4
+javac.target =		1.4
+src.includes = about.html
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/icons/jdbc_16.gif b/plugins/org.eclipse.datatools.enablement.oracle/icons/jdbc_16.gif
new file mode 100644
index 0000000..ef7809c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/icons/jdbc_16.gif
Binary files differ
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/plugin.properties b/plugins/org.eclipse.datatools.enablement.oracle/plugin.properties
new file mode 100644
index 0000000..c378540
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/plugin.properties
@@ -0,0 +1,39 @@
+###############################################################################
+# Copyright (c) 2006 - 2008 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+pluginName=Eclipse Data Tools Platform Oracle Plug-in
+providerName=Eclipse Data Tools Platform
+
+driverClass = Driver Class
+driverVendor = Vendor
+driverVersion = Version
+driverDBName = Database Name
+driverConnectionURL = Connection URL
+catalogType = Catalog
+driverUID = User ID
+driverPWD = Password
+
+ORACLE_CATEGORY_NAME = Oracle
+11_VERSION_CATEGORY_NAME = 11
+10_VERSION_CATEGORY_NAME = 10
+9_VERSION_CATEGORY_NAME = 9
+8_VERSION_CATEGORY_NAME = 8
+
+org.eclipse.datatools.enablement.oracle.11.driverTemplate = Oracle Thin Driver
+org.eclipse.datatools.enablement.oracle.10.driverTemplate = Oracle Thin Driver
+org.eclipse.datatools.enablement.oracle.9.driverTemplate = Oracle Thin Driver
+org.eclipse.datatools.enablement.oracle.8.driverTemplate = Oracle Thin Driver
+org.eclipse.datatools.enablement.oracle.11.other.driverTemplate = Other Driver
+org.eclipse.datatools.enablement.oracle.10.other.driverTemplate = Other Driver
+org.eclipse.datatools.enablement.oracle.9.other.driverTemplate = Other Driver
+org.eclipse.datatools.enablement.oracle.8.other.driverTemplate = Other Driver
+
+jdbc.connection.name = JDBC Connection
+profile.oracle.title = Oracle
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/plugin.xml b/plugins/org.eclipse.datatools.enablement.oracle/plugin.xml
new file mode 100644
index 0000000..398cd8c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/plugin.xml
@@ -0,0 +1,600 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+	<extension
+         point="org.eclipse.datatools.connectivity.connectionProfile">
+      <connectionProfile
+            category="org.eclipse.datatools.connectivity.db.category"
+            configurationType="org.eclipse.datatools.connectivity.db.generic.configurationType"
+            icon="icons/jdbc_16.gif"
+            id="org.eclipse.datatools.enablement.oracle.connectionProfile"
+            name="%profile.oracle.title"
+            pingFactory="org.eclipse.datatools.enablement.internal.oracle.JDBCOracleConnectionFactory"
+            propertiesPersistenceHook="org.eclipse.datatools.enablement.internal.oracle.OracleDBPropertiesPersistenceHook"/>
+      <connectionFactory
+            class="org.eclipse.datatools.enablement.internal.oracle.JDBCOracleConnectionFactory"
+            id="java.sql.Connection"
+            name="%jdbc.connection.name"
+            profile="org.eclipse.datatools.enablement.oracle.connectionProfile"/>
+   </extension>
+   
+	<extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+      	 <category
+      		parentCategory="org.eclipse.datatools.connectivity.db.driverCategory"
+            id="org.eclipse.datatools.enablement.oracle.driverCategory"
+            name="%ORACLE_CATEGORY_NAME"/>
+         <category
+      		parentCategory="org.eclipse.datatools.enablement.oracle.driverCategory"
+            id="org.eclipse.datatools.enablement.oracle.11.driverCategory"
+            name="%11_VERSION_CATEGORY_NAME"/>
+         <category
+      		parentCategory="org.eclipse.datatools.enablement.oracle.driverCategory"
+            id="org.eclipse.datatools.enablement.oracle.10.driverCategory"
+            name="%10_VERSION_CATEGORY_NAME"/> 
+         <category
+      		parentCategory="org.eclipse.datatools.enablement.oracle.driverCategory"
+            id="org.eclipse.datatools.enablement.oracle.9.driverCategory"
+            name="%9_VERSION_CATEGORY_NAME"/> 
+         <category
+      		parentCategory="org.eclipse.datatools.enablement.oracle.driverCategory"
+            id="org.eclipse.datatools.enablement.oracle.8.driverCategory"
+            name="%8_VERSION_CATEGORY_NAME"/> 
+    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.10.driverTemplate" 
+          jarList="ojdbc14.jar" 
+          name="%org.eclipse.datatools.enablement.oracle.10.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.10.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="oracle.jdbc.OracleDriver" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="10" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="db" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="jdbc:oracle:thin:@server:1521:db" 
+                required="true" 
+                visible="true"/> 
+           <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/>     
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.11.driverTemplate" 
+          jarList="ojdbc14.jar" 
+          name="%org.eclipse.datatools.enablement.oracle.11.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.11.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="oracle.jdbc.OracleDriver" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="11" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="db" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="jdbc:oracle:thin:@server:1521:db" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.9.driverTemplate" 
+          jarList="classes12.jar" 
+          name="%org.eclipse.datatools.enablement.oracle.9.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.9.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="oracle.jdbc.OracleDriver" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="9" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="db" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="jdbc:oracle:thin:@server:1521:db" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.8.driverTemplate" 
+          jarList="classes12.jar" 
+          name="%org.eclipse.datatools.enablement.oracle.8.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.8.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="oracle.jdbc.OracleDriver" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="8" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="db" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="jdbc:oracle:thin:@server:1521:db" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.11.other.driverTemplate" 
+          jarList="" 
+          name="%org.eclipse.datatools.enablement.oracle.11.other.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.11.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="11" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.10.other.driverTemplate" 
+          jarList="" 
+          name="%org.eclipse.datatools.enablement.oracle.10.other.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.10.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="10" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.9.other.driverTemplate" 
+          jarList="" 
+          name="%org.eclipse.datatools.enablement.oracle.9.other.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.9.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="9" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   
+   <extension
+         point="org.eclipse.datatools.connectivity.driverExtension">    
+    <driverTemplate 
+          createDefault="false" 
+          emptyJarListIsOK="false" 
+          id="org.eclipse.datatools.enablement.oracle.8.other.driverTemplate" 
+          jarList="" 
+          name="%org.eclipse.datatools.enablement.oracle.8.other.driverTemplate" 
+          parentCategory="org.eclipse.datatools.enablement.oracle.8.driverCategory" > 
+       <properties> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.driverClass" 
+                name="%driverClass" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.vendor" 
+                name="%driverVendor" 
+                value="Oracle" 
+                required="true" 
+                visible="false"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.version" 
+                name="%driverVersion" 
+                value="8" 
+                required="true" 
+                visible="false"/>   
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.databaseName" 
+                name="%driverDBName" 
+                value="" 
+                required="true" 
+                visible="true"/>                             
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.URL" 
+                name="%driverConnectionURL" 
+                value="" 
+                required="true" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.enablement.oracle.catalogType" 
+                name="%catalogType" 
+                value="USER" 
+                required="false" 
+                visible="true"/> 
+          <property 
+                generated="false" 
+                id="org.eclipse.datatools.connectivity.db.username" 
+                name="%driverUID" 
+                value="" 
+                required="false" 
+                visible="true"/> 
+          <property
+                generated="false"
+                id="org.eclipse.datatools.connectivity.db.password"
+                name="%driverPWD"
+                required="false"
+                visible="true"/> 
+       </properties> 
+    </driverTemplate> 
+   </extension>
+   <extension
+         point="org.eclipse.datatools.connectivity.sqm.core.mappings">
+      <providerIDtoDriverCategoryID
+            driverCategoryID="org.eclipse.datatools.enablement.oracle.driverCategory"
+            providerID="org.eclipse.datatools.enablement.oracle.connectionProfile">
+      </providerIDtoDriverCategoryID>
+   </extension>
+ </plugin>  
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/IOracleConnectionProfileConstants.java b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/IOracleConnectionProfileConstants.java
new file mode 100644
index 0000000..4147d4d
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/IOracleConnectionProfileConstants.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.internal.oracle;
+
+
+public interface IOracleConnectionProfileConstants {
+
+	public static final String ORACLE_CATEGORY_ID = "org.eclipse.datatools.enablement.oracle.driverCategory"; //$NON-NLS-1$
+
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/IOracleDriverDefinitionConstants.java b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/IOracleDriverDefinitionConstants.java
new file mode 100644
index 0000000..63d096f
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/IOracleDriverDefinitionConstants.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.internal.oracle;
+
+public interface IOracleDriverDefinitionConstants {
+	public static final String CATALOG_TYPE_PROPERTY_ID ="org.eclipse.datatools.enablement.oracle.catalogType"; //$NON-NLS-1$
+	public static final String CATALOG_TYPE_VALUE_ALL ="ALL"; //$NON-NLS-1$
+	public static final String CATALOG_TYPE_VALUE_DBA ="DBA"; //$NON-NLS-1$
+	public static final String CATALOG_TYPE_VALUE_USER ="USER"; //$NON-NLS-1$
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/JDBCOracleConnectionFactory.java b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/JDBCOracleConnectionFactory.java
new file mode 100644
index 0000000..e7a3423
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/JDBCOracleConnectionFactory.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.datatools.enablement.internal.oracle;
+
+import org.eclipse.datatools.connectivity.IConnection;
+import org.eclipse.datatools.connectivity.IConnectionFactory;
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+
+public class JDBCOracleConnectionFactory implements IConnectionFactory {
+
+	public JDBCOracleConnectionFactory() {
+		super();
+	}
+
+	public IConnection createConnection(IConnectionProfile profile) {
+		JDBCOracleJDBCConnection connection = new JDBCOracleJDBCConnection(profile,
+				getClass());
+		connection.open();
+		return connection;
+	}
+
+	public IConnection createConnection(IConnectionProfile profile, String uid,
+			String pwd) {
+		return createConnection(profile);
+	}
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/JDBCOracleJDBCConnection.java b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/JDBCOracleJDBCConnection.java
new file mode 100644
index 0000000..80acb99
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/JDBCOracleJDBCConnection.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.internal.oracle;
+
+import org.eclipse.datatools.connectivity.IConnectionProfile;
+import org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection;
+
+public class JDBCOracleJDBCConnection extends JDBCConnection {
+
+	public JDBCOracleJDBCConnection(IConnectionProfile profile, Class factoryClass) {
+		super(profile, factoryClass);
+	}
+}
diff --git a/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/OracleDBPropertiesPersistenceHook.java b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/OracleDBPropertiesPersistenceHook.java
new file mode 100644
index 0000000..1faa96c
--- /dev/null
+++ b/plugins/org.eclipse.datatools.enablement.oracle/src/org/eclipse/datatools/enablement/internal/oracle/OracleDBPropertiesPersistenceHook.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.datatools.enablement.internal.oracle;
+
+import org.eclipse.datatools.connectivity.drivers.jdbc.JDBCPasswordPropertyPersistenceHook;
+
+public class OracleDBPropertiesPersistenceHook extends
+		JDBCPasswordPropertyPersistenceHook {
+
+	public String getConnectionPropertiesPageID() {
+		return "org.eclipse.datatools.enablement.oracle.profileProperties"; //$NON-NLS-1$
+	}
+}
diff --git a/releng/org.eclipse.datatools.enablement.oracle.releng/maps/enablement-oracle-plugins.map b/releng/org.eclipse.datatools.enablement.oracle.releng/maps/enablement-oracle-plugins.map
new file mode 100644
index 0000000..6f72f4a
--- /dev/null
+++ b/releng/org.eclipse.datatools.enablement.oracle.releng/maps/enablement-oracle-plugins.map
@@ -0,0 +1,3 @@
+plugin@org.eclipse.datatools.enablement.oracle.dbdefinition=GIT,tag=v201206010214,repo=git://git.eclipse.org/gitroot/datatools/org.eclipse.datatools.enablement.oracle.git,path=plugins/org.eclipse.datatools.enablement.oracle.dbdefinition
+plugin@org.eclipse.datatools.enablement.oracle.ui=GIT,tag=v201201131121,repo=git://git.eclipse.org/gitroot/datatools/org.eclipse.datatools.enablement.oracle.git,path=plugins/org.eclipse.datatools.enablement.oracle.ui
+plugin@org.eclipse.datatools.enablement.oracle=GIT,tag=v201107221506,repo=git://git.eclipse.org/gitroot/datatools/org.eclipse.datatools.enablement.oracle.git,path=plugins/org.eclipse.datatools.enablement.oracle