DB2数据库中的表在硬盘上的存储位置在哪?
我把系统重装了,但是只格式化了C盘,所以其他盘的文件依然存在,重新安装DB2后发现原来建的数据库依然存在,但是数据库中的表却没有了,请问这些数据库原来的表所存放的默认位置...
我把系统重装了,但是只格式化了C盘,所以其他盘的文件依然存在,重新安装DB2后发现原来建的数据库依然存在,但是数据库中的表却没有了,请问这些数据库原来的表所存放的默认位置在哪?这些表如果没有删除的话我该如何将它们重新加入数据库中?
展开
3个回答
2013-11-27
展开全部
这个得查,先查数据库的位置,再查表所属的表空间,现查表空间的存储位置,
执行db2cmd
查看本机所有的数据库编目
db2 list db directory
联接数据库
db2 connect to db_name user uid using pwd
查看表空间位置
db2 list tablespaces show detail
重装数据库后,只要原数据的文件没有删除,可以用catalog db 加载机器上原有的数据库,但是只加载一个表空间或一个表我觉得实现不了。
执行db2cmd
查看本机所有的数据库编目
db2 list db directory
联接数据库
db2 connect to db_name user uid using pwd
查看表空间位置
db2 list tablespaces show detail
重装数据库后,只要原数据的文件没有删除,可以用catalog db 加载机器上原有的数据库,但是只加载一个表空间或一个表我觉得实现不了。
更多追问追答
追问
但是现在情况就是这么古怪,数据库我已经注册回来了,但是里面自己建的表却一个都没有。
db2 list tablespaces show detail我试了,只能查找当前数据库有哪些表空间,找不到表空间位置,我随便试了个丢失的数据库,里面一共有5个表空间,分别是SYSCATSPACE、TEMPSPACE1、USERSPACE1、SYSTOOLSPACE、SYSTOOLSTMPSPACE。
展开全部
db2 list db directory $disk
$disk 换成你的D:盘或者E:盘,DB2 Windows只允许安装在盘符根目录下,这样就可以查看到盘里是否有数据库,如果发现了catalog一下数据库就回来了
$disk 换成你的D:盘或者E:盘,DB2 Windows只允许安装在盘符根目录下,这样就可以查看到盘里是否有数据库,如果发现了catalog一下数据库就回来了
更多追问追答
追问
数据库已经注册到DB2中,让我奇怪的是为什么里面自己建的表都不见了,DB2自己建的表好像都还有。重装系统前我可以保证绝对没有删过数据库中的表。还有就是为什么只能安在根目录下,我的DB2软件所在地就不是根目录,而存放数据库数据的地方倒是在根目录下,但那是我自己指定的吧?
追答
DB2软件是安装软件,DB2 COPY是一个实例,这两者要明显区分开。
在DB2中的表,都会归属于某个模式Schema,默认就是当前用户,你用之前的用户user1创建的表为user1.table1,重装系统后现在的user2如果要访问table1,必须写完整的表名及user1.table1。输入db2 select current_schema from sysibm.sysdummy1即可查看到当前默认的schema,而如果要查看所有原来的表格,只需要 db2 list tables for schema user1 即可,或者 db2 list tables for all查看所有表
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询