计算机db数据库管理手册33p.docx

上传人:b****5 文档编号:4527167 上传时间:2022-12-01 格式:DOCX 页数:25 大小:271.27KB
下载 相关 举报
计算机db数据库管理手册33p.docx_第1页
第1页 / 共25页
计算机db数据库管理手册33p.docx_第2页
第2页 / 共25页
计算机db数据库管理手册33p.docx_第3页
第3页 / 共25页
计算机db数据库管理手册33p.docx_第4页
第4页 / 共25页
计算机db数据库管理手册33p.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

计算机db数据库管理手册33p.docx

《计算机db数据库管理手册33p.docx》由会员分享,可在线阅读,更多相关《计算机db数据库管理手册33p.docx(25页珍藏版)》请在冰豆网上搜索。

计算机db数据库管理手册33p.docx

计算机db数据库管理手册33p

第一章数据库管理2

1.1数据库管理概述2

1.2数据库日常管理说明3

1.3高级管理方法3

1.3.1为数据库分配硬盘空间和卷组4

1.3.2创建用户组和用户4

创建用户组5

创建用户5

1.3.3配置服务端口6

1.3.4创建实例6

1.3.5空间管理7

系统空间管理7

创建表空间8

1.3.6建库8

建立基本数据库8

建立表和索引8

建立约束及触发器10

建立视图11

删除数据库11

删除表11

1.3.7导入导出数据12

删除旧流水数据12

导出数据12

导入数据13

1.3.8权限管理13

认证14

数据库系统特权14

数据库对象授权14

程序包绑定(BIND)到数据库并授权16

1.3.9数据库备份和恢复方案17

离线备份18

在线备份18

1.4配置客户端19

1.4.1AIX上19

用户的准备19

配置客户端19

1.4.2Windows95/98/NT上21

分辨服务器的主机地址21

配置和测试客户端21

1.5控制中心使用27

1.6SHELL文件的列表说明28

第一章

数据库管理

本章主要介绍数据库的管理。

首先,我们简单介绍数据库管理的基本概念,然后,对数据库的日常维护工作逐一作出说明。

此后,从建立实例开始,介绍了如何使用我们开发的SHELL程序建立数据库等高级管理方法,并介绍了如何使用“控制中心”来管理数据库。

最后附上SHELL文件的列表说明。

一.1数据库管理概述

作为通常在后台运行的核心系统,数据库性能的好坏,将直接影响整个系统的性能甚至可用性。

所以,数据库管理是整个系统管理的关键之一。

DB2是IBM公司的优秀产品,其内部对数据库的管理是通过:

实例、节点组、数据库、表空间、表(及视图等)来进行的。

数据库管理程序(有时称为实例)是管理数据的DB2代码。

它控制可对数据执行的操作,并管理分配给它的系统资源。

每一个实例都是一个完整的环境。

它包含为一个给定的并行数据库系统定义的所有数据库分区。

一个实例有它自己的数据库(其他实例不能存取它),并且它全部的数据库分区共享相同的系统目录。

它也有独立于同一机器上的其他实例的单独的安全性。

节点组是一个或多个数据库分区组成的集合。

当您想为数据库创建表时,首先创建将存储表空间的节点组,然后创建将存储表的表空间。

有关节点组的更多信息,参见"节点组和数据分区"。

有关数据库分区的定义,参见"DB2并行性概念概述"。

一个数据库由称为表空间的部件组成。

表空间的定义和属性记录在数据库系统编目中。

一旦创建了一个表空间,您就可以在此表空间中创建表。

会给一个表空间分配一个容器。

容器是物理存储器的一种分配形式(如文件或设备)。

表空间驻留在节点组中。

一个表由逻辑地按行和列排列的数据组成。

表中的数据在逻辑上是相关的,且可以定义表与表之间的关系。

根据称为关系的数学规则和操作来察看和操纵数据。

