Skip to content

表-sys_tables

功能描述

sys_tables系统表用于存储系统库和用户库中的所有表信息。

字段说明

序号字段名类型说明
0DB_IDINTEGER库ID
1USER_IDINTEGER拥有者的用户ID
2SCHEMA_IDINTEGER模式ID
3TABLE_IDINTEGER表ID
4TABLE_NAMEVARCHAR表名
5TABLE_TYPEINTEGER表类型(堆表:0;IOT表:1;外部文件表:2;虚拟表:3;函数表:4;远程表:5)
6TEMP_TYPEINTEGER临时类型 0:非临时 1:局部临时表 2:全局临时表
7FIELD_NUMINTEGER字段数
8PARTI_TYPEINTEGER分区类型
9PARTI_NUMINTEGER分区数
10PARTI_KEYVARCHAR1024分区键
11AUTO_PARTI_TYPEINTEGER自动分区的类型(0:无 1:按年 2:按月)
12AUTO_PARTI_SPANINTEGER时段自动分区的时段长度
13SUBPARTI_TYPEINTEGER子分区类型
14SUBPARTI_NUMINTEGER子分区数
15SUBPARTI_KEYVARCHAR1024子分区键
16GSTO_NOINTEGER首Tablet ID
17COPY_NUMINTEGER副本数
18BLOCK_SIZEINTEGER块大小(K)
19CHUNK_SIZEINTEGER存贮单元大小(M)
20RECORD_NUMBIGINT记录数
21PCTFREEINTEGER块的预留置空间比例
22HOTSPOT_NUMINTEGER插入操作的热点个数
23USE_CACHEBOOLEAN该表的块是否使用高速缓存
24ONLINEBOOLEAN表是否在线
25IS_SYSBOOLEAN是否系统内建
26IS_ENCRYBOOLEAN是否是加密表
27SLOW_MODIFYBOOLEAN是否缓变
28XLS_PIDINTEGER安全策略ID
29XLS_COL_NOINTEGER安全策略字段
30XLS_COL_OPTINTEGER安全字段属性(如:是否隐藏)
31ON_COMMIT_DELBOOLEAN是否在事务结束时删除数据
32ENA_TRANSBOOLEAN是否事务支持
33ENA_LOGGINGBOOLEAN是否记redo日志
34REG_MODIFYBOOLEAN是否记载变更日志
35VALIDBOOLEAN是否有效
36ACL_MASKINTEGER存取允许掩码
37AUTO_PARTI_NOINTEGER时段自动分区的扩展基点分区号
38CREATE_TIMEDATETIME创建时间
39COMMENTSVARCHAR注释信息
40ANA_POLICYINTEGER分析策略
41ANA_PERIODINTEGER分析周期
42ANA_THRESHOLDINTEGER分析阈值
43ANA_LEVELINTEGER采样层级
44ENCRY_IDINTEGER密钥ID
45ZONE_POLICYINTEGER存储域策略
46CACHE_HASH_KEYVARCHARHASH缓存键
47COMPRESS_LEVELINTEGER压缩等级
48RESERVED5VARCHAR保留字段

说明:

XLS_COL_NO、ENCRY_ID、ZONE_POLICY、CACHE_HASH_KEY和COMPRESS_LEVEL在较低版本的数据库中不支持,详细信息请联系运维人员获取。

示例

  • 查询表类型

    sql
    SQL> CREATE TABLE table_info(id INT,name VARCHAR(10));
    
    SQL> SELECT table_name,table_type FROM sys_tables WHERE table_name='TABLE_INFO';
    
    TABLE_NAME | TABLE_TYPE | 
    ------------------------------------------------------------------------------
    TABLE_INFO| 0 |
  • 查询表所属库

    sql
    SQL> SELECT table_name,db_id,db_name FROM sys_tables st JOIN sys_databases sd ON st.db_id=sd.db_id WHERE table_name='TABLE_INFO';
    
    TABLE_NAME | DB_ID | DB_NAME | 
    ------------------------------------------------------------------------------
    TABLE_INFO| 1 | SYSTEM|
  • 查询表所属者

    sql
    SQL> SELECT table_name,user_id,user_name FROM sys_tables st JOIN sys_users su ON st.db_id=su.db_id AND st.user_id=su.user_id WHERE table_name='TABLE_INFO';
    
    TABLE_NAME | USER_ID | USER_NAME | 
    ------------------------------------------------------------------------------
    TABLE_INFO| 1 | SYSDBA|
  • 根据库名、模式名分组统计表个数(结果依据库实际情况而定)

    sql
    SQL> SELECT COUNT(*),db_name,schema_name FROM sys_tables st JOIN sys_databases sd ON st.db_id=sd.db_id JOIN sys_schemas ss ON sd.db_id=ss.db_id GROUP BY db_name,schema_name;
    
    EXPR1 | DB_NAME | SCHEMA_NAME | 
    ------------------------------------------------------------------------------
    2 | DB2845| GUEST|
    2 | DB2845| SYSAUDITOR|
    1 | SYSTEM| GUEST|
    1 | SYSTEM| SYSSSO|
    2 | DB2845| SYSDBA|
    2 | DB2845| SYSSSO|
    1 | SYSTEM| SYSDBA|
    1 | SYSTEM| SYSAUDITOR|
  • 是否开启变更记载

    sql
    SQL> SELECT table_name,reg_modify FROM sys_tables WHERE table_name='TABLE_INFO';
    
    TABLE_NAME | REG_MODIFY | 
    ------------------------------------------------------------------------------
    TABLE_INFO| <NULL>|

相关系统表

  • sys_databases
  • sys_schemas