How to determine if a tablespace can be transported [ID 1071511.6]

For users wanting to determine if a tablespace can be transported.

RELATED DOCUMENTS
Note:76670.1 ALERT Transportable Tablespaces can corrupt target databaseNote:77523.1 Lists some known restrictions to transporting a tablespaceNote:132545.1 Transported Tablespace with UNUSED Columns Leads to Unreadable
or wrong data

To check whether a tablespace can be transported and whether a tablespace
is self contained, run:

dbms_tts.transport_set_check

The dbms_tts package is owned by sys, so to execute as another user either
create a synonym or precede the package with 'sys'. In addition, the user
must have been granted the role execute_catalog_role (see
Bug:803973).

To create a synonym:

create synonym dbms_tts for sys.dbms_tts;

Run the procedure with the tablespace names as

SVRMGR> execute dbms_tts.transport_set_check('LAVA',TRUE);
Statement processed.

This is going to populate a table called transport_set_violations. This
table is owned by the user sys. To query the table, either precede the
tablename by 'sys.' or create a synonym:

create synonym transport_set_violations for sys.transport_set_violations;

Check the view for any possible violations.

SVRMGR> select * from transport_set_violations;
VIOLATIONS
--------------------------------------------------------------------------------
Sys owned object CATEGORIES in tablespace LAVA not allowed in pluggable set
1 row selected.

The contents of table transport_set_violations are only retained for the
session. Connecting as another user or disconnecting from the SQL*Plus session
loses the contents of transport_set_violations.

[@more@]
请使用浏览器的分享功能分享到微信等