实验目标
配置助手可以用来简便地设置远程数据库连接。 在本次练习中,您将把一个位于远程 DB2服务
器(用另一台工作站代替)上的数据加入目录,使用搜索网络和已知系统搜索两种方式添加目录。一经
加入目录,您就可以像访问本地系统一样访问它。DB2在后台完成所有的通信过程。
注:
本实验假设您是工作在一个网络内。如果不是,您可以同时把您的计算机用作客户端和服务
器,然后按照下面配置说明连接到您自己的系统。
实验过程
1. 向另一台工作站用户询问以下的信息:
远程数据库信息:
(PR) Protocol协议 TCPIP
(IP) IP Address or hostname ____________
IP地址或主机名
(PN) Instance Port Number 实例的端口号 ____________
(DB) Database Name数据库名 SAMPLE
提示: 在 Windows系统命令行键入hostname来获取主机名;
在 Windows系统的命令行键入ipconfig来获取IP地址
2. 打开配置助手。(提示:可以从”开始”菜单访问)
3. 打开“所选(Selected)”菜单并选择“使用向导来添加数据库(Add Database Using Wizard)” 。
4. 在向导的“源(Source)”页面中选择“手工配置与数据库的连接 Manually Configure a
Connection to a Database” 。
5. 在向导的“协议 Protocol”页面,选择 TCP/IP 选项。点击“下一步”按钮进入向导的下一页。
6. 在向导的”TCP/IP”页,输入您在第(1)步中记下的完整的主机名或 IP 地址、端口号,点击”下
一步”按钮进入下一页。
注意: 仅在您的本地服务文件有一个与远程服务器上实例监听的端口一致的端口号的条目
时,才可以用“服务名称”选项。当您使用这个选项时,DB2 将会在本机上而不是服务器上
查找服务文件。如果您想要用此选项,必须向本地服务文件中添加一个项。
7. 在向导的“数据库(Database)”页上,在“数据库名称”处输入您第(1)步记录的定义
在远程服务器上的数据库名。注意“数据库别名”会自动填充相同的值。数据库别名通常是
指本地应用程序用来与这个数据库连接时所使用的名称。既然您已经定义了一个叫作
“SAMPLE”的数据库,DB2 将不会允许您在目录中以同样的名称登记一个数据库。因此,
您必须使用一个不同的别名。在这个例子中,我们把数据库别名改为 SAMPLE1。有必要的
话您可以添加一个注释。点击“下一步”按钮进入向导的下一页。
8. 在“数据源 Data Source”页上,您可以选择把这个新的数据库(数据源)注册为一个 ODBC
数据源。它会自动地在 Windows 的 ODBC 管理器中为您进行注册。在这里,取消“为
CLI/ODBC注册此数据库”的勾选。点击Next按钮进入向导的下一页。
9. 在向导的“节点选项 Node”页,指定数据库所在的远程服务所用的操作系统。因为这个实
验中所有的工作站都使用微软的 Windows 系统,所以确认您选中了下拉菜单里的
“Windows”项。把这里的“实例名”字段设为“DB2”。点击 Next 按钮进入向导的下一页。
10. 在向导的“系统选项 System Options”页,您将会确认系统和主机名是否正确,并核对操作
系统的设置。点击Next按钮进入向导的下一页。
11. 向导的“安全性选项 Security Options”页面,您可以指定用户认证在何处进行,以及您想
采用的认证方式。选中“使用服务’DBM’配置中的认证值 Use authentication value in
server’s DBM Configuration”。这样就将采用在远程实例配置文件中AUTHENTICATION参
数指定的认证方式。点击“完成 Finish”按钮,将远程数据库加入目录并关闭向导。这时应
该出现一个确认对话框。点击“测试连接 Test Connection”按钮来确认是否可以成功连接
该数据库,请确认您提供的定义在远程服务器上的用户名和密码是有效的(前提是服务器的
AUTHENTICATION 参数值被设为 SERVER)。如果测试成功,意味着您已成功地将远程数据库加入目录。
否则,需要返回向导确认所有指定的值都是正确的(点击”修改”按钮回顾向导中的设置)。
12. 打开控制中心,尝试查看新加入目录的远程数据库的各个表。
13. 回到配置助手,尝试向目录中添加一个不同的数据库。这次选用“搜索网络 Search the Network”选项。
在向导中采用与刚才同样的方式进行设置。注意,在比较大的网络中,搜索可能会耗较长的时间才返回结果。
实验 #7 创建一个数据表
实验目的
到目前为止,您已经使用过SAMPLE数据库中的现存数据库。本实验,需要创建自己的数据库
和表。您可以使用创建数据表向导(Create Table Wizard) 在SAMPLE数据库中创建两个新表。
实验过程
1. 按之前介绍的方法,打开 Create Table Wizard (Control Center -> All Databases ->
SAMPLE -> (right-click) Tables object -> Create … option
2. 定义表名,列定义和其它的约束。这个表存储在 SAMPLE 数据库中,记录项目的办公用具
采购信息。每次采购,表中都相应该增加一行。这个表有六列:
? product_id: 被购买商品的唯一标识
? description: 商品描述
? quantity: 采购量
? cost: 花费
? image:所购买商品的图片 (可为空)
? project_num: 购买这些商品的目标工程
3. 在这个向导的第一页,在模式名中,输入当前登录的用户 ID,并且使用表名:SUPPLIES。
您也可以输入注释。点击 Next按钮继续向导的下一页。
4. 在这一页,可以为表增加一列。点击 ADD按钮增加一列。
输入列名“product_id”,并选择数据类型:INTEGER。Nullable 置空,点击 Apply 按钮来定义此列。
使用图中所示的选项重复这一步骤完成此表中其它列。当所有的列都已经添加完成,点击
OK按钮,得到刚才所创建列的总结。点击Next按钮继续向导的下一步。
列名 列属性
product_id (completed) INTEGER, NOT NULL
description VARCHAR, length 40, NOT NULL
quantity INTEGER, NOT NULL
cost DECIMAL, Precision 7, Scale 2, NOT NULL
image BLOB, 1MB, NULLABLE, NOT LOGGED
project_num CHAR, length 6, NOT NULL
注意:当声明 LOB 列时选项 NOT LOGGED 可以被指定。它强制约束列可以大于 1GB。对大于 10MB 的 LOB 进行
更改会很快添满日志文件,这种情况下,常常推荐使用此选项。即使使用 NOT LOGGED 选项,事务过程中对 LOB
类型的更改仍可以成功回滚。同时注意image列是唯一一个被定义为 NULLABLE的列。你认为为什么这个列要这样定义呢?
5. 在这一点上,提供创建表的所有的强制约束信息。可以直接跳过其它的页,以使用系统的默
认选项。表建成以后也可以增加键和约束。点击Next按钮继续向导的下一步。
6. 为表增加一外约束条件来限制 quantity 列的值。在向导的 Constraint 页,点击 ADD 按钮。
在 Check Name部分输入:valid_quantities.在 Check Condition部分输入:quantity > 0。点
击 OK按钮。就可以在向导的 Constraint页看到刚才所设置的约束信息列表。
7. 继续操作向导来改变表的其它参数。也可以直接跳到 Summary 页或简单地点击 Finish 按钮来创建表。
此时会让保存系统生成的脚本。
8. 在控制中心,点击 SAMPLE 数据库下的 Tables 文件夹。刚才所创建的表现在可以在列表中
找到。有时候需要刷新控制中心来查看其中的改变。
实验 #8 导出 EXPRESS数据库的 DDL
实验目标:
当您克隆一个数据库时,您希望将这个重建数据库的工作能够尽量简单明了和具有重复性。通
常,使用 SQL 脚本能够达到这个目的,只要安装好 DB2,SQL 脚本就能够执行来进行一系列的数据
库操作。在本实验中,将会使用控制中心来进行这些工作,这里要求您使用控制中心来导出
EXPRESS数据库(在实验#2建立)的DDL。
实验过程:
1. 打开控制中心。
2. 在左边窗口的所有数据库中右键单击 EXPRESS 数据库,在弹出的菜单中选择“Generate
DDL”项,这会启动“Generate DDL”窗口。
3. “Generate DDL”窗口如下所示,里面是导出 DDL的选项。如果您在数据库中创建了其它的
对象,比如表 空间、缓冲池等等,您可以在这里选择您需要导出的对象。如果您没有创建这些对
象,那么请不要选中相应的项。这里没有选中“导出数据库的统计信息”项,因为生产环境中的
数据库可能和开发环境中的数据库有不同的统计信息。同样,不同环境下的设置参数也很可能不
同,所以也没有选中“Gather configuration parameters”项,如果在您的环境中,所有的设置
都和即将发布的设置一样,您可以选中这两个选项。
4. 单击“Object”标签,您可以指定要产生 DDL 的对象。在本实验中,选择您创建数据库所使用的
用户和模式,然后选择生成这个数据库模式中所有对象的 DDL,最后单击“生成”按钮即可开始生成 DDL。
5. 查看生成的 DDL。上一步的生成结果是一个单独的脚本,里面记录了所选择生成对象的全部
SQL语句。现在您可以将这个脚本进行逻辑归类。
6. 新建一个文件夹 C:\express,单击“保存”按钮,将文件命名为 schema.ddl 并保存在这个新建的文件夹中。
7. 在命令编辑器中打开这个新保存的文件。(提示:在命令编辑器中选择“文件”,然后点选
“打开”,在对话框中选择要打开的文件)。
8. 虽然我们需要的只是数据表的 DDL,但是您可以看到这个文件中包括了所有数据库对象的
DDL。这时,将所有的 CREATE TRIGGER 语句移动到一个新文件中,并将这个新文件命名为
triggers.ddl。这里尽管我们只生成了一个触发器,但是将不同的对象分开是一个最好的工程实践。
9. 现在,我们建议删除下面的语句:
数据库连接语句 CONNEXT TO
断开连接语句 DISCONNECT
这时,您有两个脚本了, 一个保存了所有数据表、视图、索引、约束的 DDL
C:\express\schema.ddl
一个保存了触发器的DDL
C:\express\triggers.ddl
10. 整理脚本:
o 删除不需要的注释,例如 –CONNECT TO…
o 将函数和过程分离到独立的文件中。尤其在有很多函数和过程的时候特别有用。您
可以根据他们的功能或者应用将它们分类,例如分成 billing.ddl,math.ddl,stringfunc.ddl等等
11.您可能会注意到,触发器、函数、过程的结尾都使用了一个特殊的字符@。这是为了区分
CREATE 语句和在这些对象中的过程性语句。
实验 #9 授予和撤销用户的权限
实验目标
目前为止,您一直都是使用 DB2 的管理员帐户(SYSADM)来运行所有的数据库命令。该管理
员帐户拥有对所有的数据库工具、数据、数据库对象的控制权限,所以这个账户必须小心保护好以避
免有意或者无意的数据丢失。在大多数情况下,您希望另外建立一个新的帐号或者用户组,并赋予它
们有限的权限。在本实验中,您将会建立一个新的用户帐号,然后赋予它特定的一些特权。
实验过程
1. 在桌面上右键单击“我的电脑”图标,在弹出菜单中选择“管理”项,出现“计算机管理”窗
口(Windows Computer Management)。
2. 在“计算机管理”的左边窗口的控制树中展开“系统工具”,然后再其下展开“本地用户和
组”文件夹,右键单击用户文件夹,然后选择“新用户..”。
3. 在“新用户”对话窗中进行以下步骤:在“用户名”一栏中输入“customer”;在“全名”一
栏中输入“Customer1”;在“描述”栏中输入“A typical bookstore customer”;在“密码”
和“确认密码”栏中输入“ibmdb2”;去掉“用户下次登陆时必须修改密码”前面的钩;最后单
击“创建”按钮,这样就可以创建一个新的用户。
4. 确保DB2控制中心使用高级视图。为了转换到高级视图,在控制中心工具 Tools菜单里选择
“Customize Control Center”,然后设置“Advanced”选项并单击“OK”按键。
5. 将控制中心左边的对象树展开为:All Databases > EXPRESS > Tables。
6. 授予新建用户所需的特权。在EXPRESS数据库中右键选择 CUSTOMERS表,然后在弹出菜
单中选择Pririleges项,这时会弹出 Table Privileges对话框。
7. 单击“Add User”按钮,然后选择刚才新建立的“customer”用户。单击“OK”关闭“Add User”对话框。
8. 您会注意到,用户customer已经添加到用户列表中,但是并没有分配相关特权。为了将
SELECT、INSERT、UPDATE、DELETE特权赋予用户,可以在对应的下拉列表中选择Yes。
网上的顾客必须能够浏览、添加、更新、删除与他们账户相关的数据。我们不必给他们其他的权
限因为他们并不需要。单击“OK”确定您做的更改并关闭Table Privileges对话框。
9. 在BOOKS和SALES表上重复第 6~8步。对于BOOKS表,只需要赋予customer账户SELECT权限,
因为顾客不能够更改商店的存货信息。对于SALES表,只需要赋予customer账户SELECT和INSERT特权
而没有DELETE和 UPDATE特权,因为只有商店的雇员才可以修改销售交易信息。
10. 用上面建立的用户 id连接数据库,尝试从 customer表选择(SELECT)数据,发现了什么?(查到数据)
尝试删除(DELETE)或者更新(UPDATE)SALES表,又发现了什么?(没有权限,返回错误)
在本实验,我们只创建了一个用户,在您实际的应用环境中可能需要许多不同类型的用户,请自行实
验创建其他的用户并赋予它们不同的特权。同时,您也可以创建用户组,然后赋予整个用户组相应的
特权而不是单独给每一个用户赋予特权。
实验 #10 – 安排一个备份计划
实验目标
尽管 DB2 可以自动进行一些数据库的维护行为,但有时候有些情况需要您特别定制。在本实验
中,您将会为EXPRESS数据库创建一个定制的每晚备份安排。
实验过程
1、在控制中心左边的对象树中找到 Control Center => All Databases。右键单击EXPRESS
数据库并选择Backup选项。这会启动备份向导Backup Wizard。
2、这个向导的 Introduction 页概述了当前数据库的状态,包括最后一次备份的时间和日志记录的方法。
点击Next按钮进入下一页。
3、在该向导的 Image 页,选择镜像文件要存储的目标位置。通常,您应该选择一个与现存
数据库所在位置不同的物理驱动器。现在,在文件系统中创建一个新文件夹E:\backup\db2backup,
并设定该文件夹为备份位置。在向导中,从媒介类型 Media Type 下拉列表里选择文件系统File System。
点击 Add按钮,选择您刚刚创建的文件夹,并点击 OK。点击 Next进入下一页。
4、您可以仔细研究 Options 页和 Performance 页,但是默认的选项常常足够了,因为 DB2
自动地以最佳方式进行数据库的备份。在您设置完毕后,请导航至Schedule页。
5、在计划 Schedule 页中,如果计划任务没有被激活,现在就选择激活它。选择要创建工具目录的系统并创建
一个新工具目录。给工具目录指定一种模式并且选择在已有的 EXPRESS数据库中创建它。这个工具目录包含
有关每个计划任务的元数据。点击 OK 按钮继续。当工具目录被创建后,点击 Next按钮进入向导下一页。
6、在 Schedule 页上,选择为任务的执行创建一个计划。安排备份每天从凌晨 1 点开始执行。点击 Next按钮进入下一页。
7、在总结页面,您可以检查一下将要被创建的计划任务。一切妥当后,点击Finish按钮创建这个任务。
8、启动任务中心 Task Center查看或者修改刚刚创建的备份任务。
实验#11 – 配置自动维护
实验目标
在本实验中,您将对DB2的 sample数据库配置自动维护。
实验过程
1、在控制中心对象树中,右键单击 sample数据库并选择配置自动维护(Configure Auto-matic Maintenance)菜单项。
这将运行自动维护配置向导。
2、向导的起始页(Introduction)显示了当前自动维护的设定。如果您创建数据库时使用了
自动维护选项,自动维护就已经配置过了。您可以使用该向导重新配置自动维护的选项。点击 Next按钮进入下一页。
3、向导的类型页(Type)让您选择关闭所有自动维护还是变更自动维护选项。选择变更自动维护选项。点击Next。
4、时间选择页(Timing)让您设定维护窗口期。按照下图设定离线窗口期为每周六和周日
的午夜到早上六点。点击离线维护窗口期预览面板旁边的 Change按钮并设定想要的时间。
在设定这些必要信息后,点击OK按钮回到向导。不改变在线窗口期设定(在线维护随时都可以进行)。点击Next按钮。
5、在向导的通知页(Notification),您可以建立一个联系方式,当自动维护失败时会联系您。现在跳过这一步,
点击 Next按钮。
6、在向导的活动页(Activities),您可以选择某些活动为自动或者某些活动不自动,也可以选择进行某些活动要通报。
在这个例子中,请确保所有的自动(Automate)选框都被选中,所有的通报选项都被取消。点击Next按钮。
7、在进入下一页之前,您应该要配置数据库备份的地址。理论上,您应当把备份存储在一个不同的物理磁盘上,
防止磁盘错误。在活动页(Activities),选择数据库备份选项(Backup database),
点击配置设定Configure Settings按钮。
8、在配置设定(Configure Settings)对话框的备份标准(Backup Criteria)标签,选择平
衡数据库恢复和运行性能(Balance Database Recoverability with Performance)选项。在
备份地址栏,选择当前地址并点击Change按钮。设定一个不同的地址进行备份(请确保该
磁盘有足够空间)。在备份模式(Backup Mode)标签,请确保选择了离线备份(Offline Backup)。
点击 OK按钮关闭备份标准标签。点击 Next按钮。
9、自动维护配置向导的总结页包含了您的所有选择的总结。点击Finish按钮同意并执行这些改变。