📜  DB2-实例

📅  最后修改于: 2020-11-28 13:18:08             🧑  作者: Mango


介绍

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

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

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

DB2产品中的实例架构

db2_product

多个实例

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

在Linux上创建实例

如果以root用户身份安装DB2 Server,则可以在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= 

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

set db2instance=db2inst1

db2start

使用此命令,可以启动实例。在此之前,您需要运行“设置实例”。

句法:

db2start 

示例: [启动实例]

db2start

输出:

SQL1063N DB2START processing was successful

db2stop

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

句法:

db2stop 

输出:

SQL1064N DB2STOP processing was successful.

创建一个实例

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

db2icrt

如果要创建新实例,则需要使用root登录。实例ID不是根ID或根名称。

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

第一步:创建一个操作系统用户。

句法:

useradd -u  -g  -m -d   
-p   

示例:[为组“ 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  

示例:[在用户’db2inst2’中创建具有’ESE’功能的新实例’db2inst2’(Enterprise Server Edition)]

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

示例:[在’服务’文件中为变量’db2c_db2inst2’添加实例’db2inst2’的’50001 / tcp’端口号]

db2c_db2inst2 50001/tcp

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

db2 update database manager configuration using svcename db2c_&

示例1 :[为实例’db2inst2’更新具有值’db2c_db2inst2’的变量svcename的DBM配置

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  

范例1:

./db2iupdt db2inst2 

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

db2iupdt -D  

db2iupdt -D db2inst2  

升级实例

您可以将实例从以前的DB2副本版本升级到当前新安装的DB2副本版本。

db2iupgrade

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

语法2

db2iupgrade -d -k -u    

范例

db2iupgrade -d -k -u db2inst2 db2inst2 

命令参数:

-d :打开调试模式。

-k :保留DB2副本中支持的升级前实例类型(在运行此命令的位置)。

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

删除实例

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

db2idrop

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

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

db2idrop -u   

示例:[删除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= -g   

示例:[将新创建的实例排列为默认实例]

db2set db2instdef=db2inst2 -g