MINI MINI MANI MO
Rem
Rem $Header: rdbms/admin/catxdbvfexp.sql /main/9 2017/05/28 22:46:04 stanaya Exp $
Rem
Rem catxdbvfexp.sql
Rem
Rem Copyright (c) 2011, 2017, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem catxdbvfexp.sql - CATalog XDB Views for Full/database EXPort (Data Pump)
Rem
Rem DESCRIPTION
Rem This script creates XDB views used for full/database export and
Rem registers these views for export, via inserts into impcalloutreg$.
Rem
Rem NOTES
Rem This script should be run at the end of XDB install or upgrade,
Rem as it assumes that XDB bootstrap XMLType schemas have been created.
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/catxdbvfexp.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/catxdbvfexp.sql
Rem SQL_PHASE: UTILITY
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem END SQL_FILE_METADATA
Rem
Rem MODIFIED (MM/DD/YY)
Rem bhammers 05/05/15 - bug 20985389, bump usrname_exp fromm 100 to 128
Rem talliu 06/28/13 - Add CDB view for DBA view
Rem qyu 03/18/13 - Common start and end scripts
Rem dgagne 09/29/11 - don't export xdb repository
Rem sdavidso 07/12/11 - change the criteria for delete from impcalloutreg
Rem spetride 05/31/11 - create table xdb$resource_export_view_tbl DDL
Rem to workaround MDAPI bug TIMEZONE in ADTs
Rem - add getUserIdOnTarget
Rem spetride 05/10/11 - Created
Rem
Rem
Rem AS OF OCTOBER 2011 THIS FILE WILL NO BE INVOKED ANYMORE
@@?/rdbms/admin/sqlsessstart.sql
SET ECHO ON
SET FEEDBACK 1
SET NUMWIDTH 10
SET LINESIZE 80
SET TRIMSPOOL ON
SET TAB OFF
SET PAGESIZE 100
/* ------------------------------------------------------------------- */
/* VIEWS, TABLES FOR EXPORT */
/* ------------------------------------------------------------------- */
prompt Creating views for exporting the XDB Repository
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* (1) relational view on top of XDB.XDB$SCHEMA */
create or replace view XDB.XDB$SCHEMA_EXPORT_VIEW(
SYS_NC_OID$,
SCHEMA_URL,
TARGET_NAMESPACE,
VERSION,
NUM_PROPS,
FINAL_DEFAULT,
BLOCK_DEFAULT,
ELEMENT_FORM_DFLT,
ATTRIBUTE_FORM_DFLT,
ELEMENTS,
SIMPLE_TYPE,
COMPLEX_TYPES,
ATTRIBUTES,
IMPORTS,
INCLUDES,
FLAGS,
SYS_XDBPD$,
ANNOTATIONS,
MAP_TO_NCHAR,
MAP_TO_LOB,
GROUPS,
ATTRGROUPS,
ID,
VARRAY_AS_TAB,
SCHEMA_OWNER,
NOTATIONS,
LANG,
ACLOID,
OWNERID)
as select
x.SYS_NC_OID$,
x.xmldata.SCHEMA_URL,
x.xmldata.TARGET_NAMESPACE,
x.xmldata.VERSION,
x.xmldata.NUM_PROPS,
x.xmldata.FINAL_DEFAULT.VALUE,
x.xmldata.BLOCK_DEFAULT.VALUE,
x.xmldata.ELEMENT_FORM_DFLT.VALUE,
x.xmldata.ATTRIBUTE_FORM_DFLT.VALUE,
x.xmldata.ELEMENTS,
x.xmldata.SIMPLE_TYPE,
x.xmldata.COMPLEX_TYPES,
x.xmldata.ATTRIBUTES,
x.xmldata.IMPORTS,
x.xmldata.INCLUDES,
x.xmldata.FLAGS,
x.xmldata.SYS_XDBPD$,
x.xmldata.ANNOTATIONS,
x.xmldata.MAP_TO_NCHAR,
x.xmldata.MAP_TO_LOB,
x.xmldata.GROUPS,
x.xmldata.ATTRGROUPS,
x.xmldata.ID,
x.xmldata.VARRAY_AS_TAB,
x.xmldata.SCHEMA_OWNER,
x.xmldata.NOTATIONS,
x.xmldata.LANG,
x.ACLOID,
x.OWNERID
from xdb.xdb$schema x
/
show errors;
grant select on XDB.XDB$SCHEMA_EXPORT_VIEW to select_catalog_role;
/* table with same signature as the view above */
create table XDB.XDB$SCHEMA_EXPORT_VIEW_TBL as select * from XDB.XDB$SCHEMA_EXPORT_VIEW where 0=1;
/* (2) relational view on top of XDB.XDB$SIMPLE_TYPE */
create or replace view xdb.xdb$simple_type_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
NAME,
ABSTRACT,
-- begin RESTRICTION
R_SYS_XDBPD$,
R_BASE_TYPE,
---- begin BASE
R_BASE_PREFIX_CODE,
R_BASE_NAME,
---- end BASE
R_LCL_SMPL_DECL,
---- begin FRACTIONDIGITS
R_FDIGIT_SYS_XDBPD$,
R_FDIGIT_A_SYS_XDBPD$,
R_FDIGIT_A_APPINFO,
R_FDIGIT_A_SYS_DOC,
R_FDIGIT_VALUE,
R_FDIGIT_FIXED,
R_FDIGIT_ID,
---- end FRACTIONDIGITS
---- begin TOTALDIGITS
R_TDIGIT_SYS_XDBPD$,
R_TDIGIT_A_SYS_XDBPD$,
R_TDIGIT_A_APPINFO,
R_TDIGIT_A_SYS_DOC,
R_TDIGIT_VALUE,
R_TDIGIT_FIXED,
R_TDIGIT_ID,
---- end TOTALDIGITS
---- begin MINLENGTH
R_MINLENGTH_SYS_XDBPD$,
R_MINLENGTH_A_SYS_XDBPD$,
R_MINLENGTH_A_APPINFO,
R_MINLENGTH_A_SYS_DOC,
R_MINLENGTH_VALUE,
R_MINLENGTH_FIXED,
R_MINLENGTH_ID,
---- end MINLENGTH
---- begin MAXLENGTH
R_MAXLENGTH_SYS_XDBPD$,
R_MAXLENGTH_A_SYS_XDBPD$,
R_MAXLENGTH_A_APPINFO,
R_MAXLENGTH_A_SYS_DOC,
R_MAXLENGTH_VALUE,
R_MAXLENGTH_FIXED,
R_MAXLENGTH_ID,
---- end MAXLENGTH
---- begin LENGTH
R_LENGTH_SYS_XDBPD$,
R_LENGTH_A_SYS_XDBPD$,
R_LENGTH_A_APPINFO,
R_LENGTH_A_SYS_DOC,
R_LENGTH_VALUE,
R_LENGTH_FIXED,
R_LENGTH_ID,
---- end LENGTH
---- begin WHITESPACE
R_WSPACE_SYS_XDBPD$,
R_WSPACE_A_SYS_XDBPD$,
R_WSPACE_A_APPINFO,
R_WSPACE_A_DOC,
R_WSPACE_VALUE,
R_WSPACE_FIXED,
R_WSPACE_ID,
---- end WHITESPACE
---- begin PERIOD
R_PERIOD_SYS_XDBPD$,
R_PERIOD_A_SYS_XDBPD$,
R_PERIOD_A_APPINFO,
R_PERIOD_A_SYS_DOC,
R_PERIOD_VALUE,
R_PERIOD_FIXED,
R_PERIOD_ID,
---- end PERIOD
---- begin DURATION
R_DURATION_SYS_XDBPD$,
R_DURATION_A_SYS_XDBPD$,
R_DURATION_A_APPINFO,
R_DURATION_A_SYS_DOC,
R_DURATION_VALUE,
R_DURATION_FIXED,
R_DURATION_ID,
---- end DURATION
---- begin MIN_INCLUSIVE
R_MIN_INCLUSIVE_SYS_XDBPD$,
R_MIN_INCLUSIVE_A_SYS_XDBPD$,
R_MIN_INCLUSIVE_A_APPINFO,
R_MIN_INCLUSIVE_A_SYS_DOC,
R_MIN_INCLUSIVE_VALUE,
R_MIN_INCLUSIVE_FIXED,
R_MIN_INCLUSIVE_ID,
---- end MIN_INCLUSIVE
---- begin MAX_INCLUSIVE
R_MAX_INCLUSIVE_SYS_XDBPD$,
R_MAX_INCLUSIVE_A_SYS_XDBPD$,
R_MAX_INCLUSIVE_A_APPINFO,
R_MAX_INCLUSIVE_A_SYS_DOC,
R_MAX_INCLUSIVE_VALUE,
R_MAX_INCLUSIVE_FIXED,
R_MAX_INCLUSIVE_ID,
---- end MAX_INCLUSIVE
---- begin MIN_EXCLUSIVE
R_MIN_EXCLUSIVE_SYS_XDBPD$,
R_MIN_EXCLUSIVE_A_SYS_XDBPD$,
R_MIN_EXCLUSIVE_A_APPINFO,
R_MIN_EXCLUSIVE_A_SYS_DOC,
R_MIN_EXCLUSIVE_VALUE,
R_MIN_EXCLUSIVE_FIXED,
R_MIN_EXCLUSIVE_ID,
---- end MIN_EXCLUSIVE
---- begin MAX_EXCLUSIVE
R_MAX_EXCLUSIVE_SYS_XDBPD$,
R_MAX_EXCLUSIVE_A_SYS_XDBPD$,
R_MAX_EXCLUSIVE_A_APPINFO,
R_MAX_EXCLUSIVE_A_SYS_DOC,
R_MAX_EXCLUSIVE_VALUE,
R_MAX_EXCLUSIVE_FIXED,
R_MAX_EXCLUSIVE_ID,
---- end MAX_EXCLUSIVE
R_PATTERN,
R_ENUMERATION,
R_A_SYS_XDBPD$,
R_A_APPINFO,
R_A_SYS_DOC,
R_ID,
-- end RESTRICTION
-- begin LIST_TYPE
L_SYS_XDBPD$,
L_A_SYS_XDBPD$,
L_A_APPINFO,
L_A_DOC,
L_ITEM_TYPE_PREFIX_CODE,
L_ITEM_TYPE_NAME,
L_TYPE_REF,
L_SIMPLE_TYPE,
-- end LIST_TYPE
-- begin UNION_TYPE
U_SYS_XDBPD$,
U_A_SYS_XDBPD$,
U_A_APPINFO,
U_A_DOC,
U_MEMBER_TYPES,
U_SIMPLE_TYPES,
U_TYPE_REFS,
-- end UNION_TYPE
-- begin ANNOTATION
-- end ANNOTATION
A_SYS_XDBPD$,
A_APPINFO,
A_DOC,
-- end ANNOTATION
ID,
TYPEID,
FINAL_INFO,
SQLTYPE
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.NAME,
x.xmldata.ABSTRACT,
-- begin RESTRICTION
x.xmldata.RESTRICTION.SYS_XDBPD$,
reftohex(x.xmldata.RESTRICTION.BASE_TYPE),
---- begin BASE
x.xmldata.RESTRICTION.BASE.PREFIX_CODE,
x.xmldata.RESTRICTION.BASE.NAME,
---- end BASE
reftohex(x.xmldata.RESTRICTION.LCL_SMPL_DECL),
---- begin FRACTIONDIGITS
x.xmldata.RESTRICTION.FRACTIONDIGITS.SYS_XDBPD$,
x.xmldata.RESTRICTION.FRACTIONDIGITS.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.FRACTIONDIGITS.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.FRACTIONDIGITS.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.FRACTIONDIGITS.VALUE,
x.xmldata.RESTRICTION.FRACTIONDIGITS.FIXED,
x.xmldata.RESTRICTION.FRACTIONDIGITS.ID,
---- end FRACTIONDIGITS
---- begin TOTALDIGITS
x.xmldata.RESTRICTION.TOTALDIGITS.SYS_XDBPD$,
x.xmldata.RESTRICTION.TOTALDIGITS.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.TOTALDIGITS.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.TOTALDIGITS.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.TOTALDIGITS.VALUE,
x.xmldata.RESTRICTION.TOTALDIGITS.FIXED,
x.xmldata.RESTRICTION.TOTALDIGITS.ID,
---- end TOTALDIGITS
---- begin MINLENGTH
x.xmldata.RESTRICTION.MINLENGTH.SYS_XDBPD$,
x.xmldata.RESTRICTION.MINLENGTH.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.MINLENGTH.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.MINLENGTH.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.MINLENGTH.VALUE,
x.xmldata.RESTRICTION.MINLENGTH.FIXED,
x.xmldata.RESTRICTION.MINLENGTH.ID,
---- end MINLENGTH
---- begin MAXLENGTH
x.xmldata.RESTRICTION.MAXLENGTH.SYS_XDBPD$,
x.xmldata.RESTRICTION.MAXLENGTH.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.MAXLENGTH.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.MAXLENGTH.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.MAXLENGTH.VALUE,
x.xmldata.RESTRICTION.MAXLENGTH.FIXED,
x.xmldata.RESTRICTION.MAXLENGTH.ID,
---- end MAXLENGTH
---- begin LENGTH
x.xmldata.RESTRICTION.LENGTH.SYS_XDBPD$,
x.xmldata.RESTRICTION.LENGTH.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.LENGTH.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.LENGTH.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.LENGTH.VALUE,
x.xmldata.RESTRICTION.LENGTH.FIXED,
x.xmldata.RESTRICTION.LENGTH.ID,
---- end LENGTH
---- begin WHITESPACE
x.xmldata.RESTRICTION.WHITESPACE.SYS_XDBPD$,
x.xmldata.RESTRICTION.WHITESPACE.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.WHITESPACE.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.WHITESPACE.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.WHITESPACE.VALUE.VALUE,
x.xmldata.RESTRICTION.WHITESPACE.FIXED,
x.xmldata.RESTRICTION.WHITESPACE.ID,
---- end WHITESPACE
---- begin PERIOD
x.xmldata.RESTRICTION.PERIOD.SYS_XDBPD$,
x.xmldata.RESTRICTION.PERIOD.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.PERIOD.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.PERIOD.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.PERIOD.VALUE,
x.xmldata.RESTRICTION.PERIOD.FIXED,
x.xmldata.RESTRICTION.PERIOD.ID,
---- end PERIOD
---- begin DURATION
x.xmldata.RESTRICTION.DURATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.DURATION.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.DURATION.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.DURATION.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.DURATION.VALUE,
x.xmldata.RESTRICTION.DURATION.FIXED,
x.xmldata.RESTRICTION.DURATION.ID,
---- end DURATION
---- begin MIN_INCLUSIVE
x.xmldata.RESTRICTION.MIN_INCLUSIVE.SYS_XDBPD$,
x.xmldata.RESTRICTION.MIN_INCLUSIVE.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.MIN_INCLUSIVE.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.MIN_INCLUSIVE.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.MIN_INCLUSIVE.VALUE,
x.xmldata.RESTRICTION.MIN_INCLUSIVE.FIXED,
x.xmldata.RESTRICTION.MIN_INCLUSIVE.ID,
---- end MIN_INCLUSIVE
---- begin MAX_INCLUSIVE
x.xmldata.RESTRICTION.MAX_INCLUSIVE.SYS_XDBPD$,
x.xmldata.RESTRICTION.MAX_INCLUSIVE.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.MAX_INCLUSIVE.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.MAX_INCLUSIVE.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.MAX_INCLUSIVE.VALUE,
x.xmldata.RESTRICTION.MAX_INCLUSIVE.FIXED,
x.xmldata.RESTRICTION.MAX_INCLUSIVE.ID,
---- end MAX_INCLUSIVE
---- begin MIN_EXCLUSIVE
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.SYS_XDBPD$,
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.VALUE,
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.FIXED,
x.xmldata.RESTRICTION.MIN_EXCLUSIVE.ID,
---- end MIN_EXCLUSIVE
---- begin MAX_EXCLUSIVE
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.SYS_XDBPD$,
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.VALUE,
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.FIXED,
x.xmldata.RESTRICTION.MAX_EXCLUSIVE.ID,
---- end MAX_EXCLUSIVE
x.xmldata.RESTRICTION.PATTERN,
x.xmldata.RESTRICTION.ENUMERATION,
x.xmldata.RESTRICTION.ANNOTATION.SYS_XDBPD$,
x.xmldata.RESTRICTION.ANNOTATION.APPINFO,
x.xmldata.RESTRICTION.ANNOTATION.DOCUMENTATION,
x.xmldata.RESTRICTION.ID,
-- end RESTRICTION
-- begin LIST_TYPE
x.xmldata.LIST_TYPE.SYS_XDBPD$,
x.xmldata.LIST_TYPE.ANNOTATION.SYS_XDBPD$,
x.xmldata.LIST_TYPE.ANNOTATION.APPINFO,
x.xmldata.LIST_TYPE.ANNOTATION.DOCUMENTATION,
x.xmldata.LIST_TYPE.ITEM_TYPE.PREFIX_CODE,
x.xmldata.LIST_TYPE.ITEM_TYPE.NAME,
reftohex(x.xmldata.LIST_TYPE.TYPE_REF),
reftohex(x.xmldata.LIST_TYPE.SIMPLE_TYPE),
-- end LIST_TYPE
-- begin UNION_TYPE
x.xmldata.UNION_TYPE.SYS_XDBPD$,
x.xmldata.UNION_TYPE.ANNOTATION.SYS_XDBPD$,
x.xmldata.UNION_TYPE.ANNOTATION.APPINFO,
x.xmldata.UNION_TYPE.ANNOTATION.DOCUMENTATION,
x.xmldata.UNION_TYPE.MEMBER_TYPES,
x.xmldata.UNION_TYPE.SIMPLE_TYPES,
x.xmldata.UNION_TYPE.TYPE_REFS,
-- end UNION_TYPE
-- begin ANNOTATION
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
-- end ANNOTATION
x.xmldata.ID,
x.xmldata.TYPEID,
x.xmldata.FINAL_INFO.VALUE,
x.xmldata.SQLTYPE
from xdb.xdb$simple_type x;
show errors;
grant select on XDB.XDB$SIMPLE_TYPE_VIEW to select_catalog_role;
create table xdb.xdb$simple_type_view_tbl as select * from xdb.xdb$simple_type_view where 0=1;
/* (3) relational view on top of XDB.XDB$COMPLEX_TYPE */
create or replace view xdb.xdb$complex_type_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
BASE_TYPE,
NAME,
ABSTRACT,
MIXED,
FINAL_INFO,
BLOCK,
ATTRIBUTES,
ANY_ATTRS,
ATTR_GROUPS,
ALL_KID,
CHOICE_KID,
SEQUENCE_KID,
GROUP_KID,
-- begin COMPLEXCONTENT
C_SYS_XDBPD$,
C_MIXED,
---- begin RESTRICTION
C_R_SYS_XDBPD$,
C_R_BASE_PREFIX_CODE,
C_R_BASE_NAME,
C_R_ATTRIBUTES,
C_R_ANY_ATTRS,
C_R_ATTR_GROUPS,
C_R_ALL_KID,
C_R_CHOICE_KID,
C_R_SEQUENCE_KID,
C_R_GROUP_KID,
C_R_A_SYS_XDBPD$,
C_R_A_APPINFO,
C_R_A_DOCUMENTATION,
C_R_ID,
---- end RESTRICTION
---- begin EXTENSION
C_E_SYS_XDBPD$,
C_E_BASE_PREFIX_CODE,
C_E_BASE_NAME,
C_E_ATTRIBUTES,
C_E_ANY_ATTRS,
C_E_ATTR_GROUPS,
C_E_ALL_KID,
C_E_CHOICE_KID,
C_E_SEQUENCE_KID,
C_E_GROUP_KID,
C_E_A_SYS_XDBPD$,
C_E_A_APPINFO,
C_E_A_DOCUMENTATION,
C_E_ID,
---- end EXTENSION
C_ANNOTATION_SYS_XDBPD$,
C_ANNOTATION_APPINFO,
C_ANNOTATION_DOCUMENTATION,
C_ID,
-- end COMPLEXCONTENT
annotation_sys_xdbpd$,
annotation_appinfo,
annotation_doc,
sqltype,
sqlschema,
maintain_dom,
subtype_refs,
id,
-- begin SIMPLECONT
s_sys_xdbpd$,
-- begin RESTRICTION
r_sys_xdbpd$,
r_base_prefix_code,
r_base_name,
r_id,
r_lcl_smpl_decl,
r_attributes,
r_any_attrs,
r_attr_groups,
r_a_sys_xdbpd$,
r_a_appinfo,
r_a_doc,
-- begin FDIGIT
r_fdigit_sys_xdbpd$,
r_fdigit_a_sys_xdbpd$,
r_fdigit_a_appinfo,
r_fdigit_a_doc,
r_fdigit_value,
r_fdigit_fixed,
r_fdigit_id,
-- end FDIGIT
-- begin TDIGIT
r_tdigit_sys_xdbpd$,
r_tdigit_a_sys_xdbpd$,
r_tdigit_a_appinfo,
r_tdigit_a_doc,
r_tdigit_value,
r_tdigit_fixed,
r_tdigit_id,
-- end TDIGIT
-- begin MINLENGTH
r_minlength_sys_xdbpd$,
r_minlength_a_sys_xdbpd$,
r_minlength_a_appinfo,
r_minlength_a_doc,
r_minlength_value,
r_minlength_fixed,
r_minlength_id,
-- end MINLENGTH
-- begin MAXLENGTH
r_maxlength_sys_xdbpd$,
r_maxlength_a_sys_xdbpd$,
r_maxlength_a_appinfo,
r_maxlength_a_doc,
r_maxlength_value,
r_maxlength_fixed,
r_maxlength_id,
-- end MAXLENGTH
-- begin WHITESPACE
r_wspace_sys_xdbpd$,
r_wspace_a_sys_xdbpd$,
r_wspace_a_appinfo,
r_wspace_a_doc,
r_wspace_value,
r_wspace_fixed,
r_wspace_id,
-- end WHISTESPACE
-- begin PERIOD
r_period_sys_xdbpd$,
r_period_a_sys_xdbpd$,
r_period_a_appinfo,
r_period_a_doc,
r_period_value,
r_period_fixed,
r_period_id,
-- end PERIOD
-- begin DURATION
r_duration_sys_xdbpd$,
r_duration_a_sys_xdbpd$,
r_duration_a_appinfo,
r_duration_a_doc,
r_duration_value,
r_duration_fixed,
r_duration_id,
-- end DURATION
-- begin MIN_INCLUSIVE
r_min_i_sys_xdbpd$,
r_min_i_a_sys_xdbpd$,
r_min_i_a_appinfo,
r_min_i_a_doc,
r_min_i_value,
r_min_i_fixed,
r_min_i_id,
-- end MIN_INCLUSIVE
-- begin MAX_INCLUSIVE
r_max_i_sys_xdbpd$,
r_max_i_a_sys_xdbpd$,
r_max_i_a_appinfo,
r_max_i_a_doc,
r_max_i_value,
r_max_i_fixed,
r_max_i_id,
-- end MAX_INCLUSIVE
s_pattern,
s_enumeration,
-- begin MIN_EXCLUSIVE
r_min_e_sys_xdbpd$,
r_min_e_a_sys_xdbpd$,
r_min_e_a_appinfo,
r_min_e_a_doc,
r_min_e_value,
r_min_e_fixed,
r_min_e_id,
-- end MIN_EXCLUSIVE
-- begin MAX_EXCLUSIVE
r_max_e_sys_xdbpd$,
r_max_e_a_sys_xdbpd$,
r_max_e_a_appinfo,
r_max_e_a_doc,
r_max_e_value,
r_max_e_fixed,
r_max_e_id,
-- end MAX_EXCLUSIVE
-- begin LENGTH
r_length_sys_xdbpd$,
r_length_a_sys_xdbpd$,
r_length_a_appinfo,
r_length_a_doc,
r_length_value,
r_length_fixed,
r_length_id,
-- end LENGTH
-- end RESTRICTION
-- begin EXTENSION
s_e_sys_xdbpd$,
s_e_base_prefix_code,
s_e_base_name,
s_e_id,
s_e_attributes,
s_e_any_attrs,
s_e_attr_groups,
s_e_a_sys_xdbpd$,
s_e_a_appinfo,
s_e_a_doc,
-- end EXTENSION
s_a_sys_xdbpd$,
s_a_appinfo,
s_a_doc,
s_id,
-- end SIMPLECONT
typeid
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
reftohex(x.xmldata.BASE_TYPE),
x.xmldata.NAME,
x.xmldata.ABSTRACT,
x.xmldata.MIXED,
x.xmldata.FINAL_INFO.VALUE,
x.xmldata.BLOCK.VALUE,
x.xmldata.ATTRIBUTES,
x.xmldata.ANY_ATTRS,
x.xmldata.ATTR_GROUPS,
reftohex(x.xmldata.ALL_KID),
reftohex(x.xmldata.CHOICE_KID),
reftohex(x.xmldata.SEQUENCE_KID),
reftohex(x.xmldata.GROUP_KID),
-- begin COMPLEXCONTENT
x.xmldata.COMPLEXCONTENT.SYS_XDBPD$,
x.xmldata.COMPLEXCONTENT.MIXED,
---- begin RESTRICTION
x.xmldata.COMPLEXCONTENT.RESTRICTION.SYS_XDBPD$,
x.xmldata.COMPLEXCONTENT.RESTRICTION.BASE.PREFIX_CODE,
x.xmldata.COMPLEXCONTENT.RESTRICTION.BASE.NAME,
x.xmldata.COMPLEXCONTENT.RESTRICTION.ATTRIBUTES,
x.xmldata.COMPLEXCONTENT.RESTRICTION.ANY_ATTRS,
x.xmldata.COMPLEXCONTENT.RESTRICTION.ATTR_GROUPS,
reftohex(x.xmldata.COMPLEXCONTENT.RESTRICTION.ALL_KID),
reftohex(x.xmldata.COMPLEXCONTENT.RESTRICTION.CHOICE_KID),
reftohex(x.xmldata.COMPLEXCONTENT.RESTRICTION.SEQUENCE_KID),
reftohex(x.xmldata.COMPLEXCONTENT.RESTRICTION.GROUP_KID),
x.xmldata.COMPLEXCONTENT.RESTRICTION.ANNOTATION.SYS_XDBPD$,
x.xmldata.COMPLEXCONTENT.RESTRICTION.ANNOTATION.APPINFO,
x.xmldata.COMPLEXCONTENT.RESTRICTION.ANNOTATION.DOCUMENTATION,
x.xmldata.COMPLEXCONTENT.RESTRICTION.ID,
---- end RESTRICTION
---- begin EXTENSION
x.xmldata.COMPLEXCONTENT.EXTENSION.SYS_XDBPD$,
x.xmldata.COMPLEXCONTENT.EXTENSION.BASE.PREFIX_CODE,
x.xmldata.COMPLEXCONTENT.EXTENSION.BASE.NAME,
x.xmldata.COMPLEXCONTENT.EXTENSION.ATTRIBUTES,
x.xmldata.COMPLEXCONTENT.EXTENSION.ANY_ATTRS,
x.xmldata.COMPLEXCONTENT.EXTENSION.ATTR_GROUPS,
reftohex(x.xmldata.COMPLEXCONTENT.EXTENSION.ALL_KID),
reftohex(x.xmldata.COMPLEXCONTENT.EXTENSION.CHOICE_KID),
reftohex(x.xmldata.COMPLEXCONTENT.EXTENSION.SEQUENCE_KID),
reftohex(x.xmldata.COMPLEXCONTENT.EXTENSION.GROUP_KID),
x.xmldata.COMPLEXCONTENT.EXTENSION.ANNOTATION.SYS_XDBPD$,
x.xmldata.COMPLEXCONTENT.EXTENSION.ANNOTATION.APPINFO,
x.xmldata.COMPLEXCONTENT.EXTENSION.ANNOTATION.DOCUMENTATION,
x.xmldata.COMPLEXCONTENT.EXTENSION.ID,
---- end EXTENSION
x.xmldata.COMPLEXCONTENT.ANNOTATION.SYS_XDBPD$,
x.xmldata.COMPLEXCONTENT.ANNOTATION.APPINFO,
x.xmldata.COMPLEXCONTENT.ANNOTATION.DOCUMENTATION,
x.xmldata.COMPLEXCONTENT.ID,
-- end COMPLEXCONTENT
x.xmldata.annotation.sys_xdbpd$,
x.xmldata.annotation.appinfo,
x.xmldata.annotation.documentation,
x.xmldata.sqltype,
x.xmldata.sqlschema,
x.xmldata.maintain_dom,
x.xmldata.subtype_refs,
x.xmldata.id,
-- begin SIMPLECONT
x.xmldata.SIMPLECONT.sys_xdbpd$,
-- begin RESTRICTION
x.xmldata.SIMPLECONT.RESTRICTION.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.base.prefix_code,
x.xmldata.SIMPLECONT.RESTRICTION.base.name,
x.xmldata.SIMPLECONT.RESTRICTION.id,
reftohex(x.xmldata.SIMPLECONT.RESTRICTION.lcl_smpl_decl),
x.xmldata.SIMPLECONT.RESTRICTION.attributes,
x.xmldata.SIMPLECONT.RESTRICTION.any_attrs,
x.xmldata.SIMPLECONT.RESTRICTION.attr_groups,
x.xmldata.SIMPLECONT.RESTRICTION.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.annotation.documentation,
-- begin FDIGIT
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.value,
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.fractiondigits.id,
-- end FDIGIT
-- begin TDIGIT
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.value,
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.totaldigits.id,
-- end TDIGIT
-- begin MINLENGTH
x.xmldata.SIMPLECONT.RESTRICTION.minlength.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.minlength.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.minlength.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.minlength.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.minlength.value,
x.xmldata.SIMPLECONT.RESTRICTION.minlength.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.minlength.id,
-- end MINLENGTH
-- begin MAXLENGTH
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.value,
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.maxlength.id,
-- end MAXLENGTH
-- begin WHITESPACE
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.value.value,
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.whitespace.id,
-- end WHISTESPACE
-- begin PERIOD
x.xmldata.SIMPLECONT.RESTRICTION.period.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.period.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.period.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.period.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.period.value,
x.xmldata.SIMPLECONT.RESTRICTION.period.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.period.id,
-- end PERIOD
-- begin DURATION
x.xmldata.SIMPLECONT.RESTRICTION.duration.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.duration.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.duration.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.duration.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.duration.value,
x.xmldata.SIMPLECONT.RESTRICTION.duration.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.duration.id,
-- end DURATION
-- begin MIN_INCLUSIVE
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.value,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.id,
-- end MIN_INCLUSIVE
-- begin MAX_INCLUSIVE
x.xmldata.SIMPLECONT.RESTRICTION.max_inclusive.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.max_inclusive.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.max_inclusive.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.max_inclusive.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.max_inclusive.value,
x.xmldata.SIMPLECONT.RESTRICTION.min_inclusive.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.max_inclusive.id,
-- end MAX_INCLUSIVE
x.xmldata.SIMPLECONT.RESTRICTION.pattern,
x.xmldata.SIMPLECONT.RESTRICTION.enumeration,
-- begin MIN_EXCLUSIVE
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.value,
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.min_exclusive.id,
-- end MIN_EXCLUSIVE
-- begin MAX_EXCLUSIVE
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.value,
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.max_exclusive.id,
-- end MAX_EXCLUSIVE
-- begin LENGTH
x.xmldata.SIMPLECONT.RESTRICTION.length.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.length.annotation.sys_xdbpd$,
x.xmldata.SIMPLECONT.RESTRICTION.length.annotation.appinfo,
x.xmldata.SIMPLECONT.RESTRICTION.length.annotation.documentation,
x.xmldata.SIMPLECONT.RESTRICTION.length.value,
x.xmldata.SIMPLECONT.RESTRICTION.length.fixed,
x.xmldata.SIMPLECONT.RESTRICTION.length.id,
-- end LENGTH
-- end RESTRICTION
-- begin EXTENSION
x.xmldata.SIMPLECONT.EXTENSION.sys_xdbpd$,
x.xmldata.SIMPLECONT.EXTENSION.base.prefix_code,
x.xmldata.SIMPLECONT.EXTENSION.base.name,
x.xmldata.SIMPLECONT.EXTENSION.id,
x.xmldata.SIMPLECONT.EXTENSION.attributes,
x.xmldata.SIMPLECONT.EXTENSION.any_attrs,
x.xmldata.SIMPLECONT.EXTENSION.attr_groups,
x.xmldata.SIMPLECONT.EXTENSION.ANNOTATION.sys_xdbpd$,
x.xmldata.SIMPLECONT.EXTENSION.ANNOTATION.appinfo,
x.xmldata.SIMPLECONT.EXTENSION.ANNOTATION.documentation,
-- end EXTENSION
x.xmldata.SIMPLECONT.ANNOTATION.sys_xdbpd$,
x.xmldata.SIMPLECONT.ANNOTATION.appinfo,
x.xmldata.SIMPLECONT.ANNOTATION.documentation,
x.xmldata.SIMPLECONT.id,
-- end SIMPLECONT
x.xmldata.typeid
from xdb.xdb$complex_type x;
show errors;
grant select on XDB.XDB$COMPLEX_TYPE_VIEW to select_catalog_role;
create table xdb.xdb$complex_type_view_tbl as select * from xdb.xdb$complex_type_view where 0=1;
/* (4) relational view on top of XDB.XDB$ALL_MODEL */
create or replace view xdb.xdb$all_model_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
MIN_OCCURS,
MAX_OCCURS,
ELEMENTS,
CHOICE_KIDS,
SEQUENCE_KIDS,
ANYS,
GROUPS,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.MIN_OCCURS,
x.xmldata.MAX_OCCURS,
x.xmldata.ELEMENTS,
x.xmldata.CHOICE_KIDS,
x.xmldata.SEQUENCE_KIDS,
x.xmldata.ANYS,
x.xmldata.GROUPS,
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$all_model x;
show errors;
grant select on XDB.XDB$ALL_MODEL_VIEW to select_catalog_role;
create table xdb.xdb$all_model_view_tbl as select * from xdb.xdb$all_model_view where 0=1;
/* (5) relational view on top of XDB.XDB$CHOICE_MODEL */
create or replace view xdb.xdb$choice_model_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
MIN_OCCURS,
MAX_OCCURS,
ELEMENTS,
CHOICE_KIDS,
SEQUENCE_KIDS,
ANYS,
GROUPS,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.MIN_OCCURS,
x.xmldata.MAX_OCCURS,
x.xmldata.ELEMENTS,
x.xmldata.CHOICE_KIDS,
x.xmldata.SEQUENCE_KIDS,
x.xmldata.ANYS,
x.xmldata.GROUPS,
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$choice_model x;
show errors;
grant select on XDB.XDB$CHOICE_MODEL_VIEW to select_catalog_role;
create table xdb.xdb$choice_model_view_tbl as select * from xdb.xdb$choice_model_view where 0=1;
/* (6) relational view on top of XDB.XDB$SEQUENCE_MODEL */
create or replace view xdb.xdb$sequence_model_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
MIN_OCCURS,
MAX_OCCURS,
ELEMENTS,
CHOICE_KIDS,
SEQUENCE_KIDS,
ANYS,
GROUPS,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.MIN_OCCURS,
x.xmldata.MAX_OCCURS,
x.xmldata.ELEMENTS,
x.xmldata.CHOICE_KIDS,
x.xmldata.SEQUENCE_KIDS,
x.xmldata.ANYS,
x.xmldata.GROUPS,
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$sequence_model x;
show errors;
grant select on XDB.XDB$SEQUENCE_MODEL_VIEW to select_catalog_role;
create table xdb.xdb$sequence_model_view_tbl as select * from xdb.xdb$sequence_model_view where 0=1;
/* (7) relational view on top of XDB.XDB$GROUP_DEF */
create or replace view xdb.xdb$group_def_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
NAME,
ALL_KID,
CHOICE_KID,
SEQUENCE_KID,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.NAME,
reftohex(x.xmldata.ALL_KID),
reftohex(x.xmldata.CHOICE_KID),
reftohex(x.xmldata.SEQUENCE_KID),
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$group_def x;
show errors;
grant select on XDB.XDB$GROUP_DEF_VIEW to select_catalog_role;
create table xdb.xdb$group_def_view_tbl as select * from xdb.xdb$group_def_view where 0=1;
/* (8) relational view on top of XDB.XDB$GROUP_REF */
create or replace view xdb.xdb$group_ref_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
MIN_OCCURS,
MAX_OCCURS,
G_PREFIX_CODE,
G_NAME,
GROUPREF_REF,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.MIN_OCCURS,
x.xmldata.MAX_OCCURS,
x.xmldata.GROUPREF_NAME.PREFIX_CODE,
x.xmldata.GROUPREF_NAME.NAME,
reftohex(x.xmldata.GROUPREF_REF),
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$group_ref x;
show errors;
grant select on XDB.XDB$GROUP_REF_VIEW to select_catalog_role;
create table xdb.xdb$group_ref_view_tbl as select * from xdb.xdb$group_ref_view where 0=1;
/* (9) relational view on top of XDB.XDB$ATTRIBUTE */
create or replace view xdb.xdb$attribute_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
PROP_NUMBER,
NAME,
TYPENAME_PREFIX_CODE,
TYPENAME_NAME,
MEM_BYTE_LENGTH,
MEM_TYPE_CODE,
SYSTEM,
MUTABLE,
FORM,
SQLNAME,
SQLTYPE,
SQLSCHEMA,
JAVA_TYPE,
DEFAULT_VALUE,
SMPL_TYPE_DECL ,
TYPE_REF,
PROPREF_NAME_PREFIX_CODE,
PROPREF_NAME_NAME,
PROPREF_REF,
ATTR_USE,
FIXED_VALUE,
GLOBAL,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
SQLCOLLTYPE,
SQLCOLLSCHEMA,
HIDDEN,
TRANSIENT,
ID,
BASEPROP
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.PROP_NUMBER,
x.xmldata.NAME,
x.xmldata.TYPENAME.PREFIX_CODE,
x.xmldata.TYPENAME.NAME,
x.xmldata.MEM_BYTE_LENGTH,
x.xmldata.MEM_TYPE_CODE,
x.xmldata.SYSTEM,
x.xmldata.MUTABLE,
x.xmldata.FORM.VALUE,
x.xmldata.SQLNAME,
x.xmldata.SQLTYPE,
x.xmldata.SQLSCHEMA,
x.xmldata.JAVA_TYPE.VALUE,
x.xmldata.DEFAULT_VALUE,
reftohex(x.xmldata.SMPL_TYPE_DECL),
reftohex(x.xmldata.TYPE_REF),
x.xmldata.PROPREF_NAME.PREFIX_CODE,
x.xmldata.PROPREF_NAME.NAME,
reftohex(x.xmldata.PROPREF_REF),
x.xmldata.ATTR_USE.VALUE,
x.xmldata.FIXED_VALUE,
x.xmldata.GLOBAL,
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.SQLCOLLTYPE,
x.xmldata.SQLCOLLSCHEMA,
x.xmldata.HIDDEN,
x.xmldata.TRANSIENT.VALUE,
x.xmldata.ID,
x.xmldata.BASEPROP
from xdb.xdb$attribute x;
show errors;
grant select on XDB.XDB$ATTRIBUTE_VIEW to select_catalog_role;
create table xdb.xdb$attribute_view_tbl as select * from xdb.xdb$attribute_view where 0=1;
/* (10) relational view on top of XDB.XDB$ELEMENT */
create or replace view xdb.xdb$element_view
(
SYS_NC_OID$,
-- begin PROPERTY
P_SYS_XDBPD$,
P_PARENT_SCHEMA,
P_PROP_NUMBER,
P_NAME,
P_TYPENAME_PREFIX_CODE,
P_TYPENAME_NAME,
P_MEM_BYTE_LENGTH,
P_MEM_TYPE_CODE,
P_SYSTEM,
P_MUTABLE,
P_FORM,
P_SQLNAME,
P_SQLTYPE,
P_SQLSCHEMA,
P_JAVA_TYPE,
P_DEFAULT_VALUE,
P_SMPL_TYPE_DECL ,
P_TYPE_REF,
P_PROPREF_NAME_PREFIX_CODE,
P_PROPREF_NAME_NAME,
P_PROPREF_REF,
P_ATTR_USE,
P_FIXED_VALUE,
P_GLOBAL,
P_A_SYS_XDBPD$,
P_A_APPINFO,
P_A_DOCUMENTATION,
P_SQLCOLLTYPE,
P_SQLCOLLSCHEMA,
P_HIDDEN,
P_TRANSIENT,
P_ID,
P_BASEPROP,
-- end PROPERTY
SUBS_GROUP_PREFIX_CODE,
SUBS_GROUP_NAME,
NUM_COLS,
NILLABLE,
FINAL_INFO,
BLOCK,
ABSTRACT,
MEM_INLINE,
SQL_INLINE,
JAVA_INLINE,
MAINTAIN_DOM,
DEFAULT_TABLE,
DEFAULT_TABLE_SCHEMA,
TABLE_PROPS,
JAVA_CLASSNAME ,
BEAN_CLASSNAME ,
BASE_SQLNAME,
CPLX_TYPE_DECL,
SUBS_GROUP_REFS,
DEFAULT_XSL,
MIN_OCCURS,
MAX_OCCURS,
IS_FOLDER,
MAINTAIN_ORDER,
COL_PROPS,
DEFAULT_ACL,
HEAD_ELEM_REF,
UNIQUES,
KEYS,
KEYREFS,
IS_TRANSLATABLE,
XDB_MAX_OCCURS
)
as select
x.sys_nc_oid$,
-- begin PROPERTY
x.xmldata.PROPERTY.SYS_XDBPD$,
reftohex(x.xmldata.PROPERTY.PARENT_SCHEMA),
x.xmldata.PROPERTY.PROP_NUMBER,
x.xmldata.PROPERTY.NAME,
x.xmldata.PROPERTY.TYPENAME.PREFIX_CODE,
x.xmldata.PROPERTY.TYPENAME.NAME,
x.xmldata.PROPERTY.MEM_BYTE_LENGTH,
x.xmldata.PROPERTY.MEM_TYPE_CODE,
x.xmldata.PROPERTY.SYSTEM,
x.xmldata.PROPERTY.MUTABLE,
x.xmldata.PROPERTY.FORM.VALUE,
x.xmldata.PROPERTY.SQLNAME,
x.xmldata.PROPERTY.SQLTYPE,
x.xmldata.PROPERTY.SQLSCHEMA,
x.xmldata.PROPERTY.JAVA_TYPE.VALUE,
x.xmldata.PROPERTY.DEFAULT_VALUE,
reftohex(x.xmldata.PROPERTY.SMPL_TYPE_DECL),
reftohex(x.xmldata.PROPERTY.TYPE_REF),
x.xmldata.PROPERTY.PROPREF_NAME.PREFIX_CODE,
x.xmldata.PROPERTY.PROPREF_NAME.NAME,
reftohex(x.xmldata.PROPERTY.PROPREF_REF),
x.xmldata.PROPERTY.ATTR_USE.VALUE,
x.xmldata.PROPERTY.FIXED_VALUE,
x.xmldata.PROPERTY.GLOBAL,
x.xmldata.PROPERTY.ANNOTATION.SYS_XDBPD$,
x.xmldata.PROPERTY.ANNOTATION.APPINFO,
x.xmldata.PROPERTY.ANNOTATION.DOCUMENTATION,
x.xmldata.PROPERTY.SQLCOLLTYPE,
x.xmldata.PROPERTY.SQLCOLLSCHEMA,
x.xmldata.PROPERTY.HIDDEN,
x.xmldata.PROPERTY.TRANSIENT.VALUE,
x.xmldata.PROPERTY.ID,
x.xmldata.PROPERTY.BASEPROP,
-- end PROPERTY
x.xmldata.SUBS_GROUP.PREFIX_CODE,
x.xmldata.SUBS_GROUP.NAME,
x.xmldata.NUM_COLS,
x.xmldata.NILLABLE,
x.xmldata.FINAL_INFO.VALUE,
x.xmldata.BLOCK.VALUE,
x.xmldata.ABSTRACT,
x.xmldata.MEM_INLINE,
x.xmldata.SQL_INLINE,
x.xmldata.JAVA_INLINE,
x.xmldata.MAINTAIN_DOM,
x.xmldata.DEFAULT_TABLE,
x.xmldata.DEFAULT_TABLE_SCHEMA,
x.xmldata.TABLE_PROPS,
x.xmldata.JAVA_CLASSNAME ,
x.xmldata.BEAN_CLASSNAME ,
x.xmldata.BASE_SQLNAME,
reftohex(x.xmldata.CPLX_TYPE_DECL),
x.xmldata.SUBS_GROUP_REFS,
x.xmldata.DEFAULT_XSL,
x.xmldata.MIN_OCCURS,
x.xmldata.MAX_OCCURS,
x.xmldata.IS_FOLDER,
x.xmldata.MAINTAIN_ORDER,
x.xmldata.COL_PROPS,
x.xmldata.DEFAULT_ACL,
reftohex(x.xmldata.HEAD_ELEM_REF),
x.xmldata.UNIQUES,
x.xmldata.KEYS,
x.xmldata.KEYREFS,
x.xmldata.IS_TRANSLATABLE,
x.xmldata.XDB_MAX_OCCURS
from xdb.xdb$element x;
show errors;
grant select on XDB.XDB$ELEMENT_VIEW to select_catalog_role;
create table xdb.xdb$element_view_tbl as select * from xdb.xdb$element_view where 0=1;
/* (11) relational view on top of XDB.XDB$ANY */
create or replace view xdb.xdb$any_view
(
SYS_NC_OID$,
-- begin PROPERTY
P_SYS_XDBPD$,
P_PARENT_SCHEMA,
P_PROP_NUMBER,
P_NAME,
P_TYPENAME_PREFIX_CODE,
P_TYPENAME_NAME,
P_MEM_BYTE_LENGTH,
P_MEM_TYPE_CODE,
P_SYSTEM,
P_MUTABLE,
P_FORM,
P_SQLNAME,
P_SQLTYPE,
P_SQLSCHEMA,
P_JAVA_TYPE,
P_DEFAULT_VALUE,
P_SMPL_TYPE_DECL ,
P_TYPE_REF,
P_PROPREF_NAME_PREFIX_CODE,
P_PROPREF_NAME_NAME,
P_PROPREF_REF,
P_ATTR_USE,
P_FIXED_VALUE,
P_GLOBAL,
P_A_SYS_XDBPD$,
P_A_APPINFO,
P_A_DOCUMENTATION,
P_SQLCOLLTYPE,
P_SQLCOLLSCHEMA,
P_HIDDEN,
P_TRANSIENT,
P_ID,
P_BASEPROP,
-- end PROPERTY
namespace,
process_contents,
min_occurs,
max_occurs
)
as select
x.sys_nc_oid$,
-- begin PROPERTY
x.xmldata.property.SYS_XDBPD$,
reftohex(x.xmldata.property.PARENT_SCHEMA),
x.xmldata.property.PROP_NUMBER,
x.xmldata.property.NAME,
x.xmldata.property.TYPENAME.PREFIX_CODE,
x.xmldata.property.TYPENAME.NAME,
x.xmldata.property.MEM_BYTE_LENGTH,
x.xmldata.property.MEM_TYPE_CODE,
x.xmldata.property.SYSTEM,
x.xmldata.property.MUTABLE,
x.xmldata.property.FORM.VALUE,
x.xmldata.property.SQLNAME,
x.xmldata.property.SQLTYPE,
x.xmldata.property.SQLSCHEMA,
x.xmldata.property.JAVA_TYPE.VALUE,
x.xmldata.property.DEFAULT_VALUE,
reftohex(x.xmldata.property.SMPL_TYPE_DECL),
reftohex(x.xmldata.property.TYPE_REF),
x.xmldata.property.PROPREF_NAME.PREFIX_CODE,
x.xmldata.property.PROPREF_NAME.NAME,
reftohex(x.xmldata.property.PROPREF_REF),
x.xmldata.property.ATTR_USE.VALUE,
x.xmldata.property.FIXED_VALUE,
x.xmldata.property.GLOBAL,
x.xmldata.property.ANNOTATION.SYS_XDBPD$,
x.xmldata.property.ANNOTATION.APPINFO,
x.xmldata.property.ANNOTATION.DOCUMENTATION,
x.xmldata.property.SQLCOLLTYPE,
x.xmldata.property.SQLCOLLSCHEMA,
x.xmldata.property.HIDDEN,
x.xmldata.property.TRANSIENT.VALUE,
x.xmldata.property.ID,
x.xmldata.property.BASEPROP,
-- end PROPERTY
x.xmldata.namespace,
x.xmldata.process_contents.value,
x.xmldata.min_occurs,
x.xmldata.max_occurs
from xdb.xdb$any x;
show errors;
grant select on XDB.XDB$ANY_VIEW to select_catalog_role;
create table xdb.xdb$any_view_tbl as select * from xdb.xdb$any_view where 0=1;
/* (12) relational view on top of XDB.XDB$ANYATTR */
create or replace view xdb.xdb$anyattr_view
(
SYS_NC_OID$,
-- begin PROPERTY
P_SYS_XDBPD$,
P_PARENT_SCHEMA,
P_PROP_NUMBER,
P_NAME,
P_TYPENAME_PREFIX_CODE,
P_TYPENAME_NAME,
P_MEM_BYTE_LENGTH,
P_MEM_TYPE_CODE,
P_SYSTEM,
P_MUTABLE,
P_FORM,
P_SQLNAME,
P_SQLTYPE,
P_SQLSCHEMA,
P_JAVA_TYPE,
P_DEFAULT_VALUE,
P_SMPL_TYPE_DECL ,
P_TYPE_REF,
P_PROPREF_NAME_PREFIX_CODE,
P_PROPREF_NAME_NAME,
P_PROPREF_REF,
P_ATTR_USE,
P_FIXED_VALUE,
P_GLOBAL,
P_A_SYS_XDBPD$,
P_A_APPINFO,
P_A_DOCUMENTATION,
P_SQLCOLLTYPE,
P_SQLCOLLSCHEMA,
P_HIDDEN,
P_TRANSIENT,
P_ID,
P_BASEPROP,
-- end PROPERTY
namespace,
process_contents,
min_occurs,
max_occurs
)
as select
x.sys_nc_oid$,
-- begin PROPERTY
x.xmldata.property.SYS_XDBPD$,
reftohex(x.xmldata.property.PARENT_SCHEMA),
x.xmldata.property.PROP_NUMBER,
x.xmldata.property.NAME,
x.xmldata.property.TYPENAME.PREFIX_CODE,
x.xmldata.property.TYPENAME.NAME,
x.xmldata.property.MEM_BYTE_LENGTH,
x.xmldata.property.MEM_TYPE_CODE,
x.xmldata.property.SYSTEM,
x.xmldata.property.MUTABLE,
x.xmldata.property.FORM.VALUE,
x.xmldata.property.SQLNAME,
x.xmldata.property.SQLTYPE,
x.xmldata.property.SQLSCHEMA,
x.xmldata.property.JAVA_TYPE.VALUE,
x.xmldata.property.DEFAULT_VALUE,
reftohex(x.xmldata.property.SMPL_TYPE_DECL),
reftohex(x.xmldata.property.TYPE_REF),
x.xmldata.property.PROPREF_NAME.PREFIX_CODE,
x.xmldata.property.PROPREF_NAME.NAME,
reftohex(x.xmldata.property.PROPREF_REF),
x.xmldata.property.ATTR_USE.VALUE,
x.xmldata.property.FIXED_VALUE,
x.xmldata.property.GLOBAL,
x.xmldata.property.ANNOTATION.SYS_XDBPD$,
x.xmldata.property.ANNOTATION.APPINFO,
x.xmldata.property.ANNOTATION.DOCUMENTATION,
x.xmldata.property.SQLCOLLTYPE,
x.xmldata.property.SQLCOLLSCHEMA,
x.xmldata.property.HIDDEN,
x.xmldata.property.TRANSIENT.VALUE,
x.xmldata.property.ID,
x.xmldata.property.BASEPROP,
-- end PROPERTY
x.xmldata.namespace,
x.xmldata.process_contents.value,
x.xmldata.min_occurs,
x.xmldata.max_occurs
from xdb.xdb$anyattr x;
show errors;
grant select on XDB.XDB$ANYATTR_VIEW to select_catalog_role;
create table xdb.xdb$anyattr_view_tbl as select * from xdb.xdb$anyattr_view where 0=1;
/* (13) relational view on top of XDB.XDB$ATTRGROUP_DEF */
create or replace view xdb.xdb$attrgroup_def_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
NAME,
attributes,
any_attrs,
attr_groups,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.NAME,
x.xmldata.ATTRIBUTES,
x.xmldata.ANY_ATTRS,
x.xmldata.ATTR_GROUPS,
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$attrgroup_def x;
show errors;
grant select on XDB.XDB$ATTRGROUP_DEF_VIEW to select_catalog_role;
create table xdb.xdb$attrgroup_def_view_tbl as select * from xdb.xdb$attrgroup_def_view where 0=1;
/* (14) relational view on top of XDB.XDB$ATTRGROUP_REF */
create or replace view xdb.xdb$attrgroup_ref_view
(
SYS_NC_OID$,
SYS_XDBPD$,
PARENT_SCHEMA,
ATTRGROUP_NAME_CODE,
ATTRGROUP_NAME_NAME,
ATTRGROUP_REF,
A_SYS_XDBPD$,
A_APPINFO,
A_DOCUMENTATION,
ID
)
as select
x.sys_nc_oid$,
x.xmldata.SYS_XDBPD$,
reftohex(x.xmldata.PARENT_SCHEMA),
x.xmldata.ATTRGROUP_NAME.PREFIX_CODE,
x.xmldata.ATTRGROUP_NAME.NAME,
reftohex(x.xmldata.ATTRGROUP_REF),
x.xmldata.ANNOTATION.SYS_XDBPD$,
x.xmldata.ANNOTATION.APPINFO,
x.xmldata.ANNOTATION.DOCUMENTATION,
x.xmldata.ID
from xdb.xdb$attrgroup_ref x;
show errors;
grant select on XDB.XDB$ATTRGROUP_REF_VIEW to select_catalog_role;
create table xdb.xdb$attrgroup_ref_view_tbl as select * from xdb.xdb$attrgroup_ref_view where 0=1;
/* (15) view for all dependencies XMLSCHEMAs have on types */
create or replace view DBA_TYPE_XMLSCHEMA_DEP(
TYPE_NAME,
TYPE_OWNER,
SCHEMA_URL,
SCHEMA_OWNER,
SCHEMA_OID)
as select distinct po.name, u.name, x.schema_url, x.owner, x.schema_id
from dependency$ dep, dba_xml_schemas x, obj$ do, obj$ po, user$ u
where do.obj#=dep.d_obj# and po.obj#=dep.p_obj# and
do.type#=55 and do.name=x.int_objname and
po.type#=13 and po.owner#=u.user#
/
show errors;
grant select on DBA_TYPE_XMLSCHEMA_DEP to select_catalog_role;
create or replace public synonym DBA_TYPE_XMLSCHEMA_DEP for DBA_TYPE_XMLSCHEMA_DEP;
execute CDBView.create_cdbview(false,'SYS','DBA_TYPE_XMLSCHEMA_DEP','CDB_TYPE_XMLSCHEMA_DEP');
grant select on SYS.CDB_TYPE_XMLSCHEMA_DEP to select_catalog_role
/
create or replace public synonym CDB_TYPE_XMLSCHEMA_DEP for SYS.CDB_TYPE_XMLSCHEMA_DEP
/
/* table with same signature as the view above */
create table DBA_TYPE_XMLSCHEMA_DEP_TBL as select * from DBA_TYPE_XMLSCHEMA_DEP where 0=1;
grant select on DBA_TYPE_XMLSCHEMA_DEP_TBL to select_catalog_role;
/* (16) table with same signature as the view DBA_XML_SCHEMA_DEPENDENCY */
create table DBA_XML_SCHEMA_DEPENDENCY_TBL as select * from DBA_XML_SCHEMA_DEPENDENCY where 0=1;
grant select on DBA_XML_SCHEMA_DEPENDENCY_TBL to select_catalog_role;
/* (17) relational view on top of XDB.XDB$RESOURCE */
create or replace view XDB.XDB$RESOURCE_EXPORT_VIEW(
SYS_NC_OID$,
VERSIONID,
CREATIONDATE,
MODIFICATIONDATE,
AUTHOR,
DISPNAME,
RESCOMMENT,
LANGUAGE,
CHARSET,
CONTYPE,
REFCOUNT,
LOCKS,
ACLOID,
OWNERID,
CREATORID,
LASTMODIFIERID,
ELNUM,
SCHOID,
XMLREF,
XMLLOB,
FLAGS,
RESEXTRA,
ACTIVITYID,
VCRUID,
PARENTS,
SBRESEXTRA,
SNAPSHOT,
ATTRCOPY,
CTSCOPY,
NODENUM,
SIZEONDISK,
RCLIST,
CHECKEDOUTBYID,
BASEVERSION)
as select
x.sys_nc_oid$,
x.xmldata.VERSIONID,
x.xmldata.CREATIONDATE,
x.xmldata.MODIFICATIONDATE,
x.xmldata.AUTHOR,
x.xmldata.DISPNAME,
x.xmldata.RESCOMMENT,
x.xmldata.LANGUAGE,
x.xmldata.CHARSET,
x.xmldata.CONTYPE,
x.xmldata.REFCOUNT,
x.xmldata.LOCKS,
x.xmldata.ACLOID,
x.xmldata.OWNERID,
x.xmldata.CREATORID,
x.xmldata.LASTMODIFIERID,
x.xmldata.ELNUM,
x.xmldata.SCHOID,
REFTOHEX(x.xmldata.XMLREF),
x.xmldata.XMLLOB,
x.xmldata.FLAGS,
x.xmldata.RESEXTRA,
x.xmldata.ACTIVITYID,
x.xmldata.VCRUID,
x.xmldata.PARENTS,
x.xmldata.SBRESEXTRA,
x.xmldata.SNAPSHOT,
x.xmldata.ATTRCOPY,
x.xmldata.CTSCOPY,
x.xmldata.NODENUM,
x.xmldata.SIZEONDISK,
x.xmldata.RCLIST.OID,
x.xmldata.CHECKEDOUTBYID,
x.xmldata.BASEVERSION
from XDB.XDB$RESOURCE x
/
show errors;
grant select on XDB.XDB$RESOURCE_EXPORT_VIEW to select_catalog_role;
/* table with same signature as the view above */
create table XDB.XDB$RESOURCE_EXPORT_VIEW_TBL (
SYS_NC_OID$ RAW(16),
VERSIONID NUMBER(38),
CREATIONDATE TIMESTAMP(6),
MODIFICATIONDATE TIMESTAMP(6),
AUTHOR VARCHAR2(128),
DISPNAME VARCHAR2(128),
RESCOMMENT VARCHAR2(128),
LANGUAGE VARCHAR2(128),
CHARSET VARCHAR2(128),
CONTYPE VARCHAR2(128),
REFCOUNT RAW(4),
LOCKS RAW(2000),
ACLOID RAW(16),
OWNERID RAW(16),
CREATORID RAW(16),
LASTMODIFIERID RAW(16),
ELNUM NUMBER(38),
SCHOID RAW(16),
XMLREF VARCHAR2(2002),
XMLLOB BLOB,
FLAGS RAW(4),
RESEXTRA CLOB,
ACTIVITYID NUMBER(38),
VCRUID RAW(16),
PARENTS XDB.XDB$PREDECESSOR_LIST_T,
SBRESEXTRA XDB.XDB$XMLTYPE_REF_LIST_T,
SNAPSHOT RAW(6),
ATTRCOPY BLOB,
CTSCOPY BLOB,
NODENUM RAW(6),
SIZEONDISK NUMBER(38),
RCLIST XDB.XDB$OID_LIST_T,
CHECKEDOUTBYID RAW(16),
BASEVERSION RAW(16));
/* (18) view listing all object tables owned by common users and their OIDs
* Needed at import time when REFs to such tables are imported,
* while tables they point to already exist on the target database,
* and so have OID potentially different from the ones on the
* source/export database.
* Owned by SYS in the event common users other than XDB will
* in the future store REFs to object/xmltype tables owned by
* common users. */
create or replace view SYS.XML_TABNAME2OID_VIEW as
select distinct o.name, x.owner, o.oid$
from obj$ o, dba_xml_tables x, dba_users u
where x.table_name = o.name and x.owner=u.username and u.user_id=o.owner# and
((x.owner = 'XDB') or (u.common='YES'))
union
select distinct o.name, x.owner, o.oid$
from obj$ o, dba_xml_tab_cols x, dba_users u
where x.table_name = o.name and x.owner=u.username and u.user_id=o.owner# and
((x.owner = 'XDB') or (u.common='YES'))
/
show errors;
grant select on SYS.XML_TABNAME2OID_VIEW to select_catalog_role;
create or replace public synonym XML_TABNAME2OID_VIEW for XML_TABNAME2OID_VIEW;
/* table with same signature as the view above */
create table SYS.XML_TABNAME2OID_VIEW_TBL as select * from SYS.XML_TABNAME2OID_VIEW where 0=1;
grant select on SYS.XML_TABNAME2OID_VIEW_TBL to select_catalog_role;
prompt All views for exporting the XDB Repository have been created
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prompt
/* ------------------------------------------------------------------- */
/* SETUP impcalloutreg$ FOR EXPORT */
/* ------------------------------------------------------------------- */
prompt Registering export callouts for XDB Repository
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* callout registration for exporting XDB tables
* See dbmsdp.sql for flags.
*/
declare
stmt varchar2(10000);
begin
begin
stmt :=
'delete from sys.impcalloutreg$ where tag = ''XDB_REPOSITORY''';
execute immediate stmt;
exception
when OTHERS then
NULL;
end;
begin
stmt := 'delete from sys.exppkgact$ where package = ''' ||
'DBMS_XDBUTIL_INT' || ''' and schema=''' || 'XDB' || ''' ';
execute immediate stmt;
exception
when OTHERS then
NULL;
end;
end;
/
/* (0) register all XDB tables for export */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', '%', 2,
3, 100, 3, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (1) register XDB.XDB$SCHEMA for export in TTS mode, and
* view XDB$SCHEMA_EXPORT_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$SCHEMA', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$SCHEMA_EXPORT_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (2) register XDB.XDB$SIMPLE_TYPE for export in TTS mode, and
* view XDB$SIMPLE_TYPE_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$SIMPLE_TYPE', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$SIMPLE_TYPE_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (3) register XDB.XDB$COMPLEX_TYPE for export in TTS mode, and
* view XDB$COMPLEX_TYPE_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$COMPLEX_TYPE', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$COMPLEX_TYPE_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (4) register XDB.XDB$ALL_MODEL for export in TTS mode, and
* view XDB$ALL_MODEL_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ALL_MODEL', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ALL_MODEL_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (5) register XDB.XDB$CHOICE_MODEL for export in TTS mode, and
* view XDB$CHOICE_MODEL_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$CHOICE_MODEL', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$CHOICE_MODEL_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (6) register XDB.XDB$SEQUENCE_MODEL for export in TTS mode, and
* view XDB$SEQUENCE_MODEL_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$SEQUENCE_MODEL', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$SEQUENCE_MODEL_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (7) register XDB.XDB$GROUP_DEF for export in TTS mode, and
* view XDB$GROUP_DEF_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$GROUP_DEF', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$GROUP_DEF_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (8) register XDB.XDB$GROUP_REF for export in TTS mode, and
* view XDB$GROUP_REF_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$GROUP_REF', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$GROUP_REF_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (9) register XDB.XDB$ATTRIBUTE for export in TTS mode, and
* view XDB$ATTRIBUTE_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ATTRIBUTE', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ATTRIBUTE_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (10) register XDB.XDB$ELEMENT for export in TTS mode, and
* view XDB$ELEMENT_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ELEMENT', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ELEMENT_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (11) register XDB.XDB$ANY for export in TTS mode, and
* view XDB$ANY_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ANY', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ANY_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (12) register XDB.XDB$ANYATTR for export in TTS mode, and
* view XDB$ANYATTR_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ANYATTR', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ANYATTR_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (13) register XDB.XDB$ATTRGROUP_DEF for export in TTS mode, and
* view XDB$ATTRGROUP_DEF_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ATTRGROUP_DEF', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ATTRGROUP_DEF_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (14) register XDB.XDB$ATTRGROUP_REF for export in TTS mode, and
* view XDB$ATTRGROUP_REF_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ATTRGROUP_REF', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$ATTRGROUP_REF_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* (15) register DBA_TYPE_XMLSCHEMA_DEP for export */
insert into sys.impcalloutreg$ (package, schema, tag, class, level#, flags,
tgt_schema, tgt_object, tgt_type, cmnt)
values ('DBMS_XDBUTIL_INT','XDB','XDB_REPOSITORY',3,10,2,
'SYS','DBA_TYPE_XMLSCHEMA_DEP',4,
'XDB Repository');
/* (16) register DBA_XML_SCHEMA_DEPENDENCY for export */
insert into sys.impcalloutreg$ (package, schema, tag, class, level#, flags,
tgt_schema, tgt_object, tgt_type, cmnt)
values ('DBMS_XDBUTIL_INT','XDB','XDB_REPOSITORY',3,10,2,
'SYS','DBA_XML_SCHEMA_DEPENDENCY',4, 'XDB Repository');
/* (17) register XDB.XDB$RESOURCE for export in TTS mode, and
* view XDB$RESOURCE_EXPORT_VIEW otherwise */
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$RESOURCE', 2,
3, 100, 16+8, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('XDB', 'XDB$RESOURCE_EXPORT_VIEW', 4,
3, 100, 16+2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
insert into sys.impcalloutreg$(tgt_schema, tgt_object, tgt_type,
class, level#, flags, schema, package,
tag, cmnt)
values('SYS', 'XML_TABNAME2OID_VIEW', 4,
3, 1, 2, 'XDB', 'DBMS_XDBUTIL_INT',
'XDB_REPOSITORY', 'XDB Repository');
/* system-level procedural action for XDB sequences */
insert into sys.exppkgact$(package, schema, class, level#)
values('DBMS_XDBUTIL_INT', 'XDB', 1, 1000);
prompt Registering export callouts for XDB Repository has completed
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prompt
-- This function is meant to be called after a full database import,
-- to find the user id on the target for a user, given the user id on the source database.
-- The userid is returned in a format compatible to userid columns in various XDB owned tables
-- (like CREATORID, OWNERID, LASTMODIFIERID in XDB.XDB$RESOURCE) and to the OWNERID column in
-- tables enabled for hierarchy.
--
-- This function is created as SYS because it accesses user$. XDB is granted execute permissions
-- on it because the function is used to update userid columns in the above mentioned tables
-- owned by XDB, part of a full XDB import callout. Such callouts are executed as XDB.
create or replace function getUserIdOnTarget(userid raw) return raw as
usrnum_exp NUMBER;
usrname_exp VARCHAR2(128);
usrnum_imp NUMBER;
usrid_imp RAW(16);
begin
if (rawtohex(userid) = '00000000') then
usrnum_exp := 0;
else
usrnum_exp := to_number(trim (leading '0' from rawtohex(userid)), 'XXXXXXXX');
end if;
execute immediate 'select name from SYS.KU$_USER_MAPPING_VIEW where user#=:1' into usrname_exp using usrnum_exp;
execute immediate 'select user# from user$ where name = :1' into usrnum_imp using usrname_exp;
usrid_imp := hextoraw(lpad(ltrim(to_char(usrnum_imp, 'XXXXXXXX')), 8, '0'));
return usrid_imp;
end;
/
show errors;
grant execute on getUserIdOnTarget to XDB;
@?/rdbms/admin/sqlsessend.sql
OHA YOOOO