教程 > DB2 教程 > DB2 基础 阅读:61

DB2 实例

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

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

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


DB2产品实例架构

DB2产品实例架构
DB2产品实例架构


多个实例

我们可以在 Linux、UNIX 和 Windows 上的一个 DB2Server 中创建多个实例。 可以在一台物理机器上安装多个 DB2Server


在 Linux 上创建实例

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

Instance 文件夹包含数据库配置文件和文件夹。 Instance 目录存储在 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 不是根 ID 或根名称。

以下是创建新实例的步骤:

步骤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实例目录创建新实例。

Location:

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

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

语法

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

示例

在用户“db2inst2”中创建具有“ESE”(企业服务器版)功能的新实例“db2inst2”

./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

示例

在‘services’文件中为带有变量‘db2c_db2inst2’的实例‘db2inst2’添加‘50001/tcp’端口号

db2c_db2inst2 50001/tcp

语法 1

使用服务名称更新数据库管理器配置。 以下语法‘svcename’表示实例服务名称,‘inst_name’表示实例名称

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

示例 1

使用值为“db2c_db2inst2”的变量 svcename 更新 DBM 配置,例如“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 副本实例用户。

语法

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

示例

db2iupgrade -d -k -u db2inst2 db2inst2 

命令参数

  • -d:打开调试模式。
  • -k:如果我们运行此命令的 DB2 副本支持升级前实例类型,则保留它。

如果我们在 Linux 上使用超级用户 (su) for db2iupgrade 命令,则必须发出带有 - 选项的“su”命令。


删除实例

我们可以删除或删除由 db2icrt 命令创建的实例。

db2idrop

在 Linux 和 UNIX 操作系统上,此命令位于 DB2_installation_folder/instance 目录中。

语法

在以下语法中,‘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

查看笔记

扫码一下
查看教程更方便