DB2管理资料

一.  创建和删除实例

a)        Db2实例的创建

       db2icrt 实用程序创建一个数据库实例:

 

 

 

       db2icrt InstName [-s {ese|wse|client|standalone}]

                      [-p instance profile path]

                       [-u username,password]

                      [-h hostname]

                      [-c Cluster name]

                      [-r baseport,endport]

                      [-?]

 

 

 

       命令选项是:

 

      -s 指定所创建的实例的类型:

              ese 对于“企业服务器版”

             wse 对于“工作组服务器版”

             client 表示客户机

             standalone 表示带有本地客户机的数据库服务器

      -p 用于指定实例概要文件路径。

      -u 用于指定 DB2 服务的帐户名和密码。创建 ese 实例时需要此选项。

      -h 用于覆盖缺省的 TCP/IP 主机名(若有多个 TCP/IP主机名用于当前机器的话)。TCP/IP 主机名在创建缺省节点(节点0)时使用。

      -c 用于指定 MSCS 群集名。指定此选项以便创建支持 MSCS DB2实例。

      -r 用于指定当在 MPP 方式下运行时,分区数据库实例要使用的一系列TCP/IP 端口。如果指定了此选项,则本地机器的 services文件将更新为下列条目:

 

 

 

      DB2_InstName       baseport/tcp

      DB2_InstName_1     baseport+1/tcp

      DB2_InstName_2     baseport+2/tcp

      DB2_InstName_END   endport/tcp

Example:

       要在 Windows 中创建实例,只需发出以下命令:

           db2icrt instance_name

    UNIX 中,还必须提供用户标识,用来创建受防护的用户定义的函数和存储过程进程,如:

           db2icrt -u fenced_user_ID instance_name

    缺省情况下以受防护的方式创建用户定义的函数和存储过程,以便这些进程运行时所在的地址空间与 DB2 系统控制器进程 db2sysc 不同。这保护数据库管理器不受任何用户定义的例程意外或恶意地破坏。

 

 

 

b)        Db2实例的删除

       db2idrop [-h] [-f] InstName

 

 

 

       -h 显示用法信息

       -f 是强制应用程序标志。如果指定了此标志,则将强制终止使用该实例的所有应用程序。

 

 

 

       InstName 是实例的名称

Example:

       要删除实例,应断开与所有数据库的连接,然后停止该实例。以下命令将终止所有数据库连接,停止实例,然后删除它。

           db2idrop -f instance_name

 

 

 

c)         Db2实例的更新

       db2iupdt InstName

                       /u:username,password

                 [/p:instance profile path]

                 [/r:baseport,endport]

                 [/h:hostname]

      InstName 实例名

 

 

 

      /u 用于指定 DB2服务的帐户名和密码。当创建分区数据库实例时,此选项是必需的。

       /p 用于指定已更新的实例的新实例概要文件路径。

       /r 用于指定当在 MPP 方式下运行时,分区数据库实例要使用的一系列TCP/IP 端口。如果指定了此选项,则本地机器的 services文件将更新为下列条目:

 

 

 

      DB2_InstName       baseport/tcp

      DB2_InstName_END   endport/tcp

 

 

 

      /h 用于覆盖缺省的 TCP/IP 主机名(若有多个 TCP/IP主机名用于当前机器的话)。

d)       

 

 

 

二.   列出、迁移和更新 DB2 实例

     a). 列出实例

           要列出服务器上存在的 DB2 实例,可使用以下命令:

                        db2ilist 

       要确定哪一个实例适用于当前对话,

                        set db2instance

            或者在 UNIX 操作系统上, 

                        db2 get instance

