zoukankan      html  css  js  c++  java
  • 类型:Oracle;问题:oracle 查询表详细信息;结果:oracle查询表信息(索引,外键,列等)

    oracle查询表信息(索引,外键,列等)

    oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助:

    1、查询出所有的用户表
    select * from user_tables 可以查询出所有的用户表

    select owner,table_name from all_tables; 查询所有表,包括其他用户表

    通过表名过滤需要将字母作如下处理

    select * from user_tables where table_name = upper('表名')

    因为无论你建立表的时候表名名字是大写还是小写的,create语句执行通过之后,对应的user_tables表中的table_name字段都会自动变为大写字母,所以必须通过内置函数upper将字符串转化为大写字母进行查询,否则,即使建表语句执行通过之后,通过上面的查询语句仍然查询不到对应的记录。
    2、查询出用户所有表的索引
    select * from user_indexes
    3、查询用户表的索引(非聚集索引):
    select * from user_indexes where uniqueness='NONUNIQUE'
    4、查询用户表的主键(聚集索引):
    select * from user_indexes where uniqueness='UNIQUE'
    5、查询表的索引
    select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and

    t.table_name='NODE'
    6、查询表的主键
    select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and

    au.constraint_type = 'P' AND cu.table_name = 'NODE'
    7、查找表的唯一性约束(包括名称,构成列):
    select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name and

    cu.table_name='NODE'
    8、查找表的外键
    select * from user_constraints c where c.constraint_type = 'R' and c.table_name='STAFFPOSITION'
    查询外键约束的列名:
    select * from user_cons_columns cl where cl.constraint_name = 外键名称
    查询引用表的键的列名:
    select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名
    9、查询表的所有列及其属性
    方法一:

    select * from user_tab_columns where table_name=upper('表名');

    方法二:

    select cname,coltype,width from col where tname=upper('表名');;
     
    10.查询一个用户中存在的过程和函数
    select object_name,created,status from user_objects 
    where lower(object_type) in ('procedure','function');
     
    11.查询其它角色表的权限
    select * from role_tab_privs ;
     
     

    查看索引个数和类别

    select * from user_indexes where table_name='表名' ;

    查看索引被索引的字段


    SQL>select * from user_ind_columns where index_name=upper('&index_name');

    PS:

    查看某表的约束条件


    SQL>select constraint_name, constraint_type,search_condition, r_constraint_name 
    from user_constraints where table_name = upper('&table_name'); 

    SQL>select c.constraint_name,c.constraint_type,cc.column_name 
    from user_constraints c,user_cons_columns cc 
    where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') 
    and c.owner = cc.owner and c.constraint_name = cc.constraint_name 
    order by cc.position;

    查看视图的名称


    SQL>select view_name from user_views;

    oracle lobsegment 过大 怎么解决 [复制链接]

       

    注册会员

    中级会员

    精华贴数
    0
    专家积分
    3
    技术积分
    2515
    社区积分
    160
    注册时间
    2006-8-1
    论坛徽章:
    10
    ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152011新春纪念徽章
日期:2011-05-06 16:49:002011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010新春纪念徽章
日期:2010-03-01 11:07:22生肖徽章2007版:鸡
日期:2009-09-28 12:51:472009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53劳斯莱斯
日期:2013-12-16 10:42:54
    跳转到指定楼层
    1#
     
     发表于 2010-8-24 17:08:55 |只看该作者 |倒序浏览
    DB: 10.2.0.4
    OS: SOLARIS 

    有部分logsegment 段过大了,我想查下这些lobsegment是哪个表的 应该怎么查,
    查到后有什么方法可以尽量减小其大小。

    SQL> select  segment_name,segment_type,tablespace_name,bytes/1024/1024,blocks,extents  from user_segments
      2  where segment_type='LOBSEGMENT'
      3   order by bytes desc;

    SEGMENT_NAME                                                                      SEGMENT_TYPE       TABLESPACE_NAME                BYTES/1024/1024     BLOCKS    EXTENTS
    --------------------------------------------------------------------------------- ------------------ ------------------------------ --------------- ---------- ----------
    SYS_LOB0000010054C00005$$                                                         LOBSEGMENT         INNOCOM                                  57670    7381760       1090
    SYS_LOB0000009926C00005$$                                                         LOBSEGMENT         INNOCOM                                  15651    2003328        431
    SYS_LOB0000010071C00002$$                                                         LOBSEGMENT         INNOCOM                                   2048     262144        215
     
     
     
    我的技能:ORACLE SQLSERVER MYSQL GOLDENGATE LINUX SOLARIS AIX SHELL and a good oral english
     

    使用道具 举报

       

    注册会员

    初级会员

    精华贴数
    0
    专家积分
    0
    技术积分
    23
    社区积分
    1
    注册时间
    2007-2-9
    论坛徽章:
    1
    2010新春纪念徽章