表数据通过SQL存取,SQL是一种标准化语言,用于定义和操纵一个关系数据库中的数据。

所有数据库和表数据都被指定到表空间。

应用程序或用户使用查询,以从数据库检索数据。

该查询使用“结构化查询语言”(SQL)来创建下列格式的语句

SELECTFROM

图1举例说明刚才描述的对象之间的关系。

它也举例说明表、索引和长数据存储在表空间中的情况。

一.2数据库日常管理说明

由于在整个系统中,数据库是后台运行的部分,其日常管理很少,主要有:

启动停止。

启动:

每次开机后数据库会自动启动。

如果需要人为启动,则

●以实例拥有者(这里是ccdb)用户身份登录

●命令:

db2start;db2adminstart

停止:

●以实例拥有者(这里是ccdb)用户身份登录

●命令:

LANG=zh_CN;db2stop;db2adminstop

一.3高级管理方法

一.3.1为数据库分配硬盘空间和卷组

在建库之前,首先保证已建立datavg卷组(由root建立),并分配了逻辑卷。

F50有两个VG:

rootvg(HDISK1)和datavg(HDISK0、HDISK2)。

DB2系统安装在rootvg上(HDISK1),其它信息则在datavg上;

系统表、LOG为文件系统,用户表数据、用户表INDEX则为设备。

所有这些都放在“/dev”目录下。

具体名称及划分情况如下表:

数据库空间划分表

文件/设备

信息类型

名称

LV名

大小(M)

所在硬盘

文件

LOG(镜像)

db2log

lv_db2log

512

/db2log

Hdisk0

系统编目表、临时表、编码表、XPRESS表

db2sms

lv_db2sms

512

/db2sms

Hdisk0

设备

INDEX

rlv_index1

512

(无)

Hdisk2

rlv_index2

512

Hdisk2

rlv_index3

512

Hdisk2

DATA

rlv_dbdata1

512

Hdisk0

rlv_dbdata2

512

Hdisk0

rlv_dbdata3

512

Hdisk0

rlv_dbdata4

512

Hdisk0

rlv_dbdata5

512

Hdisk0

rlv_dbdata6

512

Hdisk0

一.3.2创建用户组和用户

在UNIX平台上,用户名和组名必须小写。

一.3.2.1创建用户组

由root创建用户组如下:

组名

含义

用途

ccdbadm

系统管理组

SYSADM特权是DB2中可用的能力最强的一组特权

db2fadm1

受保护组

为受保护的“用户定义函数”(UDF)和存储过程创建的一个组

ccadmgrp

呼叫中心管理模块组

为“管理”界面提供

cccagrp

CSR管理组

为CSR的管理提供

cccsrgrp

CSR组

为CSR提供

ccfaxgrp

FAX服务组

为FAX服务器上用户提供

ccivrgrp

IVR组

为IVR提供

ccrepgrp

前台报表组

为前台报表提供

ccintgrp

接口组

为主机接口、MQ、CIF接口等提供

ccuregrp

后台报表组

为后台报表提供

一.3.2.2创建用户

由root创建用户如下:

用户ID

所属主组

用途

ccdb

ccdbadm

实例拥有者,拥有对实例、ccdb数据库的所有权利

db2fenc1

db2fadm1

为受保护的“用户定义函数”(UDF)和存储过程创建

ccadm

ccadmgrp

为“管理”界面提供

cccsrad

cccagrp

为CSR的管理提供

cccsr

cccsrgrp

为CSR提供

ccfax

ccfaxgrp

为FAX服务器上用户提供

ccivr

ccivrgrp

为IVR提供

ccrep

ccrepgrp

为前台报表提供

ccintf

ccintgrp

为主机接口、MQ、CIF接口等提供

ccurept

ccuregrp

为后台报表提供

一.3.3配置服务端口

要实现节点间通信,需要配置服务端口。

对于一些管理任务,数据库管理服务器必须建立与所有节点的通信。

