免费预览已结束,剩余85页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
标识:密级:版本:公安边防部队应用软件一体化工程技术文件DB2数据库常用运行、维护手册中国电子科技集团公司第十五研究所北京品恩科技有限公司二九年四月DB2数据库常用运行、维护手册拟 制:审 核:质量保证:批 准:文档修改记录版本号修改内容描述修改人日期备注目 录1 概述11.1 标识11.2 术语及缩略语11.3 文档概述12 引用文档13 DB2 V9.7 在 ASIANUX 平台的安装配置23.1 DB2数据库概述23.2 DB2数据库安装与配置23.3 DB2数据库体系结构介绍53.3.1 DB2系统53.3.2 实例53.3.3 配置文件与DB2 注册变量63.3.4 数据库63.3.5 表空间63.3.6 连通性与DB2目录73.3.7 模式73.3.8 表、索引和大对象73.3.9 视图83.3.10 日志83.3.11 缓冲池83.3.12 诊断文件84 数据库服务器管理84.1 DB2 实例管理84.2 设置 DB2 环境94.2.1 设置配置文件注册库94.2.2 设置系统环境变量114.2.3 设置配置参数114.3 DB2 客户机/服务器连通性144.4 DB2 安全性224.5 设置权限级别244.6 创建工具编目数据库284.7 使用通知日志295 DB2数据库日常维护工作315.1 DB2日常维护操作315.1.1 检查管理服务器是否启动315.1.2 检查DB2实例是否已经启动315.1.3 查看表空间状态是否正常315.1.4 查看表的状态325.1.5 查看磁盘空间325.1.6 检查数据库备份是否正常335.1.7 检查归档日志是否正确归档了335.1.8 查看缓冲池的命中率335.1.9 查看当前连接的应用程序,有没有非法连接335.1.10 检查有没有死锁335.1.11 对表和索引进行runstats335.1.12 检查表是否需要重组335.1.13 必要时对需要重组的表进行重组345.2 DB2日常维护月操作345.2.1 查看DB2诊断日志345.2.2 归档DB2诊断日志345.2.3 检查备份和日志是否都保存好了345.3 DB2日常维护季度操作345.3.1 通过快照监控器,查看系统性能如何345.3.2 数据库补丁级别355.4 注意事项355.5 捕获数据库运行状况快照366 DB2 数据移动及相关的实用程序366.1 DB2 EXPORT 实用程序376.1.1 EXPORT 实用程序概述376.1.2 用 LOBSINFILE 修饰符导出大型对象386.1.3 导出 XML 数据416.1.4 从 Control Center 中导出数据456.2 DB2 IMPORT 实用程序466.2.1 IMPORT 实用程序概述466.2.2 导入 XML 数据496.2.3 使用 Control Center 执行导入516.3 DB2 LOAD 实用程序526.3.1 LOAD 实用程序概述526.3.2 设置 Integrity Pending 表状态576.3.3 表空间状态586.3.4 使用 Control Center 执行装载596.3.5 IMPORT 与 LOAD的比较596.4 DB2 数据移动实用程序606.4.1 db2move606.4.2 db2look626.4.3 db2batch636.5 DB2 数据维护实用程序666.5.1 RUNSTATS 实用程序666.5.2 REORG 和 REORGCHK 实用程序687 DB2数据库备份与恢复707.1 设置归档日志模式707.2 在线数据库备份707.3 数据库的恢复717.4 DB2数据库增量备份与恢复727.4.1 设置增量备份的配置参数727.4.2 数据库增量备份727.4.3 数据库增量备份的恢复728 DB2数据库高可用性解决方案HADR728.1 HADR设置758.1.1 HADR设备环境构成758.1.2 HADR配置过程758.2 HADR工作状态查询方法798.3 使用备用数据库接管主数据库的方法808.4 HADR常用命令808.5 HADR基本故障排除82841 概述1.1 标识本文档的标题:DB2数据库常用运行、维护手册本文档的标识:本文档的版本号:1.2 术语及缩略语本文档中使用的术语及缩略语详见下表:表 1 本文档使用的术语及缩略语一览表序号术语或缩略语术语解释备注1.无2.无3.无4.无5.无6.无7.无8.无1.3 文档概述本文档讲述了DB2系统管理和运维常用的操作。文档适用人员为边防部队软件一体化平台的DB2数据库管理员本文档各章节内容说明如下表:表 2 文档概述一览表章节号章节名称内容描述备注1.概述无2.无3.无4.无5.无2 引用文档表3 引用文档一览表序号文档标识文档名称版本号备注1.2.3.4.5.6.3 DB2 V9.7 在 ASIANUX 平台的安装配置3.1 DB2数据库概述DB2 是 IBM 公司的核心数据库产品。DB2数据库自1983年推出第一款产品以来,至今已经发展成支持多种操作系统平台,支持从企业数据库服务器到掌上机数据库的多种版本的数据库产品。边防部队软件一体化平台使用的DB2产品是用于LINUX平台的DB2 V9.7企业版数据库。本产品的特点是:同时支持传统关系数据和XML的混合型数据。3.2 DB2数据库安装与配置根据边防部队软件一体化平台的实际情况,本手册只介绍:用命令行方式在 ASIANUX 平台的安装配置DB2 V9.7的过程。具体安装步骤如下:1)安装准备用root登录ASIANUX操作系统创建一个文件夹,名字自己取一个就行。如:mkdir -p /setup/db2V9.7cd /setup/db2V9.7把DB2 V9.7的安装文件v9.7_linuxia64_server.tar.gz拷入该目录解压tar包,启动安装tar -zvxf v9.7_linuxia32_server.tar.gzcd server./db2_install注意:可以运行./db2_install -b DB2DIR -p productName,其中,DB2DIR是要安装DB2产品的路径,productName是要安装的产品的名称,我们选择ESE(Enterprise Server Editioin)。可以不为./db2_install 命令提供任何参数,在这种情况下会提示输入产品名称和安装路径径。可以通过运行命令./db2_install -h了解详细的用法信息。如果没有使用-l选项指定日志路径,那么可以在/tmp目录中找到安装日志文件。不想改变默认的安装路径就输入否,(默认的安装路径为/opt/ibm/db2/V9.7)输入ESE,安装企业版在Linux上创建组groupadd -g 999 db2iadm1groupadd -g 998 db2fadm1groupadd -g 997 dasadm1为每个用户组创建用户useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1 db2inst1useradd -u 1003 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1修改用户密码passwd db2inst1passwd db2fenc1passwd dasusr1创建一个管理服务器DB2 Administration Server (DAS)/opt/ibm/db2/V9.7/instance/dascrt -u dasusr1创建一个实例 DB2 instance,命令如下/opt/ibm/db2/V9.7/instance/db2icrt -a SERVER -u db2fenc1 db2inst1su - db2inst1db2start配置DB2实例的TCP/IP通信db2set DB2_SKIPINSERTED=ONdb2set DB2_EVALUNCOMMITTED=ONdb2set DB2_SKIPDELETED=ONdb2set DB2_HASH_JOIN=YESdb2set DB2_RR_TO_RS=YESdb2set DB2CODEPAGE=1386db2set DB2COMM=TCPIPdb2set DB2_PARALLEL_IO=*db2 update dbm cfg using svcename 50000更新产品许可证密钥db2licm -a /setup/db2V9.7/db2ese_c.licdb2licm -a /setup/db2V9.7/db2geo.licdb2licm -a /setup/db2V9.7/db2poese.licdb2licm -a /setup/db2V9.7/db2so.licdb2licm -a /opt/install/db2V9.7/sam31.lic改变一下db2启动方式db2set DB2AUTOSTART=NOsu -vi /etc/rc.local在touch /var/lock/subsys/local的后面加上以下内容su - db2inst1 -c db2start3.3 DB2数据库体系结构介绍如上图所示,DB2 V9 数据库对象的体系结构由下列概念组成:3.3.1 DB2系统DB2 体系结构中的最高一层是系统,一个系统表示DB2的一个安装,在一个由很多计算机组成的网络环境中,我们有时也称系统为数据库分区。一个系统可以包含多个DB2实例,每个实例能够管理一个或多个数据库。3.3.2 实例实例也称为数据库管理器(Database Management Application)。在一台数据库服务器中允许有多个相互独立的实例。但是,具体到边防部队软件一体化平台,为了简化数据库管理,一台数据库服务器只安装一个实例。关于如何创建实例、管理实例等详细内容,我们会在第4章: “创建实例和管理服务器”一章中详细讲解。3.3.3 配置文件与DB2 注册变量与许多其他关系数据库管理系统一样,DB2使用不同的配置参数来管理、监视和控制DB2系统的行为。这些机制包括:环境变量环境变量是在数据库服务器的操作系统级别定义的变量。具体在ASIANUX操作系统中,操作系统级别定义的环境变量放在实例用户的主目录下的sqllib子目录中一个名为:db2profile的文件中。DB2概要文件注册变量DB2通过使用概要文件注册变量来集中控制环境变量,不同的概要文件提供了不同级别的支持。注册变量定义了DB2操作环境,这些变量存储在DB2注册文件中。注册变量可分为:全局变量和实例变量两类。全局变量的设置作用是系统范围的;实例变量的设置作用范围是一个的实例。在实例上定义的变量值能够覆盖全局变量中同名变量的设置。配置参数配置参数是在实例级和数据库级两个不同级别上分别定义的两组参数。配置参数能够影响数据库管理员的操作特性,它们存储在配置文件中。数据库管理器配置参数是在DB2实例创建时建立的。 数据库配置参数文件是数据库创建时建立的。它位于数据库所在的目录。每个数据库有一个数据库配置参数文件。数据库的配置定义了分配给数据库的各种资源的数量。许多数据库配置参数是可修改的,用于满足数据库运行的各种需求。如:提高性能、容量等。3.3.4 数据库关系数据库使用一组表来管理数据,一个表是一个由行和列组成的二维表。每个表中的数据在逻辑上可以有相关性,各表之间能够定义关系。每个数据库包含一组系统编目表(或称为数据字典)、配置文件和恢复日志,系统编目表用于描述数据的逻辑关系和物理结构。配置文件包含所有为数据库分配的配置参数值,恢复日志记录正在进行的事务处理和可存档的事务处理。3.3.5 表空间表空间是数据库中表数据与数据库之间的逻辑中间层,数据库中的物理空间组织为表空间的集合,表空间是表的逻辑集合。每个表空间包含容器集合,容器(container)是用来描述物理空间分配的术语。数据库将数据存储在自己的表空间容器中。每个表存储在一个或几个表空间中,为了提高性能,或者为了便于表空间的备份,可以将一个表中不同类型的数据分别存储在不同的表空间中。通常的做法是:常规数据存储在一个数据表空间中,表的索引存储在一个索引表空间中,表中的大对象字段则存放在一个大对象表空间中。表空间最终会映射到物理存储介质上,对物理存储的合理使用可以让管理员有效地控制数据库的性能。这部分的内容会在后面章节详述。3.3.6 连通性与DB2目录节点目录节点目录用于存储远程数据库的所有连通性信息。节点目录中记录与每个系统进行通信所需要的信息:例如计算机的主机名或IP地址,还有相关的DB2实例的端口号和使用的通信协议。要想得到您想要连接的远程实例的端口号,可以通过查看该实例的dbm cfg中的svcname参数来获得。该参数通常对应于TCP/IP services文件中的一项。节点目录主要用于配置客户端到服务器的通信。系统数据库目录(或系统db目录)系统数据库目录包含本地数据库目录和从远程的计算机上映射到本地的数据库目录。它是我们访问数据库的一个入口,我们连接数据库时首先去系统数据库目录中判断这个数据库是否存在,然后再判断这个数据库是本地数据库还是远程数据库。如果是本地数据库就直接到本地物理目录上访问;如果是远程数据库,还要找到这个远程数据库在哪个节点上,然后再到节点目录中找到这个节点的通信信息,最后需要连接到远程节点上访问这个远程的数据库。本地数据库目录(或本地db目录)本地数据库目录包含了有关本地数据库的信息。用户在使用create database 命令创建数据库时,在该目录中会添加一个条目。3.3.7 模式模式是数据库对象的逻辑分组集合,它细化了数据库的“粒度”,帮助对表和其它数据库对象进行逻辑分组。模式可以归某个用户个人所有,拥有者可以控制其他用户对该模式中数据库对象的访问权限。模式是数据库对象特征划分的结果集,它可以表示数据库对象的特点,有一定的安全作用。数据库中所建的每一个对象都有模式,这些模式会隐式或显式地增加为对象的前缀。创建用户时,系统会为每个用户默认隐含建立与用户名同名的模式名。当用户创建数据库中的对象时,如果用户写明了创建对象的模式名(即对象的前缀),则此模式即位该对象的模式;如果未指明模式名,那么与当前用户名同名的模式即为该对象的模式名。3.3.8 表、索引和大对象表是数据库的基本组成单元,是客观世界中实体的一种描述。表由行、列组成。表的每一列描述了对应的实体属性,同一列数据都具有相同的数据类型。表的每一行都描述了一个实体的信息。所有数据库和表数据都被存储在表空间中。索引是与表相关的有序指针集,用于提高数据查询性能,有时也用于确保数据唯一性。视频、音频和扫描文档等可以作为大对象(LOB)存储在数据库中。3.3.9 视图视图是高效率的数据操纵机制。视图是“虚拟”的表,它的数据本质上还是来自于数据库中的“基表”。3.3.10 日志日志是用于恢复目的的文件。3.3.11 缓冲池缓冲池是一块内存区域,所有索引和数据页(除了LOB)都必须有序地经过该区域,才能进行数据处理。它是数据库管理器所使用的高速缓存。在数据库性能问题方面,缓冲池市进行调优的最主要的对象。3.3.12 诊断文件每个实例都有诊断文件,当数据库出现问题时,我们首先要检查诊断文件来判断数据库出现了什么类型的错误。4 数据库服务器管理4.1 DB2 实例管理创建及删除实例DB2 实例 是一种逻辑上下文,DB2 命令及函数在其中执行。您可将实例视为管理对数据库文件的访问的服务或守护进程。在一台服务器上可定义多个实例。各实例独立于其他实例,也就是说所有实例均可分别管理、操纵及调优。 在 Linux 中,您必须另外提供一个用户 ID,用以创建 fenced 用户定义的函数和存储过程进程,形式如下:db2icrt -ufenced_user_ID instance_name默认情况下,用户定义的函数和存储过程是在 fenced 模式下创建的,因而这些进程运行在与 DB2 引擎不同的地址空间中,也称为系统控制器进程 db2sysc。这为数据库管理器提供了保护,使之免于被用户定义的例程意外地或恶意地破坏。要删除一个实例,首先断开所有数据库连接,然后执行以下命令停止实例:db2idrop -finstance_name列举、迁移和更新 DB2 实例要列举服务器上存在的 DB2 实例,可使用以下命令:db2ilist若您决定转而使用比服务器上安装的 DB2 软件更新的版本,或者需要将 32 位实例迁移为 64 位实例,就需要进行实例迁移。在 Linux上,可使用以下命令显式地迁移已有实例:db2imigrinstance_name在为 DB2 安装修补程序包或补丁时,一旦在服务器上安装好了修补程序包,您就需要更新已有实例,以链接到新的修补程序文件。使用以下命令更新实例:db2iupdtinstance_name4.2 设置 DB2 环境恰当地设置 DB2 环境非常重要,这是因为它控制着 DB2 操作和活动的方式。DB2 环境由以下几部分构成:DB2 配置文件注册库 操作系统环境变量 DB2 数据库管理器配置参数 DB2 数据库配置参数 4.2.1 设置配置文件注册库DB2 配置文件注册库是特定于 DB2 的变量,它会影响 DB2 系统的管理、配置与性能。为使 DB2 配置文件注册库的更改生效,您通常需要停止并重启实例。要列举所支持的全部 DB2 配置文件注册库:db2set -lr要设置 DB2 配置文件注册库:db2setregistry_variable = value请注意,在变量名、等号和变量值之间没有空格。下面给出一个将 DB2COMM 注册库变量设置为单一值的示例:db2set DB2COMM=TCPIP将 DB2COMM 注册库变量设置为多个值的示例如下:db2set DB2COMM=TCPIP,NPIPE,LOCAL要将 DB2 配置文件注册库重置为默认值,只需使用与上面相同的命令即可,但不指定任何值:db2setregistry_variable =要显示服务器上当前设置的所有 DB2 配置文件注册库,请执行以下命令:db2set -all您将看到形式如下的输出结果:e DB2PATH=C:Program FilesIBMSQLLIB_01i DB2ACCOUNTNAME=IBM-TP101dwsnowi DB2INSTOWNER=IBM-SB2QTSR5RSNi DB2PORTRANGE=60001:60004i DB2INSTPROF=C:PROGRA1IBMSQLLIB1i DB2COMM=TCPIP,NPIPE,LOCALg DB2_EXTSECURITY=YESg DB2SYSTEM=IBM-TP101g DB2PATH=C:Program FilesIBMSQLLIB_01g DB2INSTDEF=DB2V方括号( )中包含的标记表示注册库配置文件的作用域,具体解释如下:e 表示为当前会话或环境所设置的注册库 u 表示用户级注册库 n 表示节点级注册库 i 表示实例级注册库 g 表示全局级注册库 4.2.2 设置系统环境变量绝大多数 DB2 环境设置都是由 DB2 配置文件注册库控制的。而那些未存储在配置文件注册库中的设置称为操作系统环境变量。设置系统变量的命令将根据您所使用的平台及 UNIX shell 而有所不同。下面给出几个示例:在 Linux 的 Korn shell 中: export DB2INSTANCE=PROD DB2INSTANCE 是一个需要掌握的重要系统变量。它指定当前应用程序的会话或窗口的默认 DB2 实例。一旦设置好该变量,后续的所有 DB2 命令都将在该实例的作用域内执行。要了解您当前工作在哪个 DB2 实例中,可运行以下 DB2 命令:get instance举个例子,为此,您只要运行以下命令即可:db2 get instance此命令的输出结果形式如下:The current database manager instance is:DB2V4.2.3 设置配置参数在 DB2 中,存在两个配置 “级别”。在实例(或数据库管理器)级别,您可为该实例配置整个 DB2 环境,这将影响实例中的所有数据库和使用该实例中数据库的所有应用程序。在数据库 级别,您可配置参数,而这些参数将影响到访问特定数据库的所有应用程序的行为。使用如下 DB2 命令可获得一个配置参数的列表,并带有简短的描述、其当前及挂起值:db2 get database manager configurationdb2 get database configuration fordatabase_name使用以下命令可设置数据库管理器或数据库配置参数的值:db2 update database manager configuration usingparameter new_valuedb2 update database configuration fordatabase_name usingparameter new_value若您所指定的参数更改不能立即生效,则在您运行了 update db/dbm configuration 命令后,将返回形式如下的警告消息:SQL1362W One or more of the parameters submitted for immediate modification were not changed dynamically. Client changes will not be effective until the next timethe application is started or the TERMINATE command has been issued.Server changes will not be effective until the next DB2START command.联机设置配置参数绝大多数配置参数均可在实例或数据库保持运行的情况下联机设置。只要可能,对这些联机配置参数的更改默认为立即生效。例如,若更改了 sortheap 的值,所有新的 SQL 请求将使用新值。为显式指定这种立即生效的行为,可将 immediate 关键字附加到 update 命令中:db2 update database manager configuration usingparameter new_value immediatedb2 update database configuration for database_name using parameter new_value immediate若您选择将此更改延迟至实例重启或数据库激活时,则应指定 deferred 关键字:db2 update database manager configuration using parameter new_value deferreddb2 update database configuration for database_name using parameter new_value deferred有时,您可能希望找出已确定并延迟了哪些更改。为显示数据库管理器配置参数的当前值和挂起值,首先进入实例,然后在 get database manager configuration 命令中指定 show detail 选项,方法如下(请注意,instance_name 是系统环境变量 DB2INSTANCE 设置的值):db2 attach toinstance_namedb2 get database manager configurationshow detail同样地,要列举数据库配置参数的当前值和挂起值,首先连接到数据库,然后使用 show detail 选项:db2 connect todatabase_namedb2 get database configuration fordatabase_nameshow detail挂起值列于 Delayed Value 列中,如下所示。强制停止实例和数据库:如果您需要使数据库或数据库管理器配置更改立即生效,而您所更改的参数并非动态,那么就需要停止并重启数据库或整个实例。若存在连接并使用此实例中一个或多个数据库的应用程序,您就无法停止并重启数据库或实例。此时,您可使用如下 DB2 命令,强行使用户断开 与数据库的连接:force application all您也可以在停止实例的同时断开所有用户的连接,命令如下:db2stop force启动实例:db2start若您只希望强制停止一个特定的应用程序,则需要了解该应用程序的句柄。 使用以下命令查找句柄:list applications您将看到形式如下的输出结果:Auth IdApplicationAppl.Application Id DB # of Name HandleNameAgents- - - - - -DSNOWdb2bp.exe8*LOCAL.DB2.020205193946SAMPLE 1若您仅希望强制停止命令行处理器(或命令窗口),即本例中的 db2bp.exe 应用程序,可使用如下 DB2 命令:force application (8)4.3 DB2 客户机/服务器连通性DB2 客户机/服务器环境由于 DB2 用户间整体通信协议使用情况发生了变化,因此为实现 DB2 客户机/服务器连通性,DB2 目前支持以下协议:TCP/IP NPIPE 为远程应用程序连接准备您的 DB2 数据库在 DB2 客户机(应用程序)能够连接到数据库之前,您必须确保服务器端通信得到了恰当的设置,可接收连接请求。要为 TCP/IP 连接准备服务器,您需要设置一个 TCP/IP 监听器,方法如下。 使用以下命令设置 DB2 配置文件注册库 DB2COMM,使实例能够监听 TCP/IP 的连接:db2set DB2COMM=TCPIP在数据库管理器配置文件中设置 TCP/IP 协议必需的信息。 您需要为各启用了 TCP/IP 连接的 DB2 实例指派一个端口号。一个名为 “services” 的文件包含系统中定义的各服务的条目及与之关联的各端口号。文件的位置取决于您的操作系统。例如,在 Linux上,此文件通常存储在 /etc 目录中。 由于一个端口号一次只能被一个服务所使用,因此强烈建议您以 services 文件为中心,维护所有服务(和 DB2 实例)及其相关端口号的列表。例如,要将 TCP/IP 端口号 50000 保留给 DB2 实例 db2icdb2,可将如下代码行添加到 services 文件中:db2icdb2 50000/tcp更新数据库管理器配置,这样 DB2 将为您所处理的实例使用与 db2icdb2 服务相关联的端口号:db2 update database manager configuration usingsvcename db2icdb2您还可直接在数据库管理器配置中编码端口号,而不是将端口号添加到 services 文件中。此时,使用正确的端口号更新数据库管理器配置参数 svcename,如下所示:db2 update database manager configuration usingsvcename 50000数据库管理器配置参数 svcename 并非动态,因此您必须停止并重启实例,以使 TCP/IP 监听器启动,如下所示:db2stopdb2start使用 DB2 Configuration AssistantDB2 Configuration Assistant 提供了用户友好的向导和图形化界面,可配置您或您的应用程序将使用的环境。通过下图所示的 Configuration Assistant,您可以:添加一个新的数据库连接 更新数据库连通性信息 查看并更新数据库管理器配置参数 查看并更新 DB2 配置文件注册库 将应用程序绑定到数据库 更新 Call Level Interface(CLI)设置 配置数据库连通性的三种方法在 DB2 Configuration Assistant 中,有三个选项可用于设置数据库连接。您可以: 为 DB2 数据库搜索网络 使用 DB2 访问配置文件 手动配置连接 通过搜索网络自动配置数据库连通性DB2 Discovery 搜索并定位您的网络上的 DB2 服务器,您可以选择使用搜索 或已知 发现方法。搜索方法将在网络中搜索任意 DB2 服务器。这种方法需要花上一些时间才能返回结果。如果您知道一些关于希望定位的 DB2 服务器的信息,则可使用已知方法,并提供数据库或服务器名称之类的信息来约束搜索。有时,您可能不希望某些 DB2 服务器、实例或数据库为可发现的。 例如,假设一个 DB2 服务器包含一个生产实例或开发实例。在开发实例中,定义了两个数据库:ACCT 和 HUMRES。您可能希望使生产实例不被发现,而仅允许开发实例中的 ACCT 数据库被发现。DB2 允许您进行这样的配置,从而使您的服务器上的机密数据库不会被轻易获得。仅在 DB2 服务器上运行 Administration Server(DAS)服务、且 discover 配置参数被设置为 search 时,该 DB2 服务器才可被搜索到,如下所示:db2admin startdb2 updateadmin configuration usingdiscover search您还可控制哪些实例是可被发现的,只需设置 discover_inst 数据库管理器配置参数即可,如下所示:db2 update database manager configuration usingdiscover_inst enable各数据库都拥有一个相似的配置参数 discover_db,它可启用或禁用数据库发现,如下所示:db2 update database configuration fordatabase_name usingdiscover_db enable这里要重点指出,在 DAS、实例或数据库级别禁用发现不会限制 DB2 客户机通过其他方法设置数据库连通性(下文将详细讨论)。DB2 客户机仍然可以连接到远程数据库 即便其数据库配置 discover_db 被禁用也是如此。使用 DB2 访问配置文件自动配置数据库连通性如果您要为 1,000 台或更多的工作站设置 DB2 客户机/服务器连通性,那么您会怎么做?您当然可以前往每一台工作站,使用 Configuration Assistant 中的发现方法,但可能要花上很长一段时间才能完成这个任务。在此类情况下,您应考虑使用 DB2 访问配置文件。 访问配置文件中包含客户机配置与 DB2 服务器的连通性时所必需的信息。访问配置文件有两种类型:服务器访问配置文件 是在 DB2 服务器上生成的。它包含服务器上定义的全部或选定的部分实例和数据库的相关信息。 客户机配置文件 是在 DB2 客户机上生成的。它包含客户机上已编目的实例(也称为节点)和数据库的相关信息。 让我们逐步地看一下 DB2 访问配置文件方法。使用 Configuration Assistant 将信息导出到访问配置文件(该文件就是一个 ASCII 文件)。在下图中,请注意部分 DB2 环境设置(如数据库管理器配置和 DB2 配置文件注册库)也可导出。将导出的文件发送给客户机。使用 Configuration Assistant 将文件导入 DB2 客户机。您可能会发现,要向您的所有用户解释如何使用 Configuration Assistant 导入配置文件是件相当麻烦的事情。而且某些用户所安装的某些版本的 DB2 运行时客户机可能不包含 Configuration Assistant。在这种情况下,您可使用以下命令,执行与上述相同的导入操作:db2cfimpaccess_profile_name手动配置数据库连通性如果您了解配置连通性所必需的所有信息,那么可以使用 Configuration Assistant 中的 Add Database 向导,如下所示。4.4 DB2 安全性DB2 安全性概述DB2 安全性是通过组合外部安全性服务与内部 DB2 授权机制来处理的。外部安全性服务对希望访问 DB2 服务器的用户进行身份验证,DB2 外部的安全性软件负责处理身份验证。该软件可以是操作系统的安全性设施,也可是 Kerberos 等独立产品。成功校验了用户 ID 和口令后,内部 DB2 进程将接管控制,并确保用户有权执行所请求的操作。身份验证类型身份验证类型确定在何处验证用户 ID/口令对。所支持的身份验证类型有: SERVER(默认) SERVER_ENCRYPT KERBEROS KRB_SERVER_ENCRYPT CLIENT 身份验证类型是在服务器和客户机处同时设置的。 边防部队软件一体化平台目前采用SERVER身份验证类型。服务器 每个实例仅允许一种类型的身份验证,也就是说,设置适用于该实例下定义的所有数据库。在数据库管理器配置文件中使用 AUTHENTICATION 参数指定该设置。db2 update database manager configurationauthenticationauth_type使用 SERVER 选项进行身份验证使用 SERVER 选项时,用户 ID 和口令将发送到服务器进行校验。考虑以下示例。用户使用用户名 peter 和口令 peterpwd 登录到工作站。 peter 随后使用用户 ID db2user 和口令 db2pwd 连接到 SAMPLE 数据库,这是在远程 DB2 服务器上定义的。 db2user 和 db2pwd 通过网络发送到服务器。 db2user 和 db2pwd 在 DB2 服务器上校验。 若您想保护用户 ID 和口令免于被窃听,可使用身份验证类型 SERVER_ENCRYPT,这样用户 ID 和口令就都会被加密。4.5 设置权限级别权限级别控制执行数据库管理器维护操作和管理数据库对象的能力。在 DB2 中共有 5 种权限:SYSADM 具有管理实例的完整特权,还可访问底层数据库中的数据。 SYSCTRL 和 SYSMAINT 拥有管理实例、其数据库和数据库对象的特定特权。这些权限不含 访问数据的权限。例如,像 SELECT * FROM mytable 或 DELETE FROM mytable 这样的语句是不允许的。 DBADM 拥有在特定数据库上执行管理任务的特权。还具有数据库的完整数据访问权限。 LOAD 拥有对指定数据库运行加载实用工具的特权。 下表总结了各权限可执行的功能。管理 DB2 权限SYS* 权限是在数据库管理器配置中设置的,通过将操作系统或安全性设施中定义的用户组指派给关联的参数进行设置。它必须是最大长度为 8 个字符的组名称,如下所示。DBADM 和 LOAD 是数据库级的权限。使用 grant 语句可授予用户或用户组这些权限,使用 revoke 语句可予以撤销权限:connect tosample;grant dbadm on database to userjohn;grant load on database to groupdbagrp;revoke load on database from groupdbagrp;请注意,具有 LOAD 权限的用户也需要表上的 INSERT 特权,之后才能加载数据。下一节将讨论特权。设置特权特权给予用户通过特定方式访问数据库对象的权力。如下列表给出了不同数据库对象的特权摘要。数据库特权: CONNECT 允许用户连接数据库。 BINDADD 允许用户在数据库中创建新包。 CREATETAB 允许用户在数据库中创建新表。 CREATE_NOT_FENCED 允许用户创建非 fenced 用户定义的函数或存储过程。 IMPLICIT_SCHEMA 允许用户在尚不存在的模式中创建对象。 QUIESCE_CONNECT 允许用户在数据库停顿时访问数据库。 CREATE_EXTERNAL_ROUTINE 允许用户创建以 C 语言、Java 语言、OLD 和 COBOL 编写的存储过程。 模式特权: CREATEIN 允许用户在模式内创建对象。 ALTERIN 允许用户更改模式内的对象。 DROPIN 允许用户删除模式内的对象。 要显式地创建新模式,可使用 create schema 命令:connect to sample user dbowner;create schema dev authorization devuser;表空间特权: USE OF TABLESPACE 允许用户在特定表空间内创建表。这一特权无法用于 SYSCATSPACE 或任何系统临时表空间。 表与视图特权: CONTROL 为用户提供表或视图的所有特权,以及将这些特权(除 CONTROL 以外)授予他人的能力。 ALTER 允许用户更改表或视图。 DELETE 允许用户删除表或视图中的记录。 INDEX 允许用户在表上创建索引。 INSERT 允许用户向表或视图中插入条目。 REFERENCES 允许用户创建和删除外键,将表指定为关系中的父表。 SELECT 允许用户从表或视图中检索行。 UPDATE 允许用户在表或视图中更新条目。这一特权还可将用户约束为仅更新特定列: grant update (workdept, job) on table employee to devuser; ALL PRIVILEGES 授予用户表或视图上的上述全部特权(除 CONTROL 外)。 包特权: CONTROL 为用户提供了重新绑定、删除或执行一个包的能力,以及将这些特权(除 CONTROL 以外)授予他人的能力。 BIND 允许用户重新绑定现有包。 EXECUTE 允许用户执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京科技大学智能科学与技术学院招聘3人考试备考题库附答案
- 山东高速集团有限公司2025年下半年校园招聘(339人) 考试备考题库附答案
- 招12人!西宁市城市管理局面向社会公开招聘城市管理辅助人员参考题库附答案
- 肇庆市交通集团有限公司2026届校园招聘1人备考题库附答案
- 青龙桥社区卫生服务中心面向社会招聘考试备考题库附答案
- 北京第七实验学校(北京市平谷区国农港学校) 面向全国招聘参考题库附答案
- 2026广东广州珠光街招募见习生(第一批)5人参考题库附答案
- 2026广西定向中国政法大学招录选调生考试备考题库附答案
- 艾滋病防治知识宣传课件
- 艾滋医学健康科普
- 2024年4月22日天津市公安局遴选公务员面试真题及答案解析
- 体外膜肺氧合技术(ECMO)
- 国有企业招标采购相关法律法规与国有企业采购操作规范
- 2025-2030中国压缩饼干市场销售渠道与未来竞争力优势分析报告
- 房屋建筑工程竣工验收技术资料统一用表(上册)
- 2025苏州市全日制劳动合同(苏州市人社局范本)
- T/CCPITCSC 120-2023中国品牌影响力评价通则
- 对公账户借用协议书
- 宫外孕补偿协议书模板
- 电梯使用单位日管控、周排查、月调度电梯安全检查记录表
- 外科牵引护理操作规范
评论
0/150
提交评论