日期:2010-03-01 11:06:12
    2#
     
     发表于 2010-8-24 18:24:34 |只看该作者
    SELECT A.TABLE_NAME,
           A.COLUMN_NAME,
           B.SEGMENT_NAME,
           B.SEGMENT_TYPE,
           B.TABLESPACE_NAME,
           B.BYTES / 1024 / 1024,
           B.BLOCKS,
           B.EXTENTS
      FROM USER_LOBS A, USER_SEGMENTS B
    WHERE A.SEGMENT_NAME = B.SEGMENT_NAME
    ORDER BY B.BYTES DESC;
     
     
     
     

    使用道具 举报

       

    注册会员

    初级会员

    精华贴数
    0
    专家积分
    0
    技术积分
    23
    社区积分
    1
    注册时间
    2007-2-9
    论坛徽章:
    1
    2010新春纪念徽章
日期:2010-03-01 11:06:12
    3#
     
     发表于 2010-8-24 18:28:41 |只看该作者
    可以对LOB字段进行压缩存储
    ALTER TABLE <表名> MODIFY LOB(<列名>) (COMPRESS);
     
     
     
     

    使用道具 举报

       

    注册会员

    十万个为什么

    精华贴数
    2
    专家积分
    201
    技术积分
    8462
    社区积分
    274
    注册时间
    2008-4-5
    论坛徽章:
    58
    生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:59ITPUB元老
日期:2013-01-10 14:38:472013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09问答徽章
日期:2014-04-22 08:57:25
    4#
     
     发表于 2011-8-15 21:52:30 |只看该作者
    遇到这个问题

    up一下
     
     
     
    提供ORACLE技术支持(系统优化,故障处理,安装升级,数据恢复,容灾dg,rac故障处理,NBU,commvalt等)
    提供甘肃,宁夏,青海等西北地区ORACLE数据库技术支持。
     

    使用道具 举报

       

    注册会员

    十万个为什么

    精华贴数
    2
    专家积分
    201
    技术积分
    8462
    社区积分
    274
    注册时间
    2008-4-5
    论坛徽章:
    58
    生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:59ITPUB元老
日期:2013-01-10 14:38:472013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09问答徽章
日期:2014-04-22 08:57:25
    5#
     
     发表于 2011-8-23 21:33:53 |只看该作者
    表有lob字段,有300000rows
    the most largest row's lob column is 12K size
    found The biggest lob segment will be 5G,but it show 50G
    如何处理?

    1.
    col segment_name for a35
    select * from (
    select owner,segment_name,tablespace_name,segment_type,bytes/1024/1024 from dba_segments order by 5 desc
    ) where TABLESPACE_NAME='QQ' AND rownum<20;


    OWNER SEGMENT_NAME SEGMENT_TYPE BYTES/1024/1024
    --------- -------------------------- ------------------ ---------------
    QQQ SYS_LOB0000138594C00023$$ LOBSEGMENT 50105
    PP SYS_LOB0000130969C00023$$ LOBSEGMENT 46917
    QQQ SYS_LOB0000138594C00078$$ LOBSEGMENT 5128
    PP SYS_LOB0000130969C00078$$ LOBSEGMENT 4864
    ......

    SELECT DBMS_LOB.GETLENGTH(A00126) LENGTH FROM PP.CM45001 where rowid='AAAf+ZAAIAAApQaAAM' and rownum<10;
    LENGTH
    ----------
    11869
     
     
     
    提供ORACLE技术支持(系统优化,故障处理,安装升级,数据恢复,容灾dg,rac故障处理,NBU,commvalt等)
    提供甘肃,宁夏,青海等西北地区ORACLE数据库技术支持。
     

    使用道具 举报

       

    注册会员

    十万个为什么

    精华贴数
    2
    专家积分
    201
    技术积分
    8462
    社区积分
    274
    注册时间
    2008-4-5
    论坛徽章:
    58
    生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:59ITPUB元老
日期:2013-01-10 14:38:472013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09问答徽章
日期:2014-04-22 08:57:25
    6#
     
     发表于 2011-8-23 21:38:46 |只看该作者
    悲剧没人回复!

    up
     
     
     
    提供ORACLE技术支持(系统优化,故障处理,安装升级,数据恢复,容灾dg,rac故障处理,NBU,commvalt等)
    提供甘肃,宁夏,青海等西北地区ORACLE数据库技术支持。
     

    使用道具 举报

       

    注册会员

    咖啡猫

    精华贴数
    3
    专家积分
    169
    技术积分
    6253
    社区积分
    15799
    注册时间
    2006-5-14
    论坛徽章:
    169
    雪铁龙
