Oracle XDB_MIGRATESCHEMA
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose This package defines structures to migrate an XML schema from a user 'a' to a user 'b' without moving the data. For now this is an undocumented package that was requested to enable Editioning.

This package is not part of the default DBCA installation.
AUTHID DEFINER
Dependencies
ALL_USERS DBMS_XMLSCHEMA XDB$CHOICE_MODEL
DBA_INVALID_OBJECTS DEPENDENCY$ XDB$COMPLEX_TYPE
DBA_TYPES OBJ$ XDB$ELEMENT
DBA_XML_SCHEMAS OPQTYPE$ XDB$ATTRGROUP_DEF
DBMS_ASSERT TYPE$ XDB$ATTRGROUP_REF
DBMS_OBJECTS_APPS_UTILS USER$ XDB$MOVESCHEMATAB
DBMS_OUTPUT XDB$ALL_MODEL XDB$SCHEMA
DBMS_UTILITY XDB$ATTRGROUP_DEF XDB$SEQUENCE_MODEL
DBMS_XDB XDB$ATTRGROUP_REF XDB$SIMPLE_TYPE
DBMS_XDBUTIL_INT XDB$ATTRIBUTE XMLTYPE
DBMS_XDB_UTIL    
Documented No
Exceptions
Error Code Reason
ORA-64486 The internal table is empty.
First Available 19c
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/dbmsxdbschmig.sql
{ORACLE_HOME}/rdbms/admin/prvtxdbschmig.plb
conn / as sysdba

@?/rdbms/admin/dbmsxdbschmig.sql

Session altered.

SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> CREATE OR REPLACE PACKAGE sys.xdb_migrateschema IS
  2
  3  -- Procedures to move an xml schema from user A to user B
  4  -- see impl for comments
  5  PROCEDURE moveSchemas;
  6  PROCEDURE cleanup;
  7  end xdb_migrateschema;
  8  /

SP2-0808: Package created with compilation warningsHelp: https://docs.oracle.com/error-help/db/sp2-0808/

SQL> show errors;
Errors for PACKAGE SYS.XDB_MIGRATESCHEMA:

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/1 PLW-05018: unit XDB_MIGRATESCHEMA omitted optional AUTHID clause;
default value DEFINER used

SQL> @?/rdbms/admin/sqlsessend.sql
SQL> Rem $Header: rdbms/admin/sqlsessend.sql /main/5 2020/07/20 02:36:19 dgoddard Exp $
SQL> Rem Copyright (c) 2013, 2019, Oracle and/or its affiliates.
SQL> Rem All rights reserved.
SQL> alter session set "_ORACLE_SCRIPT" = false;

Session altered.

SQL> @?/rdbms/admin/prvtxdbschmig.plb

SP2-0810: Package Body created with compilation warningsHelp: https://docs.oracle.com/error-help/db/sp2-0810/

SQL> show errors
Errors for PACKAGE BODY SYS.XDB_MIGRATESCHEMA:

LINE/COL ERROR
-------- -----------------------------------------------------------------
7/1 PLW-06006: uncalled procedure "STRIPSCHEMA" is removed.
53/1 PLW-06006: uncalled procedure "CHANGEFLAGTOLOCAL" is removed.
55/3 PLW-06010: keyword "LOCAL" used as a defined name
59/10 PLW-06010: keyword "LOCAL" used as a defined name
80/10 PLW-06010: keyword "LOCAL" used as a defined name
94/1 PLW-06006: uncalled procedure "REREGISTERSCHEMA" is removed.
120/1 PLW-06006: uncalled procedure "UPDATEOPQTYPE" is removed.
149/1 PLW-06006: uncalled procedure "UPDATEDEPENDENCIES" is removed.
176/1 PLW-06006: uncalled procedure "RENAMESCHEMARESOURCES" is removed.
192/1 PLW-06006: uncalled procedure "ISGLOBALSCHEMA" is removed.
206/1 PLW-06006: uncalled procedure "MOVESCHEMA" is removed.
351/12 PLW-06009: procedure "DROPSCHEMATYPES" OTHERS handler does not end in RAISE
354/16 PLW-06009: procedure "DROPSCHEMATYPES" OTHERS handler does not end in RAISE
380/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
397/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
415/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
432/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
449/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
466/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
483/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
500/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
517/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
535/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
552/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not endin RAISE
575/18 PLW-06009: procedure "DELETESCHEMAS" OTHERS handler does not end in RAISE
598/9 PLW-06009: procedure "DELSCHEMARESOURCES" OTHERS handler does not end in RAISE
667/12 PLW-06009: procedure "REMOVEINVALIDOBJS" OTHERS handler does not end in RAISE
672/12 PLW-06009: procedure "REMOVEINVALIDOBJS" OTHERS handler does not end in RAISE
698/24 PLW-06009: procedure "CLEANUP" OTHERS handler does not end in RAISE
877/16 PLW-06009: procedure "MIGRATESCHEMAANDTYPES" OTHERS handler does not end in RAISE
998/18 PLW-06009: procedure "MOVESCHEMAS" OTHERS handler does not end in RAISE
1012/18 PLW-06009: procedure "MOVESCHEMAS" OTHERS handler does not end in RAISE

SQL> @?/rdbms/admin/sqlsessend.sql
SQL> Rem $Header: rdbms/admin/sqlsessend.sql /main/5 2020/07/20 02:36:19 dgoddard Exp $
SQL> Rem Copyright (c) 2013, 2019, Oracle and/or its affiliates.
SQL> Rem All rights reserved.
SQL> alter session set "_ORACLE_SCRIPT" = false;
Subprograms
 
CLEANUP
Undocumented xdb_migrateschema.cleanup;
exec xdb_migrateschema.cleanup;

PL/SQL procedure successfully completed.
 
MOVESCHEMAS
Undocumented but requires metadata to be previously stored in an internal table xdb_migrateschema.moveSchemas;
exec xdb_migrateschema.moveSchemas;
     *
ORA-64486: The internal table is empty.

Related Topics
Built-in Functions
Built-in Packages
Editions
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved