• db2部署


    下载地址:

    wget   ftp://public.dhe.ibm.com/software/hk/cobra/db2exc_970_LNX_x86_64.tar.gz

    • 上传压缩包到/opt,再解压db2安装包

             tar -zxvf v9.7_linuxx64_server.tar.gz

    • 进入目录下expc,执行安装检查

           cd expc

           检查:
          ./db2prereqcheck  

           安装:

          ./db2_install
    WARNING:
    The 32 bit library file libstdc++.so.6 is not found on the system.
    32-bit applications may be affected.

    Default directory for installation of products - /opt/ibm/db2/V9.7

    ***********************************************************
    Do you want to choose a different directory to install [yes/no] ?
    yes
    Enter full path name for the install directory -

    ------------------------------------------------
    /opt/ibm/db2/V9.7   可以指定安装路径

    •  创建用户

    (不要问我为什么创建这几个用户,创建就好了)
    groupadd -g 2000 db2iadm1
    groupadd -g 2001 db2fadm1
    useradd -m -g db2iadm1 -d /db2_data/db2inst1 db2inst1
    useradd -m -g db2fadm1 -d /db2_data/db2fenc1 db2fenc1

    -u uid  使用者的ID值,必须为唯一的ID值,除非用-o选项可以不唯一,数字不可为负值,0~999传统上是保留给系统帐号使用。
    -d path  使用者目录
    -m   使用者目录如不存在则自动建立
    -s shell  使用者登入后使用shell名称作为提示符,如果不写系统会帮你指定预设的登入shell

    • 设置用户密码 (要记住哦)

    passwd db2inst1

    •  注册协议

    cd /opt/ibm/db2/V9.7/adm
    chmod -R 775 *
    ./db2licm -a /opt/expc/db2/license/db2expc_uw.lic

    • 配置实例

    cd /opt/ibm/db2/V9.7/instance
    chmod -R 775 *
    ./db2icrt -u db2inst1 db2inst1

    • 添加实例的监听端口

    vim /etc/services
    最后一行
    echo "db2c_db2inst1 60000/tcp" >>/etc/services

    tail /etc/services

    • 切换用户

    su - db2inst1

    db2 update database manager configuration using svcename db2c_db2inst1

    db2set DB2COMM=tcpip

    • 启动实例

    db2start  

    • 创建sample数据库(用来验证安装db2是否成功):

    db2sampl         (这个地方不需要带 "e")

    连接到sample:

    db2 connect to sample      (这个地方需要带"e")

    连接成功后,输入查询语句:

    db2 "select * from staff"

    退出数据库连接:

    db2 disconnect sample

    • 列出所有数据库

    db2 list db directory

    • 设置DB2自启动

    [root@db2]#cd /opt/ibm/db2/V9.7/instance

    [root@instance]#./db2iauto -on db2inst1

    • 创建数据库userdb:

    db2 create db userdb   (注意:这里是db不是database)

    列出所有数据库

    db2 list db directory

     激活数据库

    activate db命令用于激活创建过的数据库,它使数据库可用于应用程序。

    语法:

    db2 activate db <db_name>

    db2 activate db  userdb  

     

    连接到userdb:

     db2 connect to userdb

     创建表:

     db2 "create table tablename(id int,name varchar(50))"

     插入数据:

     db2 "insert into tablename values(1,'user1')"

     查询数据:

     db2 select * from tablename

     

     

    •  其它常用命令:

     

    列出所有实例:

     db2ilist

     列出当前实例:

     db2 get instance

     设置当前实例:

    set db2instance=db2        (实例名)

     列出所有表空间的详细信息

    db2 list tablespaces show detail

    列出容器的信息

    db2 list tablespace containers for tbs_id show detail

    列出所有表

     db2 list tables       (不是mysqlshow tables)

    =====================================================================

    • 创建一个实例命令

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

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

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

    DB2产品架构

     

    多个实例

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

    Linux上创建实例

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

    实例文件夹中包含数据库配置文件和文件夹。实例目录存储在取决于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 idroot名称。

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

    步骤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

    LinuxUNIX系统中,该命令位于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

    LinuxUNIX操作系统,此命令位于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   

     

     

    • 三种级别的db2数据库字符集的设置与修改

    DB2数据库与字符集相关的问题主要有三个层次的字符集的设置,其中系统级别和实例级别的字符集可以根据需求进行修改,而数据库级别的数据集则必须在建库时确定:
    1)操作系统 Locale:系统级别的代码页设置,决定应用程序的默认代码页;

    如果您希望将 OS Locale 设置为中文,可使用以下方法:

    UNIX:你可以通过 export LANG=”zh_CN” 命令修改当前的 Locale 到中文; 
    Windows:在“开始->设置->控制面板->区域选项”中进行对系统的语言设置进行选择; 
    2)DB2CODEPAGE:DB2 实例级别的代码页设置,会影响 DB2 相关应用程序对代码页转换时做出代码页判定;

    可以通过 db2set DB2CODEPAEG= 命令将 DB2CODEPAGE 设置为你需要的字符集;

    3)DATABASE CODEPAGE:DB2 数据库级别的代码页设置;必须在建库时进行设置.

    在创建数据库时指定需要的代码页,db2 "CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY CN" 
    这条语句可用于创建指定区域为中国(CN)的 Unicode 数据库。

     

     

  • 相关阅读:
    品优购项目(web)
    Linux
    web前端面试题
    三级网络
    Vue报错:TypeError: Cannot create property ‘xxx‘ on string ‘xxxx
    vue 动态添加页面背景色
    vue 打开新页面 页面滚动到顶部
    ios 系统 h5 页面不发送请求
    小程序返回上一页
    小程序动态设置页面背景色、
  • 原文地址:https://www.cnblogs.com/yuanjinqiu/p/10220055.html
Copyright © 2020-2023  润新知