为此,必须在tcp_services_file中为参与此实例的每个主机定义一个命名的TCP端口。

例如,定义的db2inst包括两个主机:

hostA和hostB。

正如"环境示例"中所指定,在两个主机上不使用端口16000。

因此,必须将如下行插入到hostA和hostB的tcp_services_file中。

db2ccmsrv16000/tcp

操作:

为ccdb配置服务端口(如果50000或50001已经被占用,则换用其他端口)

在/etc/services文件中加入两条:

db2cdb2inst150000/tcp#ConnectionportforDB2instanceccdb

db2idb2inst150001/tcp#InterruptportforDB2instanceccdb

操作者:

root。

一.3.4创建实例

然后,创建实例:

使用db2icrt命令来创建附加实例,输入:

DB2DIR/instance/db2icrt-uFencedIDinstance_name

其中instance_name是最多八个字符的字母数字字符串,且其中DB2DIR=/usr/lpp/db2_05_00

db2icrt命令的语法如下:

db2crt[-h|-?

][-d][-aAuthType][-uFencedID]

[-pPortName][-sInstType]InstName

具体说明请参见《快速入门》一书。

操作:

这里,我们的使用是:

db2crt-udb2fenc1-pdb2cdb2inst1ccdb

操作者:

root。

其中,db2cdb2inst1是在/etc/services文件中定义的通信端口。

一.3.5空间管理

总共使用的空间有:

一个索引表空间(设备)

一个系统编目表空间(文件系统)

一个临时表空间(文件系统)

一个数据表空间存放客户信息数据(设备)

一个数据表空间存放操作流水数据(设备)

一个表空间存放各种编码表(文件系统)

一.3.5.1系统空间管理

在缺省情况下,用户表、临时表和系统目录表分属于独立的表空间。

他们在缺省驱动器里创建。

空间的分配有如下几个方面:

●用户空间(用于存储将包含数据的表):

usertablespace

我们使用:

/db2sms/usrts

●系统目录表(如"系统目录表"所述):

catalogtablespace

我们使用:

/db2sms/systs

●临时空间(诸如排序或重新组织表、创建索引和连接表这样的操作需要临时空间):

temporarytablespace

我们使用:

/db2sms/tmp4k

操作:

现在,在/db2sms下创建目录usrts、systs、tmp4k。

cd/db2sms

mkdirusrts

mkdirsysts

mkdirtmp4k

操作者:

实例拥有者ccdb。

一.3.5.2创建表空间

在一个数据库内创建表空间,会将容器分配到表空间,并在数据库系统编目中记录它的定义和属性。

然后我们就可以在此表空间内创建表。

根据系统不同数据的特点,我们划分了四个表空间:

●index_space:

目的是存放所有表的索引;

●ci_cc_space:

目的是存放CIF数据;

●process_space:

目的是存放各流水、报表等动态数据;

●st_tab_space:

目的是存放静态编码和XPRESS系统原有表的数据。

建立表空间的例子为

createregulartablespaceindex_spacepagesize4096managedbydatabaseusing(device'/dev/rlv_index1'128000,device'/dev/rlv_index2'128000,device'/dev/rlv_index3'128000)extentsize64prefetchsize32;

关于db2命令行参数的使用,可参阅《CommandReference》一书。

操作:

为了建立表空间,我们只需要运行SHELL文件creSpaceAll.sql如下:

db2-t-fcreSpaceAll.sql–zcreSpaceAll.log

操作者:

实例拥有者ccdb。

一.3.6建库

一.3.6.1建立基本数据库

建立数据库xpress,使用别名为cti_xdb,指定语言为中文:

CN,GBK。

使用的系统空间为上面所说三个目录。

使用的SHELL程序为:

creDbAll.sql。

操作:

db2-t-fcreDbAll.sql–zcreDbAll.sql

操作者:

实例拥有者ccdb。

一.3.6.2建立表和索引

