[20160220]12c视图一些字段显示128列.txt

[20160220]12c视图一些字段显示128列.txt

--今天在家里做一些测试时,无意中发现视图显示字段名index_name占用很大的宽度,仔细检查才发现视图里面的显示长度已经是128列.

SYS@test> @ver1
PORT_STRING          VERSION     BANNER                                                                        CON_ID
-------------------- ----------- ----------------------------------------------------------------------------- ------
IBMPC/WIN_NT64-9.1.0 12.1.0.1.0  Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production       0

SYS@test> @ desc dba_indexes
 Name          Null?    Type
 ------------- -------- -------------------------
 OWNER         NOT NULL VARCHAR2(128)
 INDEX_NAME    NOT NULL VARCHAR2(128)
 INDEX_TYPE             VARCHAR2(27)
 TABLE_OWNER   NOT NULL VARCHAR2(128)
 TABLE_NAME    NOT NULL VARCHAR2(128)
...
--可以发现INDEX_NAME, TABLE_OWNER,TABLE_NAME 定义都是128列.

SYS@test> select text from dba_views where view_name='DBA_INDEXES';
TEXT
------------------------------------------------------------------------------------
select u.name, o.name,
       decode(bitand(i.property, 16), 0, '', 'FUNCTION-BASED ') ||
        decode(i.type#, 1, 'NORMAL'||
                          decode(bitand(i.property, 4), 0, '', 4, '/REV'),
                      2, 'BITMAP', 3, 'CLUSTER', 4, 'IOT - TOP',
                      5, 'IOT - NESTED', 6, 'SECONDARY', 7, 'ANSI', 8, 'LOB',
                      9, 'DOMAIN'),
       iu.name, io.name,
       decode(io.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
                       4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE', 'UNDEFINED'),
       decode(bitand(i.property, 1), 0, 'NONUNIQUE', 1, 'UNIQUE', 'UNDEFINED'),
       decode(bitand(i.flags, 1073741824), 1073741824, 'ADVANCED HIGH',
              decode(bitand(i.flags, 32), 0, 'DISABLED',
                     decode(bitand(i.flags, 2147483648), 0, 'ENABLED',
                            2147483648, 'ADVANCED LOW'))),
       i.spare2,
       decode(bitand(i.property, 34), 0, decode(i.type#, 9, null, ts.name),
           2, null, decode(i.ts#, 0, null, ts.name)),
       decode(bitand(i.property, 2),0, i.initrans, null),
       decode(bitand(i.property, 2),0, i.maxtrans, null),
       decode(bitand(i.flags, 67108864), 67108864,
                     ds.initial_stg * ts.blocksize,
                     s.iniexts * ts.blocksize),
       decode(bitand(i.flags, 67108864), 67108864,
              ds.next_stg * ts.blocksize,
              s.extsize * ts.blocksize),
       decode(bitand(i.flags, 67108864), 67108864,
              ds.minext_stg, s.minexts),
       decode(bitand(i.flags, 67108864), 67108864,
              ds.maxext_stg, s.maxexts),
       decode(bitand(ts.flags, 3), 1, to_number(NULL),
              decode(bitand(i.flags, 67108864), 67108864,
                            ds.pctinc_stg, s.extpct)),
       decode(i.type#, 4, mod(i.pctthres$,256), NULL), i.trunccnt,
       decode(bitand(ts.flags, 32), 32, to_number(NULL),
       decode(bitand(o.flags, 2), 2, 1,
              decode(bitand(i.flags, 67108864), 67108864,
                     decode(ds.frlins_stg, 0, 1, ds.frlins_stg),
                     decode(s.lists, 0, 1, s.lists)))),
       decode(bitand(ts.flags, 32), 32, to_number(NULL),
              decode(bitand(o.flags, 2), 2, 1,
                     decode(bitand(i.flags, 67108864), 67108864,
                            decode(ds.maxins_stg, 0, 1, ds.maxins_stg),
                            decode(s.groups, 0, 1, s.groups)))),
       decode(bitand(i.property, 2),0,i.pctfree$,null),
       decode(bitand(i.property, 2), 2, NULL,
                decode(bitand(i.flags, 4), 0, 'YES', 'NO')),
       i.blevel, i.leafcnt, i.distkey, i.lblkkey, i.dblkkey, i.clufac,
       decode(bitand(i.property, 2), 2,
                   decode(i.type#, 9, decode(bitand(i.flags, 8),
                                        8, 'INPROGRS', 'VALID'), 'N/A'),
                     decode(bitand(i.flags, 1), 1, 'UNUSABLE',
                            decode(bitand(i.flags, 8), 8, 'INPROGRS',
                                                            'VALID'))),
       rowcnt, samplesize, analyzetime,
       decode(i.degree, 32767, 'DEFAULT', nvl(i.degree,1)),
       decode(i.instances, 32767, 'DEFAULT', nvl(i.instances,1)),
       decode(bitand(i.property, 2), 2, 'YES', 'NO'),
       decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),
       decode(bitand(o.flags, 4), 0, 'N', 4, 'Y', 'N'),
       decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N'),
       decode(bitand(o.flags, 2), 2, 'DEFAULT',
              decode(bitand(decode(bitand(i.flags, 67108864), 67108864,
                            ds.bfp_stg, s.cachehint), 3),
                            1, 'KEEP', 2, 'RECYCLE', 'DEFAULT')),
       decode(bitand(o.flags, 2), 2, 'DEFAULT',
              decode(bitand(decode(bitand(i.flags, 67108864), 67108864,
                            ds.bfp_stg, s.cachehint), 12)/4,
                            1, 'KEEP', 2, 'NONE', 'DEFAULT')),
       decode(bitand(o.flags, 2), 2, 'DEFAULT',
              decode(bitand(decode(bitand(i.flags, 67108864), 67108864,
                            ds.bfp_stg, s.cachehint), 48)/16,
                            1, 'KEEP', 2, 'NONE', 'DEFAULT')),
       decode(bitand(i.flags, 64), 0, 'NO', 'YES'),
       decode(bitand(o.flags, 2), 0, NULL,
           decode(bitand(i.property, 64), 64, 'SYS$SESSION', 'SYS$TRANSACTION')),
       decode(bitand(i.flags, 128), 128, mod(trunc(i.pctthres$/256),256),
              decode(i.type#, 4, mod(trunc(i.pctthres$/256),256), NULL)),
       itu.name, ito.name, i.spare4,
       decode(bitand(i.flags, 2048), 0, 'NO', 'YES'),
       decode(i.type#, 9, decode(o.status, 5, 'IDXTYP_INVLD',
                                           1, 'VALID'),  ''),
       decode(i.type#, 9, decode(bitand(i.flags, 16), 16, 'FAILED', 'VALID'), ''),
       decode(bitand(i.property, 16), 0, '',
              decode(bitand(i.flags, 1024), 0, 'ENABLED', 'DISABLED')),
       decode(bitand(i.property, 1024), 1024, 'YES', 'NO'),
       decode(bitand(i.property, 16384), 16384, 'YES', 'NO'),
       decode(bitand(o.flags, 128), 128, 'YES', 'NO'),
       decode(bitand(i.flags,2097152),2097152,'INVISIBLE','VISIBLE'),
       decode(i.type#, 9, decode(bitand(i.property, 2048), 2048,
                               'SYSTEM_MANAGED', 'USER_MANAGED'), ''),
       decode(bitand(i.flags, 67108864), 67108864, 'NO',
              decode(bitand(i.property, 2), 2, 'N/A', 'YES')),
       decode(bitand(i.flags, 268435456), 268435456, 'YES', 'NO'),
       decode(bitand(i.flags, 8388608), 8388608, 'PARTIAL', 'FULL')
from sys.ts$ ts, sys.seg$ s,
     sys.user$ iu, sys.obj$ io, sys.user$ u, sys.ind$ i, sys.obj$ o,
     sys.user$ itu, sys.obj$ ito, sys.deferred_stg$ ds
where u.user# = o.owner#
  and o.obj# = i.obj#
  and i.bo# = io.obj#
  and io.owner# = iu.user#
  and bitand(i.flags, 4096) = 0
  and bitand(o.flags, 128) = 0
  and i.ts# = ts.ts# (+)
  and i.file# = s.file# (+)
  and i.block# = s.block# (+)
  and i.ts# = s.ts# (+)
  and i.obj# = ds.obj# (+)
  and i.indmethod# = ito.obj# (+)
  and ito.owner# = itu.user# (+)

--难道oracle低层定义里已经显示定义达到128列.
SYS@test> @desc sys.obj$
Name       Null?    Type
---------- -------- --------------------
OBJ#       NOT NULL NUMBER
DATAOBJ#            NUMBER
OWNER#     NOT NULL NUMBER
NAME       NOT NULL VARCHAR2(128)
NAMESPACE  NOT NULL NUMBER
SUBNAME             VARCHAR2(128)
TYPE#      NOT NULL NUMBER
CTIME      NOT NULL DATE
MTIME      NOT NULL DATE
STIME      NOT NULL DATE
STATUS     NOT NULL NUMBER
REMOTEOWNE          VARCHAR2(128)
LINKNAME            VARCHAR2(128)
FLAGS               NUMBER
OID$                RAW(16)
SPARE1              NUMBER
SPARE2              NUMBER
SPARE3              NUMBER
SPARE4              VARCHAR2(1000)
SPARE5              VARCHAR2(1000)
SPARE6              DATE
SIGNATURE           RAW(16)
SPARE7              NUMBER
SPARE8              NUMBER
SPARE9              NUMBER

--name的定义已经是128列.这么讲oracle的低层已经支持一些对象的定义可以达到128列.

SELECT column_name, COUNT (*)
    FROM dba_tab_cols
   WHERE data_length = 128 AND table_name LIKE 'DBA%'
GROUP BY column_name having count(*)>=30
order by 2 desc;

COLUMN_NAME            COUNT(*)
-------------------- ----------
OWNER                       355
TABLE_NAME                  121
OBJECT_NAME                  74
NAME                         60
COLUMN_NAME                  46
USERNAME                     43
SCHEMA_NAME                  32
OBJECT_OWNER                 30
8 rows selected.

--可以得到一个结论,oracle的低层已经支持更长的对象名.做一个简单的测试:

SCOTT@test01p> create index i_emp_ename_0123456789011234567890 on emp(ename);
create index i_emp_ename_0123456789011234567890 on emp(ename)
             *
ERROR at line 1:
ORA-00972: identifier is too long

SCOTT@test01p> host oerr ora 972
00972, 00000, "identifier is too long"
// *Cause:  An identifier with more than 30 characters was specified.
// *Action:  Specify at most 30 characters.

--兵马未动,粮草先行.
--可以看出oracle可能在下一个版本会支持长度超过30字符,最大128字符的对象名.

时间: 2024-09-17 13:52:58

[20160220]12c视图一些字段显示128列.txt的相关文章

domino中 如何让嵌入视图中只显示需要的列?

问题描述 我在表单中嵌入了一个视图,在Web上也无法正常显示,而且我只需要视图中符合条件的列,是不是需要加视图公式啊?如何写?希望高手指点,谢谢 解决方案 解决方案二:1.是否支持B/S显示,是否为表单内公式有误2.嵌入式视图属性选择"使用HTML"解决方案三:再建一个视图吧.解决方案四:引用2楼numberlock的回复: 再建一个视图吧. 重新建一个省事儿

android-在线性布局视图中创建两个列

问题描述 在线性布局视图中创建两个列 我想创建一个布局,布局里包含两列,左边和右边各显示一个textview,但是我使用的下面代码,这两个textview都在左边.怎么能把textview分开两边显示呢?谢谢! <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content"

怎么设置gridview只显示10列

问题描述 怎么设置gridview只显示10列 解决方案 解决方案二:this.GridView1.Columns[i].Visible=false;//隐藏i列前台改visible属性,最好是后台只返回10列数据,就不用前台处理.解决方案三:在查询语句里只查询10列解决方案四:引用楼主的回复: 怎么设置gridview只显示10列 大致是:grd.Columns.OfType<DataControlField>().Where((c,i)=>i>=10).ToList().For

[20141116]12c下增加字段与缺省值.txt

[20141116]12c下增加字段与缺省值.txt --前一段时间写了一篇表增加字段与缺省值的blog. --链接如下: http://blog.itpub.net/267265/viewspace-1257035/ --12G 增加字段带缺省值,可以很快完成,不需要update表.实际上是增加一个隐含字段,通过位与的方式确定取值方式. 当时的总结如下: --增加字段带缺省值,在12c下很快完成,不需修改表,但是以后的插入要多付出2个字节的代价(不会增加9个字段带缺省值的吧^_^) --它通过

[20141117]12c下增加字段与缺省值-分区交换

[20141117]12c下增加字段与缺省值--分区交换.txt --前一段时间写了一篇表增加字段与缺省值的blog. --链接如下: http://blog.itpub.net/267265/viewspace-1257035/ --12C 增加字段带缺省值,可以很快完成,不需要update表.实际上是增加一个隐含字段,通过位与的方式确定取值方式. 当时的总结如下: --增加字段带缺省值,在11G下很快完成,不需修改表,但是以后的插入要多付出2个字节的代价(不会增加9个字段带缺省值的吧^_^)

ASP 判断 URL 查询字段, 显示相关内容

显示 作用: 在一个页面里显示不同页面 本文件实现的功能 当 查询为空返回主页当 dateview.asp?dayview= 显示该条件里的内容, 忽略其他当 dateview.asp?yearview= 显示该条件里的内容, 忽略其他当 dateview.asp?monthview= 显示该条件里的内容, 忽略其他当 dateview.asp?weekview= 显示该条件里的内容, 忽略其他以上都不是,则显示 dateview.asp?todayview= 的内容 主文件---/------

SQL Server之指定字段显示固定的长度

  SQLserver之指定字段显示固定的长度,这个平时显示数据的时候经常用到,但是记性不好,经常忘记. 故写于此,以便有用的时候捡起来. 这里举个例子,如有一个Article表,里面有3个字段 展示的时候因为某些原因,标题,内容不能显示过长,这里设置不能超过11个,其余用"..."代替,内容文字不能超过30个,否则用"..."代替: select ArticleTitle= case when len(ArticleTitle)>11 then substr

combobox显示多列

问题描述 combobox显示多列 解决方案 解决方案二:可以说得详细点么?解决方案三:想显示成表格的样子如:编码姓名aaaa解决方案四:ComboBox本身不支持的,但是可以改造,请参考:解决方案五:引用3楼taomanman的回复: ComboBox本身不支持的,但是可以改造,请参考:http://www.cnblogs.com/gossip/archive/2009/01/08/1371984.html 这种方法确实可行解决方案六:我怎么用了不可以啊解决方案七:我用了好像不行啊解决方案八:

android-列表视图中突出显示其中一项

问题描述 列表视图中突出显示其中一项 在一个列表视图中想以编程的方式突出强调其中的一个项目. 我用这段代码: CalendarList = (ListView) findViewById(R.id.CalendarList);CalendarList.setAdapter(new ArrayAdapter<String>(this R.layout.list_item MyApplication.roundMatches(CalendarPicker.getValue())));Calenda