返回介绍

DB2 实例 - DB2 教程

发布于 2025-02-22 13:46:34 字数 6819 浏览 0 评论 0 收藏 0

实例是 DB2 数据库管理器中的逻辑环境。使用实例可以管理数据库。根据我们的要求,可以在一台物理机器创建多个实例。实例目录的内容是:

  • 数据库管理器配置文件
  • 系统数据库目录
  • 节点目录
  • 节点配置文件 [db2nodes.cfg]
  • 调试文件,转储文件

对于 DB2 数据库服务器,默认情况下是“DB2”。这不可以在创建后更改实例目录的位置。一个实例可以管理多个数据库。在一个实例,每个数据库都有一个唯一的名称,它自己的一套目录表,配置文件,权限和特权认证。

DB2 产品架构

db2_product

多个实例

可以在 Linux,UNIX 和 Windows 的一个 DB2Server,创建多个实例。它可以将一个物理机器上安装多个 DB2Servers。

在 Linux 上创建实例

可以在 Linux 和 UNIX 创建多个实例,如果 DB2 服务器安装为 root 用户。一个实例可以同时在 Linux 和 UNIX 独立运行。可以在一次在数据库管理器的单个实例中工作。

实例文件夹中包含数据库配置文件和文件夹。实例目录存储在取决于 Windows 操作系统版本的不同位置。

实例列表

下面的命令用于列出的实例:

db2ilist

该命令列出了所有可用的系统上的实例。

语法:

db2ilist

示例: [看看由 DB2 副本创建有多少实例]

db2ilist

输出:

db2inst1 
db2inst2 
db2inst3

实例环境的命令

这些命令符合实例在 DB2 CLI 管理工作有用。

获得实例

此命令显示当前运行的实例的详细信息。

语法:

db2 get instance

示例: [看看当前实例由哪个当前用户的激活]

db2 get instance

输出:

The current database manager instance is : db2inst1

设置实例

要启动或停止 DB2 UDB 实例的数据库管理器,下面的命令执行当前实例。

语法:

set db2instance=<instance_name>

示例: [ 安排“db2inst1”环境到当前用户]

set db2instance=db2inst1

db2start

使用此命令,就可以启动一个实例。在此之前,需要运行“set instance”。

语法:

db2start

示例: [要启动一个实例]

db2start

输出:

SQL1063N DB2START processing was successful

db2stop

使用此命令可以停止正在运行的实例。

语法:

db2stop

输出:

SQL1064N DB2STOP processing was successful.

创建一个实例

让我们来看看如何创建一个新的实例。

db2icrt

如果想创建一个新的实例,需要使用 root 身份登录。实例 ID 不可以是 root id 或 root 名称。

下面是步骤来创建一个新的实例:

步骤 1: 创建例如操作系统用户。

语法:

useradd -u <ID> -g <group name> -m -d <user location> <user name> 
-p <password>

示例: [在组“db2iadm1”和密码“db2inst2”创建实例名为'db2inst2'用户]

useradd -u 1000 -g db2iadm1 -m -d /home/db2inst2 db2inst2 -p db2inst2

步骤 2: 转到 root 用户 DB2 实例目录中创建新实例。

位置:

cd /opt/ibm/db2/v10.1/instance

步骤 3: 使用下面的语法创建实例:

语法:

./db2icrt -s ese -u <inst id> <instance name>

示例: [创建一个新的实例”db2inst2“在用户 db2inst2“带有”ESE“(企业服务器版)功能,]

./db2icrt -s ese -u db2inst2 db2inst2

输出:

DBI1446I The db2icrt command is running, please wait.
 ….
 ….. 
DBI1070I Program db2icrt completed successfully.

配置通信端口和主机的一个实例

编辑/etc/services 文件,并添加端口号。在下面给出的语法,'inst_name'表示的实例名,'inst_port' 表指实例的端口号。

语法:

db2c_<inst name> <inst_port>/tcp

例如:[添加'50001/tcp“端口号,例如”db2inst2“与”services“文件变量”db2c_db2inst2']

db2c_db2inst2 50001/tcp

语法 1 : [更新数据库管理器配置与服务名称。以下语法'svcename'表示实例服务名称,以及“inst_name”表示实例名称]

db2 update database manager configuration using svcename db2c_&<inst_name>

示例: [更新 DBM 配置变量 svcename 的值为“db2c_db2inst2”,为实例“db2inst2”

db2 update database manager configuration using svcename db2c_db2inst2

输出

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.

语法 2: 设置“tcpip”通讯协议为当前实例

db2set DB2COMM=tcpip

语法 3: 停止和启动当前实例得到来自数据库管理器配置更新的值]

db2stop 
db2start

更新实例

可以使用以下命令更新实例:

db2iupdt

此命令用于同一版本释放内更新实例。执行此命令之前,需要使用“db2stop”命令停止实例数据库管理器。下面的“inst_name”语法表示前释放或安装 DB2 服务器实例的名称,要升级到新的版本或安装 DB2 服务器版本。

语法 1: 更新正常模式下的一个实例

db2iupdt <inst_name>

实例 1:

./db2iupdt db2inst2

语法 2: 更新调试模式实例

db2iupdt -D <inst_name>

实例

db2iupdt -D db2inst2

升级实例

可以从先前版本的 DB2 副本的实例升级到目前新安装的 DB2 副本版本。

db2iupgrade

在 Linux 或 UNIX 系统中,该命令位于 DB2DIR/ instance 目录。在下面的语法,“inst_name”表示以前的版本 DB2 实例和“inst_username”表示当前安装的版本 DB2 副本实例用户。

语法 2:

db2iupgrade -d -k -u <inst_username> <inst_name>

示例:

db2iupgrade -d -k -u db2inst2 db2inst2

命令参数:

-d : 打开调试模式。

-k : 保持如果支持的 DB2 副本,从正在运行此命令升级前的实例类型。

如果使用的是超级用户(SU)在 Linux 上的 db2iupgrade 命令,必须发出“su”命令以及“- ”选项。

删除实例

可以删除或删除实例,这是由“db2icrt”命令创建的。

db2idrop

在 Linux 和 UNIX 操作系统,此命令位于 DB2_installation_folder/实例目录。

语法: [ 以下语法,“inst_username”表示实例的用户名,“inst_name”表示实例名称]

db2idrop -u <inst_username> <inst_name>

例如:[删除 db2inst2]

./db2idrop -u db2inst2 db2inst2

使用实例与其他命令

命令找出我们当前工作的 DB2 实例。

语法 1: 检查由数据库管理器激活当前实例]

db2 get instance

输出:

The current database manager instance is:  db2inst1

语法 2: 要查看当前实例与操作位和发行版本]

db2pd -inst | head -2

示例

db2pd -inst | head -2

输出

Instance db2inst1 uses 64 bits and DB2 code release SQL10010

语法 3:要检查当前的工作实例的名称]

db2 select inst_name from sysibmadm.env_inst_info

实例:

db2 select inst_name from sysibmadm.env_inst_info

输出:

INST_NAME  --------------------------------------  
db2inst1              
1 record(s) selected.

语法: [设置为默认的新实例]

db2set db2instdef=<inst_name> -g

例如: [数组新创建的实例作为默认实例]

db2set db2instdef=db2inst2 -g

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文