ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 学习系统包-DBMS_TTS

学习系统包-DBMS_TTS

原创 Linux操作系统 作者:lsq_008 时间:2008-04-19 13:56:51 0 删除 编辑

     包DBMS_TTS用于检查表空间集合是否是自包含的,并在执行了检查之后,将违反自包含规则的信息写入到临时表TRANSPORT_SET_VIOLATIONS中。

      在表空间传输的中,要求表空间集为自包含的,自包含表示用于传输的内部表空间集没有引用指向外部表空间集。自包含分为两种:一般自包含表空间集和完全(严格)自包含表空间集。


常见的以下情况是违反自包含原则的:
 索引在内部表空间集,而表在外部表空间集(相反地,如果表在内部表空间集,而索引在外部表空间集,则不违反自包含原则)。
 分区表一部分区在内部表空间集,一部分在外部表空间集(对于分区表,要么全部包含在内部表空间集中,要么全不包含)。
 如果在传输表空间时同时传输约束,则对于引用完整性约束,约束指向的表在外部表空间集,则违反自包含约束;如果不传输约束,则与约束指向无关。
 表在内部表空间集,而lob列在外部表空间集,则违反自包含约束。
通常可以通过系统包DBMS_TTS来检查表空间是否自包含,验证可以以两种方式执行:非严格方式和严格方式。

1.TRANSPORT_SET_CHECK

SQL>  exec dbms_tts.transport_set_check('users');
 
PL/SQL procedure successfully completed.
 
SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;
 
VIOLATIONS
------------------------------------------------------------------------------------------------------------------------
Index SYS.IDX_TEST in tablespace USERS points to table SYS.TEST in tablespace SYSTEM
Sys owned object  IDX_TEST in tablespace USERS not allowed in pluggable set

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10972173/viewspace-244142/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
十余年大型金融及电信系统数据库管理经验,曾服务于中国建设银行、中国移动。对oracle,mysql数据库有深入了解。 擅长python开发,独立开发了开源数据库自动化监控运维平台Power Monitor。

注册时间:2008-02-29

  • 博文量
    335
  • 访问量
    1369107