b) 设置当前实例

    当运行命令来启动或停止实例的数据库管理程序时,DB2 将该命令应用于当前实例。DB2 按如下所示确定当前实例: 

       若为当前对话设置 DB2INSTANCE 环境变量,则其值为当前实例。要设置 DB2INSTANCE 环境变量,输入: 

                        set db2instance=<new_instance_name>

            若没有为当前对话设置 DB2INSTANCE 环境变量,则 DB2 使用系统环境变量中 DB2INSTANCE 环境变量的设置。在 Windows NT 上,在系统环境中设置系统环境变量。在 Windows 95 上,在 autoexec.bat 文件中设置它们。在 OS/2 上,在 config.sys 文件中设置它们。 

       若根本没有设置 DB2INSTANCE 环境变量,则 DB2 使用注册表变量       DB2INSTDEF 

           要在注册表的全局级设置 DB2INSTDEF 注册表变量,输入: 

                        db2set db2instdef=<new_instance_name> -g

            

c) 自动启动实例

        可以启动多个 DB2 实例,只要它们属于同一级别的代码。

        要同时运行多个实例,使用下列其中一种方法

               1.控制中心,用鼠标右键单击要启动的另一个实例,然后选择启动选项。

               2.从命令行,执行下列其中一项操作:

                      输入以下命令,将 DB2INSTANCE 变量设置为要启动的另一个实例的                     名称:

       set db2instance=<another_instName>

     输入 db2start 命令以启动该实例

 UNIX 操作系统上,要允许一个实例在每次系统重新启动后自动启动,输入以下命令
               db2iauto -on InstName
其中 InstName 是实例的注册名。

 UNIX 操作系统上,要阻止一个实例在每次系统重新启动后自动启动,输入以下命令
               db2iauto -off InstName
其中 InstName 是实例的注册名

 

 

 

d) DB2实例的迁移

        如果安装了 DB2 UDB 的更新版本或要将某一实例迁移为 64 位实例,则需要迁移实例。在 Windows 上,实例迁移在必需的迁移处理期间隐式地完成。在 UNIX 上,显式地使用以下命令迁移现有实例:

                        db2imigr instance_name

 

 

 

e) DB2实例的更新

        如果安装了某些产品选项或修订包,则现有的 DB2 实例及其相关的数据库都需要拥有对这些新功能的访问权。使用以下命令更新实例:

                    db2iupdt instance_name

 

 

 

三.   设置 DB2 环境

     正确设置 DB2 环境非常重要,因为它控制着 DB2 的运行与功能。DB2 环境由以下部分组成:

1.     DB2 概要文件注册表

2.     操作系统环境变量

3.     DB2 数据库管理器配置参数

