[20140131]toad看constraints的问题.txt

[20140131]toad看constraints的问题.txt

今天使用toad查看constraints(在schema browser模式)发现一个奇怪的情况,发现约束的类型显示?。
感觉有点奇怪。

我使用toad版本是 11.6.0.43,使用其他版本看也一样。

使用toad只带的跟踪程序SQL Tracker发现,执行如下:

SELECT       CN.NAME constraint_name, decode(c.type#, 1, 'Check', 2, 'Primary Key', 3, 'Unique Key',
                    4, 'Referential Integrity', 5, 'Check Option on a View', 6, 'Read Only Option on a View', 7,'Check', '?') constraint_type,
             ru.name R_OWNER, rc.name R_CONSTRAINT_NAME,
             decode(c.type#, 5, 'Enabled',
                    decode(c.enabled, NULL, 'Disabled', 'Enabled')) status,
             decode(c.type#, 4,
                    decode(c.refact, 1, 'Cascade', 2, 'Set Null', 'No Action'),
                    NULL) delete_rule, c.condition search_condition
            ,decode(bitand(c.defer, 1), 1, 'Deferrable', 'Not Deferrable') deferrable
            ,decode(bitand(c.defer, 2), 2, 'Deferred', 'Immediate') deferred
            ,decode(bitand(c.defer, 4), 4, 'Validated', 'Not Validated') validated
            ,decode(bitand(c.defer, 8), 8, 'Generated Name', 'User Name') generated
            ,decode(bitand(c.defer,16),16, 'Bad', null) bad
            ,decode(bitand(c.defer,32),32, 'Rely', null) rely
      FROM   SYS.CDEF$ C, SYS.CON$ CN, SYS."_CURRENT_EDITION_OBJ" O, SYS.USER$ U,
             SYS.CON$ RC, SYS.USER$ RU, SYS."_CURRENT_EDITION_OBJ" RO
      WHERE  C.CON# = CN.CON#
      AND    C.OBJ# = O.OBJ#
      AND    O.OWNER# = U.USER#
      AND    C.RCON# = RC.CON#(+)
      AND    RC.OWNER# = RU.USER#(+)
      AND    C.ROBJ# = RO.OBJ#(+)
      AND    U.NAME = 'SCOTT'
      AND    O.NAME = 'T'
      AND    c.type# not in (8, 12)
order by 1;

--decode(c.type#, 1, 'Check', 2, 'Primary Key', 3, 'Unique Key',4, 'Referential Integrity', 5, 'Check Option on a View',
--6, 'Read Only Option on a View', 7,'Check', '?')
--可以确定显示来自这里。

select c.type#
FROM   SYS.CDEF$ C, SYS.CON$ CN, SYS."_CURRENT_EDITION_OBJ" O, SYS.USER$ U,
       SYS.CON$ RC, SYS.USER$ RU, SYS."_CURRENT_EDITION_OBJ" RO
WHERE  C.CON# = CN.CON#
      AND    C.OBJ# = O.OBJ#
      AND    O.OWNER# = U.USER#
      AND    C.RCON# = RC.CON#(+)
      AND    RC.OWNER# = RU.USER#(+)
      AND    C.ROBJ# = RO.OBJ#(+)
      AND    U.NAME = 'SCOTT'
      AND    O.NAME = 'T';

     TYPE#
----------
        17

--可以发现显示的是17,表示什么呢?
SCOTT@test01p> @desc SYS.CDEF$;
Name        Null?    Type
----------- -------- -------------------
CON#        NOT NULL NUMBER
OBJ#        NOT NULL NUMBER
COLS                 NUMBER
TYPE#       NOT NULL NUMBER
ROBJ#                NUMBER
RCON#                NUMBER
RRULES               VARCHAR2(3)
MATCH#               NUMBER
REFACT               NUMBER
ENABLED              NUMBER
CONDLENGTH           NUMBER
CONDITION            LONG
INTCOLS              NUMBER
MTIME                DATE
DEFER                NUMBER
SPARE1               NUMBER
SPARE2               NUMBER
SPARE3               NUMBER
SPARE4               VARCHAR2(1000)
SPARE5               VARCHAR2(1000)
SPARE6               DATE

-- 看看安装的执行脚本:
cd D:\app\oracle\product\12.1.0\dbhome_1\RDBMS\admin
grep -i "cdef\$" *.* | grep -i "create table"

dcore.bsq:create table cdef$                            /* constraint definition table */

