文章主要向大家讲述的是正确使用DB2dart 工具来对DB2 数据存储方式进行理解的实际操作,尤其是 DB2 数据在每个页中进行存储的实际操作步骤,以下就是文章的主要内容的详细描述,望大家在浏览之后会对其有更深的了解。
简介
DB2 数据库中的数据表存放在表空间中,每个表空间可以有一个或者多个容器(Container),页(page)是容器中最基本的存储单元,每个页可以存储一定数量的记录。可是每一条记录在页中的存储是什么样子的?有没有什么工具能够看到每个页中存储了哪几条记录?
DB2dart 是 DB2 中自带的一个数据库分析利器,可以分析数据库、表空间和表等,验证数据库及其对象的体系结构是否正确,还可以使用它来显示数据库控制文件的内容,以便从其他情况下可能无法访问的表中抽取数据。
在本文中将通过 DB2dart 来显示和分析数据库中的数据,从而深入理解 DB2 的数据存储方式,这对于提高 DBA 数据恢复技能也有一定的帮助。
DB2 中数据存储方式概述
DB2 数据库中有两种类型的表空间,它们都可以在单个数据库中使用:
系统管理的空间(SMS),操作系统的文件管理器控制其中的存储空间。
数据库管理的空间(DMS),数据库管理器控制其中的存储空间。
还可以创建自动存储器表空间,该表空间将使用 SMS 或 DMS 作为基本表空间类型。数据库管理器将根据其中包含的数据类型选择实际类型 SMS 或 DMS(SMS 用于临时表空间,DMS 则用于其他表空间)。
本文中我们只针对 DMS 类型的表空间进行讨论。
表空间是一种存储结构,它包含表、索引、大对象和长型数据。它们允许将数据库和表数据的位置直接指定到容器上。容器可以是目录名、设备名或文件名,单个表空间可跨多个容器,如图 1 所示。
图 1. 数据库中的表空间、容器和表
DB2 数据库管理器会平衡分布在所有容器中的数据负荷,所有容器都将用于存储数据。数据库管理器在使用另一个容器之前写入一个容器的页数称为扩展数据块(extent)大小。数据库管理器并非始终从***个容器开始存储表数据。在图 2 中,表空间 HUMANERS 有 4 个容器,扩展数据库大小为 2 页,每个页大小是 4K 字节。 DEPARTMENT 和 EMPLOYEE 表都有 7 页,并且都跨越所有四个容器。
图 2. 表空间中的容器和扩展数据库
那每个页中的记录是如何存储的呢,接下来我们利用 DB2dart 工具来更为直观的进行理解。
DB2dart 使用简介
工欲善其事必先利其器,那我们就先来看看 DB2dart(DB2>
DB2导出表结构,能不能只导出指定的表结构。求大神指教,给出命令哈
可以导出指定表的表结构在控制中心(Control Center)里,右键这个表,有导出表结构的选项
卡盟排行榜源码的安装地址是多少?
一是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。 在2008年1月16号被Sun公司收购。 目前MySQL被广泛地应用在Internet上的中小型网站中。 由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 MySQL的官方网站的网址是:MySQL的特性1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3.为多种编程语言提供了API。 这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。 对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。 目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。 由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。 二你文的Oracle是指Oracle数据库还是这个公司?Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。 Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。 Oracle的关系数据库是世界第一个支持SQL语言的数据库。 1977年,Lawrence 领着一些同事成立了Oracle公司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。 现在,Oracle公司的财产净值已经由当初的2000美元增值到了现在的年收入超过97亿美元。 Oracle的目标定位于高端工作站以及作为服务器的小型计算机。 Oracle的路线同Sun微系统公司类似,都提出了网络计算机的概念。 Oracle宣称自己是世界上首家百分之百进行基于互联网的企业软件的软件公司。 整个产品线包括:数据库、服务器、企业商务应用程序以及应用程序开发和决策支持工具。 从Oracle首席执行官Ellison的发言可以看出Oracle对网络计算的信心,他说:“Oracle公司的成败依赖于互联网是否能够成为将来的主流计算方式,如果答案是‘是’,Oracle就赢了”。 Oracle 11g五大特性与无压缩格式下存储数据相比,新的Oracle数据压缩技术能够确保以较小的开销节省三倍以上的磁盘存储空间。 这一点比仅节省磁盘空间要具有更大的优势,因为它能够使企业节约更多的开支,以便有更多的资金来巩固自己的地位。 自动诊断知识库(Automatic Diagnostic Repository,ADR)是专门针对严重错误的知识库。 该知识库基本上能够自动完成一些以往需要由数据库管理员来手动完成的操作。
请问DB2如何查询表、存储过程等的DDL脚本
难道只有在命令行用db2look?目前只找到查询存储过程的SQL,还没找到获取表、视图DDL脚本的方法。select routinename,text from ;
发表评论