日期:2014-01-01 22:28:04马上有钱
日期:2014-05-16 09:39:482014年世界杯参赛球队: 俄罗斯
日期:2014-06-06 15:11:20生肖徽章:马
日期:2014-06-19 17:10:502014年世界杯参赛球队: 阿尔及利亚
日期:2014-06-26 09:17:47青年奥林匹克运动会-击剑
日期:2014-09-24 15:44:44金牛座
日期:2015-09-23 14:59:59狮子座
日期:2015-10-31 00:11:54祖国65周年纪念徽章
日期:2014-10-10 21:18:34白羊座
日期:2015-08-11 14:08:56金牛座
日期:2015-08-14 20:01:00马上有钱
日期:2014-11-04 13:08:17
    7#
     
     发表于 2011-8-23 21:51:12 |只看该作者
    --alter table <your_table> move lob (<lob_column>) store as (tablespace <tablespace>);

    select 'alter table ' || t.owner || '.' || t.table_name || ' move lob (' ||
           column_name || ') store as ' || t.table_name ||
           '_lobsegment (tablespace USERS );'
      from dba_lobs l, dba_tables t
    where l.owner = t.owner
       and l.table_name = t.table_name
       and l.SEGMENT_NAME in
           (select segment_name
              from dba_segments
             where segment_type like 'LOBSEGMENT'
               and tablespace_name = 'USERS')
    order by t.owner, t.table_name;
     
     
     
    猫言猫语:
                 人生无非是笑笑人家,再被人家笑笑而已.
                 男人是用来靠的,所以要可靠;女人是用来爱的,所以要可爱.
                 发怒一分钟便失去六十秒的幸福.
                 人品就象内裤,表面看不出来,如果你没有还显摆,就挺讨厌.
                 ......
     

    使用道具 举报

       

    注册会员

    十万个为什么

    精华贴数
    2
    专家积分
    201
    技术积分
    8462
    社区积分
    274
    注册时间
    2008-4-5
    论坛徽章:
    58
    生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:59ITPUB元老
日期:2013-01-10 14:38:472013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09问答徽章
日期:2014-04-22 08:57:25
    8#
     
     发表于 2011-8-23 22:01:26 |只看该作者
    谢谢!
    顺便问一下,以前你做这个操作后效果如何?
     
     
     
    提供ORACLE技术支持(系统优化,故障处理,安装升级,数据恢复,容灾dg,rac故障处理,NBU,commvalt等)
    提供甘肃,宁夏,青海等西北地区ORACLE数据库技术支持。
     

    使用道具 举报

       

    版主

    Frank

    精华贴数
    5
    专家积分
    84
    技术积分
    15595
    社区积分
    4594
    注册时间
    2006-1-4
    认证徽章
    论坛徽章:
    89
    马上加薪
日期:2014-02-19 11:55:14奥运会纪念徽章:网球
日期:2012-07-05 15:32:53奥运会纪念徽章:垒球
日期:2012-06-30 09:56:29紫蛋头
日期:2012-03-24 14:38:252012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09茶鸡蛋
日期:2011-12-29 18:20:50ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20
    9#
     
     发表于 2011-12-6 02:20:29 |只看该作者
    同遇到这个问题,如何解决?
     
     
     
    http://space.itpub.net/715354/
     

    使用道具 举报

       
    精华贴数
    5
    专家积分
    318
    技术积分
    43555
    社区积分
    12600
    注册时间
    2005-3-4
    论坛徽章:
    161
    红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39ITPUB社区12周年站庆徽章
日期:2013-10-08 14:56:08马上有房
日期:2014-04-22 17:21:252014年世界杯参赛球队: 阿尔及利亚
日期:2014-06-02 17:43:212014年世界杯参赛球队: 韩国
日期:2014-06-18 15:18:392014年世界杯参赛球队: 厄瓜多尔
日期:2014-07-01 10:50:13青年奥林匹克运动会-网球
日期:2014-09-18 16:57:18祖国65周年纪念徽章
日期:2014-09-30 11:35:30itpub13周年纪念徽章
日期:2014-09-30 11:55:16itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50
    10#
     
     发表于 2011-12-6 08:55:17 |只看该作者
    查询dba_lobs。

    SEGMENT_NAME                                                                      SEGMENT_TYPE       TABLESPACE_NAME                BYTES/1024/1024     BLOCKS    EXTENTS
    --------------------------------------------------------------------------------- ------------------ ------------------------------ --------------- ---------- ----------
    SYS_LOB0000010054C00005$$                                                         LOBSEGMENT         INNOCOM                                  57670    7381760       1090

    object_id=10054
    column_id=5

    好像是这样。
     
    分类: Oracle
     
     
  • 相关阅读:
    安装ArcGIS Server forJava
    MyEclipse编码设置
    地图切片公式备忘
    source
    逝去的痕迹
    flex build下的svn安装
    spket安装
    flex开发一
    vs2008中的SQL Server Express访问 sql server 2005
    导入不同格式的数据到arcgis中
  • 原文地址:https://www.cnblogs.com/longphui/p/5290804.html
Copyright © 2011-2022 走看看