建表分为两个模块:

XPRESS原有模块和CALLCENTER新模块。

所有的建表功能都封装在两个SHELL程序(creTabCC.sql,reTabXPE.sql)中。

如果系统需要作调整,则只需调整这两个模块即可。

SHELL中,指出表名、各字段定义、注解以及主键和主索引,同时定义了使用的表空间。

例如:

--===========================================================

--Table:

CF_TRAN_CAN_LOG

--===========================================================

createtableCF_TRAN_CAN_LOG

CF_CALL_IDCHAR(30)notnull,

CF_TXN_SVC_TIMETIMEnotnull,

CI_INTO_ACCT_NOVARCHAR(28)notnull,

CI_OUT_ACCT_NOVARCHAR(28)notnull,

CF_CAN_MONDECIMAL(15,2)notnull,

CF_TRAN_TIMTIMEnotnull,

CF_CAN_KEYCHAR

(2)notnull

)inprocess_spaceindexinindex_space;

commentontableCF_TRAN_CAN_LOGis'转帐冲帐流水';

commentoncolumnCF_TRAN_CAN_LOG.CF_CALL_IDis'呼叫_ID';

commentoncolumnCF_TRAN_CAN_LOG.CF_TXN_SVC_TIMEis'交易服务时间';

commentoncolumnCF_TRAN_CAN_LOG.CI_INTO_ACCT_NOis'转入帐号';

commentoncolumnCF_TRAN_CAN_LOG.CI_OUT_ACCT_NOis'转出帐号';

commentoncolumnCF_TRAN_CAN_LOG.CF_CAN_MONis'金额';

commentoncolumnCF_TRAN_CAN_LOG.CF_TRAN_TIMis'转帐时间';

commentoncolumnCF_TRAN_CAN_LOG.CF_CAN_KEYis'摘要';

--===========================================================

--Index:

CF_TRAN_CAN_LOG_PK

--===========================================================

createuniqueindexCF_TRAN_CAN_LOG_PKonCF_TRAN_CAN_LOG(CF_CALL_IDasc,CF_TXN_SVC_TIMEasc);

altertableCF_TRAN_CAN_LOG

addconstraintCF_TRAN_CAN_LOG_PKprimarykey(CF_CALL_ID,CF_TXN_SVC_TIME);

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●建立CALLCENTER新表:

db2-t-fcreTabCC.sql-zcreTabCC.log

●建立XPRESS原有表:

db2-t-fcreTabXPE.sql-zcreTabXPE.log

操作者:

实例拥有者ccdb。

一.3.6.3建立约束及触发器

所有的约束及触发器的建立都集中在一个SHELL文件(creRefCC.sql)中。

主要对关系中的RESTRICT和CASECATE作出限制。

(RESTRICT指:

禁止,CASECATE指:

传递。

详情可参见物理设计模型)

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●建立约束和触发器:

db2-td/-fcreRefAll.sql-zcreRefAll.log

操作者:

实例拥有者ccdb。

一.3.6.4建立视图

主要为使XPRESSAdminister工具能够继续被使用来录入产品、紧急等内容。

由于我们现在的系统对XPRESS原由模型的数据库作了一定的改进以适应目前的需求,原来系统中的“PRODUCT_CATEGORIES”、“PRODUCTS_TABLE”、“EMERG_CATEGORIES”和“EMERG_TABLE”的结构被做了一定修改。

但XPRESSAdminister系统被封装无法修改。

所以我们将原来XPRESS的这四个表改为视图。

所有的视图的建立都集中在一个SHELL文件(creViewXPE.sql)中。

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●建立视图:

db2-td/-fcreViewXPE.sql-zcreViewXPE.log

操作者:

实例拥有者ccdb。

一.3.6.5删除数据库

有时,需要删除整个数据库。

这时,会自动删除数据库的内容以及所有的记录文件,并把数据库从系统编目表中删去,然后删除数据库子目录。

