机械装备

创建表空间后,如何知道创建的表指定的是哪个表空间?

创建表空间后,如何知道创建的表指定的是哪个表空间?
参与5

4同行回答

zhendazhenda数据库管理员昆仑银行
建表时可以显示的指定表空间 (in tablespace name)没有显示建立可以通过syscat.tables 查看db2 "select TABSCHEMA,TABNAME,TBSPACEID,TBSPACE from syscat.tables where TABSCHEMA=xxx and TABNAME=xxx"或者通过db2look -d db_name -e -t table_name 查看表的ddl9.5版本默...显示全部
建表时可以显示的指定表空间 (in tablespace name)

没有显示建立可以通过syscat.tables 查看
db2 "select TABSCHEMA,TABNAME,TBSPACEID,TBSPACE from syscat.tables where TABSCHEMA=xxx and TABNAME=xxx"
或者通过db2look -d db_name -e -t table_name 查看表的ddl

9.5版本默认在USERSPACE1,可以通过修改权限来修改默认表空间,通过syscat.tbspaceauth视图查看,组权限为public 的表空间及默认表空间,通过 revoke 删除USERSPACE1的 public权限,grant给其他表空间public权限即可。

9.5以上版本有一些差别,默认sample 表空间为IBMDB2SAMPLEREL, 创建该表空间的用户建表时会默认指定到该表空间下。 可通过 grant use of tablespace修改。收起
软件开发 · 2013-04-18
浏览993
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司
楼主的问题有点不清晰....DB2不像ORACLE那样用户可以设置默认的表空间,而在DB2中所有用户默认表空间都是USERSPACE1(一般表空间ID=2),所以创建表时如果没有使用IN子句指定数据存放的表空间则默认为USERSPACE1,如果没有使用INDEX IN子句指定索引表空间则默认索引存储在数据所在...显示全部
楼主的问题有点不清晰....
DB2不像ORACLE那样用户可以设置默认的表空间,而在DB2中所有用户默认表空间都是USERSPACE1(一般表空间ID=2),所以创建表时如果没有使用IN子句指定数据存放的表空间则默认为USERSPACE1,如果没有使用INDEX IN子句指定索引表空间则默认索引存储在数据所在的表空间,即也是USERSPACE1。
可以在syscat.tables中查询表空间 select tbspace from syscat.tables where tabname='TEST'收起
互联网服务 · 2013-04-15
浏览948
MeralMeral数据库管理员GUOJI
db2 "select TABSCHEMA,TABNAME,TBSPACEID,TBSPACE from syscat.tables where TABSCHEMA=xxx and TABNAME=xxx"显示全部
db2 "select TABSCHEMA,TABNAME,TBSPACEID,TBSPACE from syscat.tables where TABSCHEMA=xxx and TABNAME=xxx"收起
互联网服务 · 2013-04-15
浏览1001
jimmyjimmy数据仓库工程师招行软件中心
默认表空间是id最小的那个另外,创建的时候用in tp_name指定显示全部
默认表空间是id最小的那个
另外,创建的时候用in tp_name指定收起
银行 · 2013-04-15
浏览967

提问者

Bigwig-Sun
软件工程师keenhigh

问题状态

  • 发布时间:2013-04-15
  • 关注会员:1 人
  • 问题浏览:3187
  • 最近回答:2013-04-18
  • X社区推广