Rem Rem $Header: rdbms/admin/xdbe1m102.sql /main/10 2009/12/14 15:40:04 spetride Exp $ Rem Rem xdb1em102.sql Rem Rem Copyright (c) 2006, 2009, Oracle and/or its affiliates. Rem All rights reserved. Rem Rem NAME Rem xdb1em102.sql - Rem Rem DESCRIPTION Rem Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem spetride 12/07/09 - 9065059: xml indexes should be dropped before migrate Rem rburns 11/11/07 - Rem mrafiq 01/08/07 - pass flag to register_dav_schema Rem spetride 07/21/06 - moved token table downgrade from xdbeu102.sql Rem rmurthy 06/02/06 - remove xlink, documentlinks deletion Rem bkhaladk 04/25/06 - drop the csx xml.xsd and xmltr schema Rem mrafiq 04/26/06 - call xdbuud3.sql Rem mrafiq 04/07/06 - cleaning up Rem abagrawa 03/28/06 - Use xdbuuc3 Rem abagrawa 03/26/06 - Pass in fixit function name to migratetable Rem abagrawa 03/20/06 - Remove set echo on Rem mrafiq 03/16/06 - Created Rem @@catxdbh @@xdbuuc2 exec dbms_metadata_hack.cre_dir; delete from xdb.xdb$xdb_ready; commit; -- Delete dav schema as it depends on ACL schema declare delete_option number := xdb.dbms_xmlschema.delete_cascade_force + xdb.dbms_xmlschema.delete_migrate; davurl varchar2(100) := 'http://xmlns.oracle.com/xdb/dav.xsd'; begin delete_schema_if_exists(davurl, delete_option); end; / commit; select index_name, status from dba_indexes where table_name='XDB$ACL'; begin execute immediate 'drop index xdb.xdb$acl_xidx force'; commit; exception when OTHERS then if (SQLCODE = - 1418) then NULL; end if; end; / select index_name, status from dba_indexes where table_name='XDB$ACL'; set serveroutput on declare aclxsd xmltype := xmltype(dbms_metadata_hack.get_bfile('acl.xsd.10.2'), 0); begin xdb$migratexmltable(xsd => aclxsd, nmspc => 'http://xmlns.oracle.com/xdb/acl.xsd', url => 'http://xmlns.oracle.com/xdb/acl.xsd', tabname => 'XDB$ACL', schemaowner => 'XDB', root => 'acl', absdir => '/sys/schemas/PUBLIC/xmlns.oracle.com/xdb', absfile => 'acl.xsd', csx => false, transformfn => 'xdb.dbms_xdbutil_int.fixacl_downgrade'); end; / set serveroutput off -- drop the csx xml.xsd and xmltr schemas; declare delete_option number := xdb.dbms_xmlschema.delete_cascade_force + xdb.dbms_xmlschema.delete_migrate; davurl varchar2(100) := 'http://xmlns.oracle.com/xdb/csx.xmltr.xsd'; begin delete_schema_if_exists(davurl, delete_option); end; / declare delete_option number := xdb.dbms_xmlschema.delete_cascade_force + xdb.dbms_xmlschema.delete_migrate; davurl varchar2(100) := 'http://xmlns.oracle.com/xdb/csx.xml.xsd'; begin delete_schema_if_exists(davurl, delete_option); end; / set serveroutput on declare configxsd xmltype := xmltype(dbms_metadata_hack.get_bfile('xdbconfig.xsd.10.2'), 0); begin xdb$migratexmltable(xsd => configxsd, nmspc => 'http://xmlns.oracle.com/xdb/xdbconfig.xsd', url => 'http://xmlns.oracle.com/xdb/xdbconfig.xsd', tabname => 'XDB$CONFIG', schemaowner => 'XDB', root => 'xdbconfig', absdir => '/sys/schemas/PUBLIC/xmlns.oracle.com/xdb', absfile => 'xdbconfig.xsd', csx=>false); end; / set serveroutput off @@xdbuuc3 -- Update xdbconfig's xmlref (only one row so this is ok) call update_config_ref(); @@xdbuud2 @@xdbuud3 -- Clean up session/shared state exec xdb.dbms_xdbutil_int.flushsession; alter system flush shared_pool; alter system flush shared_pool; alter system flush shared_pool; alter system flush shared_pool; @@catxdav -- Register DAV schema DECLARE c number; BEGIN select count(*) into c from xdb.xdb$schema s where s.xmldata.schema_url ='http://xmlns.oracle.com/xdb/dav.xsd'; if c = 0 then dbms_output.put_line('creating dav schema'); register_dav_schema('dav.xsd.10.2', TRUE); end if; END; / @@catxdav2 --downgrade for catxev.sql revoke XDB_SET_INVOKER from DBA; drop role XDB_SET_INVOKER; revoke all on xdb.xdb$resconfig from public; DECLARE c number; schurl varchar2(100); BEGIN schurl := 'http://xmlns.oracle.com/xdb/XDBResConfig.xsd'; select count(*) into c from xdb.xdb$schema s where s.xmldata.schema_url = schurl; if c > 0 then dbms_xmlschema.deleteschema(schurl, dbms_xmlschema.delete_cascade_force); end if; END; / show errors; insert into xdb.xdb$xdb_ready values (null); commit;