注意这是危险操作!

建议操作之前先备份数据库!

操作:

●建立约束和触发器:

db2-dropdbcti_xdb

操作者:

实例拥有者ccdb。

一.3.6.6删除表

如果需要删除表,可以运行删除表的命令。

例如,删除表xpress.abc:

db2droptablexpress.abc

如果删除所有的表,则需要运行两个SHELL文件(dropTabCC.sql,dropTabXPE.sql、dropView),会自动删除所有建立的表及视图。

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●删除CALLCENTER表:

db2-t-fdropTabCC.sql-zdropTabCC.Log

●删除XPRESS原有表:

db2--fdropTabXPE.sql-zdropTabXPE.Log

操作者:

实例拥有者ccdb。

一.3.7导入导出数据

一.3.7.1删除旧流水数据

需要定期清理流水表(现在设计为清理六个月以前的流水数据),已经设计了处理程序来完成此任务。

如果需要手工清理,则可以执行下列操作:

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●删除6个月以前的流水:

db2-fdeleteOldLog.sql-zdeleteOldLog.Log

操作者:

数据库系统管理员或实例拥有者ccdb。

一.3.7.2导出数据

下面的导出数据操作,可以视需要只操作其中一部分

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●导出新表的数据:

db2--fExportCC.sql-zExportCC.Log

●或,导出XPRESS原有表的数据:

db2-fExportFrXPE.sql-zExportFrXPE.Log

●或,导出CIF数据:

db2-fExpCIF.sql-zExpCIF.Log

●或,导出流水数据:

db2-fExpLog.sql-zExportFrXPE.Log

操作者:

数据库系统管理员或实例拥有者ccdb。

一.3.7.3导入数据

下面的导入数据操作,可以视需要只操作其中一部分

操作:

●连接数据库:

db2"connecttocti_xdbuserccdbusingebeb"

●设置模式:

db2setschemaxpress

●导入新表的数据:

db2-t-fImportCC.sql-zImportCC.Log

●或,导入XPRESS原有表数据:

db2--fImpAllFrXPE.sql-zImpAllFrXPE.Log

●或,删除原有CIF数据,并导入新数据:

db2-fDeImCIF.sql-zDeImCIF.Log

●或,导入流水数据:

db2-fImpLog-zImpLog.Log

操作者:

数据库系统管理员或实例拥有者ccdb。

一.3.8权限管理

要保护与一个数据库服务器相关的数据和资源,DB2同时使用外部安全服务与内部存取控制信息。

要存取一个数据库服务器,必须在被允许存取数据库数据或资源之前通过一些安全性检查。

数据库安全性中的第一步称为认证,在该步骤,用户必须证明他的身份是真实的。

第二步称为授权,在此步骤,数据库管理程序决定是否允许经验证的用户执行请求的操作或存取请求的数据。

一.3.8.1认证

DB2使用下列两种方式之一来使用安全性设施认证用户:

●DB2使用成功的安全性系统注册ID来证实您的身份,并允许使用该身份来进行下列操作:

Ø使用本地命令存取本地数据

Ø使用远程连接,在这里服务器委托客户机认证。

●DB2接受用户ID和口令的组合,并使用安全性设施来成功验证它们,以证实您的身份,并允许:

Ø使用远程连接,在这里服务器需要认证的证明

Ø使用操作,在这里用户希望以某个不同于注册所用的身份来执行命令

这样,登录本地机(cti_server)时,如果,需要访问数据库,可以使用缺省当前用户

一.3.8.2数据库系统特权

系统管理权限(SYSADM):

SYSADM_GROUP

数据库管理权限(DBADM):

建议目前由系统管理员兼任

系统控制权限(SYSCTRL):

SYSCTRL_GROUP建议由系统管理员兼任

系统维护权限(SYSMAINT):

SYSMAINT_GROUP

一.3.8.3数据库对象授权

定义应

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1