❶ DB2数据库问题
sql0968C 文件系统已满。
说明:
包含数据库的其中一个文件系统已满。此文件系统可能包含数据库目录、数据库日志文件或表空间容器。
不能处理该语句。
用户响应:
通过擦除不想要的文件来释放系统空间。不要擦除数据库文件。如果需要附加空间,则可能有必要删除标识为不必需的表和索引。
在基于 UNIX 的系统中,此磁盘满状态可能是由于超过当前用户标识所允许的最大文件大小所导致的。使用 chuser 命令来更新 fsize。可能必须进行重新引导。
当容器大小不一时,可能会导致出现磁盘已满的情况。如果文件系统中有充足的空间,则删除该表空间并使用大小相等的容器重新创建它。
sqlcode : -968
sqlstate : 57011
参考资料 《ibm db2 消息参考》
❷ DB2怎么创建数据库啊
在创建数据库时要考虑几个因素,有几种创建数据库的方法。
可以使用从 Control Center 调用的 Create Database 向导,会引导用户分步创建数据库。要是了解实际的 Create Database 命令的话,还可以从 DB2 Command Window、Command Editor 或命令行直接发出命令。
在这个示例中,从 DB2 First Steps Launch 面板的 Create Database 向导:
1、启动 DB2 Control Center。点击 Start > All Programs > IBM DB2 > General Administration Tools 并选择 Control Center。当提示选择 Control Center 视图时,点击 OK 选择默认视图(Advanced)。
2、点击 All Databases(如图 5 所示),然后点击 Create New Database。Create Your Own Database 向导打开。
5. 从 Control Center 创建新数据库
3、在 Create Your Own Database 向导中,指定数据库名和数据库目录的位置。输入 HelloWld 作为数据库名。指定 C:\ 作为默认路径。输入 hwld 作为数据库别名。在 Comment 字段中输入任何描述性的注释。
4、选中 Enable Database for XML。XML 列只能在 UTF-8 代码集(Unicode)数据库中使用。所以要在数据库中使用 XML,就必须创建 Unicode 数据库。
5、不需要指定任何其他数据库选项,所以选择 Summary 面板,然后点击 Show Command 来查看创建这个数据库所用的 DB2 命令。
6、因为在这个数据库中启用了 XML,所以使用 CODESET UTF-8。点击 Close。如果想将命令保存到文件中,供以后参考或重用,那么点击 Save 而不是 Close。
7、在 Create New Database 窗口中,点击 Finish 并等待向导完成操作。
在 DB2 创建数据库时,它还创建以下东西:
1、在指定的驱动器或路径上创建必要的数据库目录
2、创建一组默认的表空间,包括 SYSCAT、TEMPORARY 和 USER 表空间
3、在编目表空间中创建一组系统编目表和视图
4、创建数据库配置(DB CFG)文件并设置默认值
5、为数据库恢复日志文件创建空间并分配它
6、为数据库(如 CLI)和命令行处理器创建的几个应用程序
使用 DB2 Control Center 检查创建的数据库
在 Control Center 左边的面板中,找到并展开 All Systems 和 All Databases。看看是否能够找到刚才创建的 HELLOWLD 数据库。All Systems 提供了数据库对象视图,这些对象依次根据机器、实例和数据库进行分组。在这个机器上只有一个实例,DB2。All Databases 提供了这个机器上的所有数据库的快速查看。
6. 查看新数据库
如果了解创建数据库所用的 DB2 命令,那么可以使用在前面的 Create New Database 向导窗口中保存的 CREATE DATABASE 命令并根据需要进行修改,然后从 DB2 命令行处理器发出 CREATE DATABASE 命令来创建数据库。
选择 Start > Run,输入 db2cmd 并按 Enter。打开 DB2 命令行处理器窗口。要想获得 create database 命令的帮助,可以在命令行窗口中输入 db2 ? create database。
输入 db2 CREATE DATABASE MYTESTDB ON C:。在命令成功完成之后,点击 Control Center 主菜单中的 Selected 并点击 Refresh。然后看看是否能够在 Control Center 中找到新的数据库 MYTESTDB。
在 DB2 命令窗口中输入命令 db2 LIST DATABASE DIRECTORY。应该会看到 HELLOWLD 和 MYTESTDB 数据库的数据库项。
❸ 如何建立DB2分区数据库
1) 了解分区定义
分区定义可以从节点配置文件(db2nodes.cfg)得到,其位于实例所有者的主目录中,它包含一些配置信息,告诉 DB2 有哪些服务器参与分区数据库环境的实例。分区数据库环境中的每个实例都有一个 db2nodes.cfg 文件。对于每个参与实例的服务器,db2nodes.cfg 文件必须包含一个条目。当创建实例时,会自动创建 db2nodes.cfg 文件并对拥有实例的服务器添加条目。这里我们假设有4个分区。
2) 创建数据库
create db dpfdb;
默认会创建3个分区组IBMCATGROUP(只在0号分区上)
IBMTEMPGROUP ,IBMDEFAULTGROUP(在所有分区上),如果用户没有创建其他分区组,所创建的表空间会默认放在IBMDEFAULTGROUP上
3) 创建分区组
我们在 1到3号分区建立一个分区组
CREATE DATABASE PARTITION GROUP USERGROUP ON DBPARTITIONNUMS(1,2,3);
4) 创建表空间
CREATE TABLESPACE TS IN USERGROUP MANAGED BY DATABASE USING (file '/DB2containers/TScontainer $N' 10000)
有4个containers被创建
/DB2containers/TScontainer0 - on DATABASE PARTITION 0
/DB2containers/TScontainer1 - on DATABASE PARTITION 1
/DB2containers/TScontainer2 - on DATABASE PARTITION 2
/DB2containers/TScontainer3 - on DATABASE PARTITION 3
5) 创建表
CREATE TABLE DPFTABLE (ID INTEGER NOT NULL,
NAME CHAR(20) NOT NULL)
IN TS
PARTITIONING KEY (ID) USING HASHING;
❹ 我把DB2数据库安装完了,谁能告诉我如何创建数据库
这些文件包括日志文件、配置信息、历史文件和三个表空间。这些表空间是: SYSCATSPACE:这是保存 DB2 系统编目的地方,系统编目跟踪与 DB2 对象相关联的所有元数据。 TEMPSPACE1:DB2 用来放置中间结果的临时工作区域。 USERSPACE1:默认情况下存放所有用户对象(表、索引)的地方。所有这些文件都放在默认驱动器上的 DB2 目录中。默认驱动器通常是安装 DB2 产品的卷。 对于简单的应用程序,这个默认配置应该可以满足需要。但是,可能希望改变数据库文件的位置,或者改变 DB2 管理这些对象的方式。接下来,我们将更详细地研究 CREATE DATABASE 命令。 对于从 DB2 8 进行迁移的用户,有一个特殊的注意事项:在 DB2 9 之前,CREATE DATABASE 命令会为上面列出的所有对象创建 SMS 表空间。在 DB2 9 中,所有表空间都将定义为自动存储(DMS)表空间。 以下的 CREATE DATABASE 命令将数据库放在 Windows 操作系统下的 D: 驱动器上的 TEST 目录中: CREATE DATABASE MYDB ON D:\TEST选择Automatic storage(默认设置)允许 DBA 为数据库设置在创建所有表空间容器时可以使用的存储路径。DBA 不必显式地定义表空间的位置和大小,系统将自动地分配表空间。例如,下面的数据库创建语句将为数据库中的所有表空间设置自动存储。 CREATE DATABASE TEST AUTOMATIC STORAGE ON /db2/storagepath001, /db2/storagepath002, /db2/storagepath003 AUTORESIZE YES INITIALSIZE 300 M INCREASESIZE 75 M MAXSIZE NONE在AUTOMATED STORAGE ON 选项后面,给出了三个文件目录(路径)。这三个路径是一个表空间的容器的位置。其他的选项是: AUTORESIZE YES 当表空间用光空间时,系统将自动地扩展容器的大小。 INITIALSIZE 300 M 没有定义初始大小的任何表空间的大小默认为 300 MB。每个容器是 100 MB(有三个存储路径)。 INCREASESIZE 75 M (或百分数) 当表空间用光空间时,表空间的总空间增加 75 MB。还可以指定一个百分数,在这种情况下,表空间会增长它的当前大小的百分数。 MAXSIZE NONE 表空间的最大大小没有限制。如果 DBA 希望限制一个表空间可以占用的存储空间,那么可以指定一个最大值。 当使用 AUTOMATIC STORAGE 定义表空间时,不需要提供其他参数: CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE; 在这个命令中,可以提供与表空间相关联的任何参数;但是,使用自动存储可以大大简化日常的表空间维护。与重要的大型生产表相关联的表空间可能需要 DBA 更多地干预。 在没有启用自动存储的数据库中创建表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。使用这些子句会分别创建 SMS 表空间和 DMS 表空间。在这两种情况下,都必须提供容器的显式列表。 如果数据库启用了自动存储,那么有另一个选择。可以指定 MANAGED BY AUTOMATIC STORAGE 子句,或者完全去掉 MANAGED BY 子句(这意味着自动存储)。在这种情况下,不提供容器定义,因为 DB2 会自动地分配容器。 代码页和整理次序所有DB2 字符数据类型(CHAR、VARCHAR、CLOB、DBCLOB)都有一个相关联的字符代码页。可以认为代码页是一个对照表,用来将字母数字数据转换为数据库中存储的二进制数据。一个 DB2 数据库只能使用一个代码页。代码页是在 CREATE DATABASE 命令中使用 CODESET 和 TERRITORY 选项设置的。代码页可以使用单一字节表示一个字母数字字符(单一字节可以表示 256 个独特元素),也可以使用多个字节。 英语等语言包含的独特字符相当少;因此单字节代码页对于存储数据足够了。日语等语言需要超过 256 个元素才能表示所有的独特字符;因此需要多字节代码页(通常是双字节代码页)。 在默认情况下,数据库的整理次序根据 CREATE DATABASE 命令中使用的代码集进行定义。如果指定选项 COLLATE USING SYSTEM,就根据为数据库指定的 TERRITORY 对数据值进行比较。如果使用选项 COLLATE USING IDENTITY,那么以逐字节的方式使用二进制表示来比较所有值。 DB2 Administration Guide 列出了创建数据库时可用的各种代码页。在大多数情况下,DBA 会让这个设置保持为数据库所在的操作系统的默认代码页。 对于需要使用 XML 数据的应用程序,有一个特殊的注意事项。当前,DB2 只在定义为 Unicode(UTF-8)的数据库中支持 XML 列。
❺ 如何查看db2的数据库的日志文件
查看db2的数据库的日志文件:
实例日志在sqllib/db2mp/db2diag.log,记录起停、出错警告信息。
数据库的事务日志通过db2 get db cfg for <dbname>,看NEWLOGPATH下面一行。
(5)db2空间数据库扩展阅读:
在日常DB2的维护中,transaction log full是比较常见的问题,日志空间使用情况也是我们比较重视的问题,如果日志是单独的文件系统分区,在操作系统上即可看到日志空间使用情况,对日志使用情况进行监控,可以看到如下信息:
$ df -g
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/db2inst1_log01 60.00 54.50 10% 1458 1% /db2inst1_log01
❻ DB2数据库表索引建多了会有影响吗
会有影响
1、需要占用物理空间
2 、维护当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
3、 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。