Rem Rem $Header: dbmssts.sql 11-may-2007.16:25:59 yizhang Exp $ Rem Rem dbmssts.sql Rem Rem Copyright (c) 2003, 2007, Oracle. All rights reserved. Rem Rem NAME Rem dbmssts.sql - DBMS Streams TableSpaces Rem Rem DESCRIPTION Rem Simplifies data provisioning via transportable tablespaces Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem yizhang 03/26/07 - Fix bug 5040073 Rem yizhang 12/21/06 - Fix bug 5394563 Rem htran 04/20/04 - add no permission error Rem alakshmi 04/16/04 - return tablespace names in attach_tablespaces Rem alakshmi 02/25/04 - Tablespace rack APIs Rem alakshmi 07/01/03 - Change current_platform to datafile_platform Rem alakshmi 06/07/03 - alakshmi_integration_demo Rem alakshmi 04/18/03 - Rename dbms_streams_tablespaces to Rem dbms_streams_tablespace_adm Rem jstamos 03/20/03 - add error messages Rem jstamos 03/18/03 - Created Rem CREATE OR REPLACE PACKAGE dbms_streams_tablespace_adm AUTHID CURRENT_USER IS TYPE tablespace_set IS TABLE OF VARCHAR2(32) INDEX BY BINARY_INTEGER; TYPE directory_object_set IS TABLE OF VARCHAR2(32) INDEX BY BINARY_INTEGER; TYPE file IS RECORD( directory_object VARCHAR2(32), file_name VARCHAR2(4000)); TYPE file_set IS TABLE OF file INDEX BY BINARY_INTEGER; directory_object_not_found EXCEPTION; PRAGMA exception_init(directory_object_not_found, -23609); dir_obj_not_found_num NUMBER := -23609; file_converted_to_exists EXCEPTION; PRAGMA exception_init(file_converted_to_exists, -23657); file_converted_to_exists_num NUMBER := -23657; internal_error EXCEPTION; PRAGMA exception_init(internal_error, -23610); internal_error_num NUMBER := -23610; not_simple_tablespace EXCEPTION; PRAGMA exception_init(not_simple_tablespace, -23611); not_simple_tablespace_num NUMBER := -23611; tablespace_not_found EXCEPTION; PRAGMA exception_init(tablespace_not_found, -23612); tablespace_not_found_num NUMBER := -23612; tablespaces_in_target_db EXCEPTION; PRAGMA exception_init(tablespaces_in_target_db, -23635); tablespaces_in_target_db_num NUMBER := -23635; invalid_tablespace_names EXCEPTION; PRAGMA exception_init(invalid_tablespace_names, -23636); invalid_tablespace_names_num NUMBER := -23636; no_permissions_error EXCEPTION; PRAGMA exception_init(no_permissions_error, -6564); no_permissions_error_num NUMBER := -6564; PROCEDURE detach_simple_tablespace( tablespace_name IN VARCHAR2, directory_object OUT VARCHAR2, tablespace_file_name OUT VARCHAR2); PROCEDURE clone_simple_tablespace( tablespace_name IN VARCHAR2, directory_object IN VARCHAR2, destination_platform IN VARCHAR2 DEFAULT NULL, tablespace_file_name OUT VARCHAR2); PROCEDURE attach_simple_tablespace( directory_object IN VARCHAR2, tablespace_file_name IN VARCHAR2, converted_file_name IN VARCHAR2 DEFAULT NULL, datafile_platform IN VARCHAR2 DEFAULT NULL, tablespace_name OUT VARCHAR2); PROCEDURE pull_simple_tablespace( tablespace_name IN VARCHAR2, database_link IN VARCHAR2, directory_object IN VARCHAR2 DEFAULT NULL, conversion_extension IN VARCHAR2 DEFAULT NULL, convert_directory_object IN VARCHAR2 DEFAULT NULL); PROCEDURE detach_tablespaces( datapump_job_name IN OUT VARCHAR2, tablespace_names IN tablespace_set, dump_file IN file, log_file IN file DEFAULT NULL, tablespace_files OUT file_set); -- This version of detach_tablespace records the tablespace info in -- the file group repository. PROCEDURE detach_tablespaces( tablespace_names IN tablespace_set, export_directory_object IN VARCHAR2 DEFAULT NULL, log_file_directory_object IN VARCHAR2 DEFAULT NULL, file_group_name IN VARCHAR2, version_name IN VARCHAR2 DEFAULT NULL, repository_db_link IN VARCHAR2 DEFAULT NULL); PROCEDURE clone_tablespaces( datapump_job_name IN OUT VARCHAR2, tablespace_names IN tablespace_set, dump_file IN file, tablespace_directory_objects IN directory_object_set, destination_platform IN VARCHAR2 DEFAULT NULL, log_file IN file DEFAULT NULL, tablespace_files OUT file_set); -- This version of clone_tablespace records the tablespace info in -- the file group repository PROCEDURE clone_tablespaces( tablespace_names IN tablespace_set, tablespace_directory_object IN VARCHAR2 DEFAULT NULL, log_file_directory_object IN VARCHAR2 DEFAULT NULL, file_group_name IN VARCHAR2, version_name IN VARCHAR2 DEFAULT NULL, repository_db_link IN VARCHAR2 DEFAULT NULL); PROCEDURE attach_tablespaces( datapump_job_name IN OUT VARCHAR2, dump_file IN file, tablespace_files IN file_set, converted_files IN file_set, datafiles_platform IN VARCHAR2 DEFAULT NULL, log_file IN file DEFAULT NULL, tablespace_names OUT tablespace_set); -- This version of attach_tablespace plugs-in the specified version of -- the tablespace(s) from the file group repository PROCEDURE attach_tablespaces( file_group_name IN VARCHAR2, version_name IN VARCHAR2 DEFAULT NULL, datafiles_directory_object IN VARCHAR2 DEFAULT NULL, log_file_directory_object IN VARCHAR2 DEFAULT NULL, repository_db_link IN VARCHAR2 DEFAULT NULL, tablespace_names OUT tablespace_set); -- Added convert_directory_object. This is the directory that should be -- created at the source database. The file conversion will be done at -- the source database. PROCEDURE pull_tablespaces( datapump_job_name IN OUT VARCHAR2, database_link IN VARCHAR2, tablespace_names IN tablespace_set, tablespace_directory_objects IN directory_object_set, log_file IN file, conversion_extension IN VARCHAR2 DEFAULT NULL, convert_directory_object IN VARCHAR2 DEFAULT NULL); -- The following package variable is for internal use only. "_trace_level" NUMBER; END dbms_streams_tablespace_adm; / show error CREATE OR REPLACE PUBLIC SYNONYM dbms_streams_tablespace_adm FOR dbms_streams_tablespace_adm / GRANT EXECUTE ON dbms_streams_tablespace_adm TO execute_catalog_role /