4.      DB2 数据库配置参数

    

     a). 设置概要文件注册表

         DB2 概要文件注册表是特定于 DB2 的变量,它影响 DB2 系统的管理、配置和性 能。为使对 DB2 概要文件注册表所做的更改生效,通常要先停止实例,然后重新启动       它。

           db2set         [[[variable=[value]]

                             [-g|-i instance[

                               node-number]]]

                             [-all] [-null]

                             [-r instance[node-number]]

                             [-n DAS node[

                             -u user[-p password]]]

                             [-l|-lr] [-v] [-ul|- ur]

                             [-?|-h]

              -g 存取全局概要文件变量。

             -i 指定要使用的实例概要文件,而不是当前的或缺省的实例概要文件。

             -n 指定远程“DB2 管理服务器”节点名。

             -u 指定用于“管理服务器”连接的用户标识。

             -ul 存取用户概要文件变量

             -ur 刷新用户概要文件变量

             -p 指定用于管理服务器连接的密码。

             -r 复位给定实例的概要文件注册表

             -l 列示所有实例概要文件。

             -lr 列示所有受支持的注册表变量。

             -v 详细方式。

             -? 显示命令帮助消息。

             -h -? 选项相同。

             -all 显示出现的所有本地环境变量,如以下各项中所定义:

                     环境,用 [e] 指示

                     用户级注册表,由 [u] 指示

                     节点级注册表,用 [n] 指示

                     实例级注册表,用 [i] 指示,和

                     全局级注册表,用 [g] 指示

              -null 在指定的注册表级别将变量值设置为空,以防止查找在变量值搜索次

       序中定义的下一个注册表级别中的值。

 

 

 

              注意:

                     不带变量名的 db2set 将显示定义的所有变量。

                     db2set <变量> 将显示 <变量> 的值。

                     db2set <变量>= (nothing) 将删除 <变量>

                     db2set <变量>=<> 将修改 <变量> 的值。

                     db2set <变量> -null <变量> 的值设置为 NULL

                     db2set <变量> -all 将显示所有定义的 <变量> 的值。

                     db2set -ur 将刷新当前的用户概要文件。

                     db2set <变量> -ul 将显示在用户级别的定义的 <变量>

                     db2set -all 将显示所有注册表级别中的所有定义的变量。

 

 

 

 

 

 

           要显示该命令的帮助信息,使用:

                      db2set ?

        要列出用于此对话的所有当前定义的注册表变量,使用:

                      db2set

         要列出简要表注册表中所有定义的注册表变量,使用:

                db2set -all

           要列出所有受支持的 DB2 概要文件注册表,使用以下命令:

                        db2set –lr

         要显示一个注册表变量的当前对话值,使用:

                        db2set registry_variable_name

         要显示一个注册表变量在所有级别的值,使用:

                        db2set registry_variable_name –all

     要删除一个变量在特定级别的值,可使用相同的命令语法来设置该变量但不对该变量值指定任何内容。例如,要删除该变量在节点级的设置,输入:

                    db2set registry_variable_name= -I instance_name node_number

 

     要删除一个变量的值并限制其使用,若它是在更高的简要表级别定义的,输入:

                    db2set registry_variable_name= -null instance_name

     此命令将删除指定的参数的设置,并限制高级别的简要表更改此变量的值(在本示例中为 DB2 全局级简要表)。但指定的变量仍可能会被低级别简要表(在本示例中为 DB2 节点级简要表)设置。

 

         要设置 DB2 概要文件注册表,使用以下命令:

                        db2set registry_variable=value

         注:在变量名、等号和变量值之间没有空格。下面是一个示例:

                        db2set DB2COMM=TCPIP,APPC

         要更改实例中所有数据库的注册表变量缺省值:

                        db2set registry_variable_name=new_value -I instance_name

         要更改实例中特定节点的注册表变量缺省值,使用:

                    db2set registry_variable_name=new_value -I instance_name node_number

         要更改系统中所有实例的注册表变量缺省值,使用:

                        db2set registry_variable_name=new_value -G

 

         要将 DB2 概要文件注册表复位成其缺省值,只需使用与上面相同的命令,但不必  指定任何值:

                        db2set registry_variable=

         要显示当前在服务器上设置的所有 DB2 概要文件注册表,发出以下命令:

                    db2set -all

               所得结果应与下面相似:

                        [e] DB2PATH=E:/Program Files/IBM_DB2/SQLLIB

                 [i] DB2ACCOUNTNAME=WISCOM-5G39D7MC/db2admin

                 [i] DB2INSTOWNER=WISCOM-5G39D7MC

                 [i] DB2PORTRANGE=60000:60003

                 [i] DB2INSTPROF=E:/PROGRA~1/IBM_DB2/SQLLIB

                 [i] DB2COMM=TCPIP

                 [g] DB2SYSTEM=WISCOM-5G39D7MC

                 [g] DB2PATH=E:/Program Files/IBM_DB2/SQLLIB

                 [g] DB2INSTDEF=DB2

                 [g] DB2ADMINSERVER=DB2DAS00

              由方括号([])括起的指示符表示该概要文件注册表的作用域,如下所示:

               [e] 表示对当前会话或环境设置的注册表 

                 [u] 表示用户级注册表 

                 [n] 表示节点级注册表 

                 [i] 表示实例级注册表 

                 [g] 表示全局级注册表 

 

            要将一个实例的所有注册表变量重设为在全局简要表注册表中找到的缺省值,使    用: 

                        db2set -r registry_variable_name

            要将一个实例中某个节点的所有注册表变量重设为在全局简要表注册表中找到的缺省值,使用:

              db2set -r registry_variable_name node_number

       注意:

              在同一个命令中不能同时使用参数 "-I""-G" "-ul"

 

 

 

       b). 设置系统环境变量

         大多数 DB2 环境设置由 DB2 概要文件注册表控制。那些没有存储在概要文件注  册表中的设置称为操作系统环境变量。设置系统变量的命令因所使用的平台和 UNIX    shell 的不同而不同。

           以下是一些示例:

                 Windows 上:set DB2INSTANCE=PROD

                 UNIX C shell 上:setenv DB2INSTANCE PROD

                 UNIX Korn shell 上:export DB2INSTANCE=PROD

 

 

 

           DB2INSTANCE 是需要了解的重要系统变量。它指定当前会话的缺省实例。一旦设 置了该变量,所有后续 DB2 命令都在指定的实例作用域内执行。

 

 

 

           要知道所处的是哪个实例,可使用以下命令:

                 db2 get instance

        该命令的输出与下面相似:

               The current database manager instance is:  DB2

             当前数据库管理器实例是:DB2

 

 

 

                    

   C). 设置配置参数

              可以更改实例数据库级别的配置参数来调优 DB2 的行为。请参考 监控 DB2 教程以获得有关这些参数的更多信息。可使用 DB2 控制中心和 DB2 命令来查看实     例(也称为数据库管理器)和数据库配置参数。

              在控制中心中,在要使用的实例或数据库上单击鼠标右键,然后选择 Configure Parameters。您将得到配置参数的列表,其中有对这些参数的描述以及当前值与暂挂    值。

 

 

 

            

           也可以通过使用以下 DB2 命令得到相同的输出:

                        db2 get database manager configuration

                 db2 get db manager cfg

                  db2 get database configuration for database_name

                 db2 get db cfg for database_name

           要在控制中心中更新数据库管理器或数据库配置参数的值,请打开 DBM DB    Configuration 窗口。找到要更改的参数并双击它的值。点击“...”图标将打开一个表单,  其中包含关于如何设置变量的提示和允许取值范围的说明。

                      

           单击 OK 之后,就回到 Configuration 窗口。Pending Value Effective 列告诉 您新值将于何时生效。如果该字段显示为“After Instance Restart”,则在实例重新启动    以前,暂挂值将不会被设置为您选中的值。除此情况之外,新值将立即生效。

           以下命令可分别用来设置数据库管理器或数据库配置参数的值:

                        db2 update database manager configuration using parameter    

         new_value

                 db2 update database configuration for database_name using    

         parameter  new_value

         如果参数不能立即生效,则出现一条警告消息:

                        SQL1362W One or more of the parameters submitted for immediate        modification  were not changed dynamically. Client changes will not be  effective until the next time  the application is started or the   

         TERMINATE command has been issued.  Server changes will not be effective       until the next DB2START command.

 

       C). 联机设置配置参数

              当实例或数据库仍在运行时可联机设置的配置参数有 50 多个。缺省情况下,只要 可能,对这些可联机配置的参数的更改都将立即生效。例如,如果 sortheap 的值被更           改,则所有新的 SQL 请求都将使用新值。要显式地指定这一即时行为,可将 immediate 关键字追加到 update 命令:

            db2 update database manager configuration using parameter new_value

                                                    immediate

         db2 update database configuration for database_name using parameter new_value

                                                    immediate

         如果选择将更改推迟到实例重新启动或数据库被激活以后,则要指定 deferred

     关键字:

         db2 update database manager configuration using parameter new_value

                                                    deferred                                    
         db2 update database configuration for database_name using parameter new_value

                                                    deferred

 

              有时您会希望了解已经做了哪些更改,以及哪些更改被延迟了。要显示数据库管理  器配置参数的当前值和暂挂值,先连接到实例,然后在 get database manager   configuration 命令中指定 show detail 选项,如下所示(请注意,      instance_name 是由系统环境变量 DB2INSTANCE 设置的值):

                     db2 attach to instance_name

                     db2 get database manager configuration show detail

        类似地,要列出数据库配置参数的当前值和暂挂值,先连接到数据库,然后使用 show detail 选项:

                 db2 connect to database_name

            db2 get database configuration for database_name show detail

        暂挂值列在 Delayed Value 列下,如下所示。    

 

 

 

你可能感兴趣的:(数据库,manager,unix,db2,服务器,database)