--查看dcore.bsq文件:
create table cdef$                            /* constraint definition table */
( con#          number not null,                        /* constraint number */
  obj#          number not null,         /* object number of base table/view */
  cols          number,                   /* number of columns in constraint */
  type#         number not null,                         /* constraint type: */
                 /* Note: If new types are added then please ensure that the */
                 /* {....}_CONSTRAINTS family of views reflect the new type. */
                            /* 1 = table check, 2 = primary key, 3 = unique, */
                             /* 4 = referential, 5 = view with CHECK OPTION, */
                                                 /* 6 = view READ ONLY check */
               /* 7 - table check constraint associated with column NOT NULL */
                                   /* 8 - hash expressions for hash clusters */
                                         /* 9 - Scoped REF column constraint */
                                    /* 10 - REF column WITH ROWID constraint */
                                  /* 11 - REF/ADT column with NOT NULL const */
                                 /* 12 - Log Groups for supplemental logging */
                                 /* 13 - Allow PKref vals Storage in REF col */
                                    /* 14 - Primary key supplemental logging */
                                     /* 15 - Unique key supplemental logging */
                                    /* 16 - Foreign key supplemental logging */
                                     /* 17 - All column supplemental logging */
  robj#         number,                 /* object number of referenced table */
...

--很明显17表示All column supplemental logging,才想起来前几天学习goldengate,对打开这个表执行了。
alter table t add supplemental log data (all) columns;

--执行如下:
alter table t drop supplemental log data (all) columns;

再查看显示正常了。

时间: 2024-09-21 04:29:24

[20140131]toad看constraints的问题.txt的相关文章

[20140311]toad 12 alert log viewer.txt

[20140311]toad 12 alert log viewer.txt 今天使用toad 12版本,无意中发现有一个新功能alert log viewer. database => diagnose => alert log viewer. 支持几种查看方式: entire file,Since instance starup ,today,yesterday+today,last 7days,last 1000 lines. 有了这个无需在登录服务器期查看alert*.log文件. 而

[20141029]10g和11G视图DBA_CONSTRAINTS

[20141029]10g和11G视图DBA_CONSTRAINTS.txt --上午同事讲一下表从10g导入11g时,一些约束没有导入,感觉不可能出现这种情况,我在10g下查看一些约束的状态是是disabled,但是 --type显示的是问号(在toad下).想起来我以前遇到的问题, --[20140131]toad看constraints的问题.txt http://blog.itpub.net/267265/viewspace-1076597/ --很容易明白这些表是没有主键,不过在11g

[20140529]建立视图问题.txt

[20140529]建立视图问题.txt --昨天想将在10g下建立的视图移植到11g,遇到一个奇怪的问题,自己做一个记录. orcl> @ver BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi orcl> create table t  ( id number,c1 v

网站优化跟踪 细看robots.txt规则的实际效果

10月20日,我对博客进行了大规模调整,就如同对待亟待成长的树一般修枝剪叶,以期能有较好的成长趋势.其中robots.txt被我充分的利用起来.如今一个工作周即将过去,robots.txt文件规则是否正确,是否已经生效?百度谷歌等搜素引擎是否响应了robots.txt规则进行索引调整?作为站长我需要深入研究一番,以便动态掌握博客收录状态. 经调查发现,谷歌对robots.txt反应比较迅速,第三天在网站管理工具里找到了迹象.百度表现不尽如人意,说百度不认robots.txt规则那是瞎扯,但反应周

numpy-大家谁能看懂这段代码?python数据分析的,求赐教!谢谢

问题描述 大家谁能看懂这段代码?python数据分析的,求赐教!谢谢 1.lines = [line.split('t') for line in open('路径/a.txt')] 2.# file colums 3.num=len(lines[0]) 4.# file rows 5.n=len(lines) 6.df = [[float(x) for x in line] for line in lines[1:]] 7.result=[] 8.import numpy 9.npdata=n

细看robots.txt规则的实际效果

摘要: 10月20日,我对博客进行了大规模调整,就如同对待亟待成长的树一般修枝剪叶,以期能有较好的成长趋势.其中robots.txt被我充分的利用起来.如今一个工作周即将过去,robots.txt文件规 10月20日,我对博客进行了大规模调整,就如同对待亟待成长的树一般修枝剪叶,以期能有较好的成长趋势.其中robots.txt被我充分的利用起来.如今一个工作周即将过去,robots.txt文件规则是否正确,是否已经生效?百度谷歌等搜素引擎是否响应了robots.txt规则进行索引调整?作为站长我

关于循环读取txt表内数据到数据库中

问题描述 Hi,各位大神,想实现这样一个逻辑,假设:文件夹内有10个txt文本文档,里面每个对应一个sql内的表,且每个文本文档(以及sql中的表)列数均不同.这边我读取了每个txt的路径.然后每个字段用"|"符号隔开.我想实现每个txt文本文件自动匹配sql里的表,且列也自动匹配,而不是写10个case.每个case需要写几十个columns.add.放在datatable中.有什么好办法吗?privatevoidbutton1_Click(objectsender,EventArg

[20141210]使用logminer看远程归档文件补充

[20141210]使用logminer看远程归档文件(补充).txt --如果要在本机看其他主机的归档或者日志文件,由于dbid不一样,是无法查看的.必须要包括字典信息. --如果需要查看别的数据库的归档文件,必须要有别的数据字典文件.正常需要使用utl_file_dir,而经常这个参数没有设置. --在使用如下命令建立数据字典. exec dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle11g/testd/dict_test.ora')

[20140311]等待事件enq HW - contention

[20140311]等待事件enq HW - contention.txt 生产系统业务高峰时出现enq: HW - contention,一般这个主要是插入记录非常密集的情况下出现,自己对系统分析看看主要是那些对象 引起的问题. SQL> @ver BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.