- DB2 教程
- 首页
- DB2 - 简介
- DB2 - 服务器安装
- DB2 - 实例
- DB2 - 数据库
- DB2 - 缓冲池
- DB2 - 表空间
- DB2 - 存储组
- DB2 - 模式
- DB2 - 数据类型
- DB2 - 表
- DB2 - 别名
- DB2 - 约束
- DB2 - 索引
- DB2 - 触发器
- DB2 - 序列
- DB2 - 视图
- DB2 与 XML
- DB2 - 备份和恢复
- DB2 - 数据库安全
- DB2 - 角色
- DB2 - LDAP
- DB2 有用资源
- DB2 - 问答
- DB2 - 快速指南
- DB2 - 有用资源
- DB2 - 讨论
DB2 - 实例
简介
实例是 DB2 数据库管理器的逻辑环境。使用实例,您可以管理数据库。根据我们的需求,您可以在一台物理机器上创建多个实例。实例目录的内容为
- 数据库管理器配置文件
- 系统数据库目录
- 节点目录
- 节点配置文件 [db2nodes.cfg]
- 调试文件,转储文件
对于 DB2 数据库服务器,默认实例为“DB2”。创建实例目录后,无法更改其位置。一个实例可以管理多个数据库。在一个实例中,每个数据库都有一个唯一的名称,它自己的一组目录表、配置文件、权限和特权。
DB2 产品中实例的架构
多个实例
您可以在 Linux、UNIX 和 Windows 上的一个 DB2 服务器上创建多个实例。可以在物理机器上安装多个 DB2 服务器。
在 Linux 上创建实例
如果 DB2 服务器以 root 用户身份安装,则可以在 Linux 和 UNIX 上创建多个实例。实例可以在 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
示例:[为名为“db2inst2”的实例添加“50001/tcp”端口号,并在“services”文件中使用变量“db2c_db2inst2”]
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 副本实例用户。
语法 2:
db2iupgrade -d -k -u <inst_username> <inst_name>
示例:
db2iupgrade -d -k -u db2inst2 db2inst2
命令参数
-d:打开调试模式。
-k:如果在您运行此命令的 DB2 副本中支持预升级实例类型,则保留该类型。
如果您在 Linux 上使用超级用户 (su) 运行 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