opensuse linux环境下ibm_websphere和ibm_db2安装以及DB2数据迁移操

心不动则不痛 提交于 2019-11-30 02:00:22

opensuse linux环境下ibm_websphere和ibm_db2安装

ibm_websphere安装:

1、ibm官网下载免费版websphere,如下载文件名为BASETRIAL.agent.installer.linux.gtk.x86_64.zip的压缩文件。

2、在opensuse linux环境下使用unzip命令对压缩包进行解压。

3、cd命令进入解压后的文件目录以管理员身份运行install文件即可来到图形化的安装界面,之后按照提示一步步完成安装即可(另外也可以采用非图形化的静默安装方式)。

4、安装完成后会自动弹出“第一步”信息验证界面(若为自动弹出该界面,则需进入安装目录(一般为这个目录/opt/IBM/WebSphere/AppServer_1/profiles/AppSrv01)下的firststeps文件夹中的firststeps.sh,以管理员身份运行该文件来启动第一次验证界面)

5、在“第一步”信息验证界面点击“安装验证”选项则会弹出验证界面,此时“ 启动服务器”选项为不可用状态,待验证完成后即可启动服务器。

6、服务启动成功后即可在浏览器中访问https://localhost:9043/ibm/console来进入websphere控制台进行相应的管理操作(创建数据源、应用程序等)。

7、首次安装完成后概要文件会自动创建一般自动创建的概要名字为AppSrv01,若没有概要文件则要自己创建概要文件参考地址:http://blog.chinaunix.net/uid-532511-id-3189104.html?/15726.html

8、websphere项目部署参考地址:http://www.finereporthelp.com/help/4/0/3/3.html#docnamehttp://www.finereporthelp.com/help/4/0/3/3.html#docname


Linux下启动/停止WebSphere 

 1.以root用户身份登陆,进入websphere安装目录的bin目录下,

cd /opt/WebSphere/AppServer/bin(此路径根据WebSphere具体安装路径确定)

        //启动服务

[root@localhost bin]$  ./startServer.sh server1

        //停止服务

[root@localhost bin]$  ./stopServer.sh server1

        如果是集群可能的路径是

        /opt/WebSphere/AppServer/bin

        //启动服务

[root@localhost bin]$  ./startManager.sh

        //停止服务

[root@localhost bin]$  ./stopManager.sh

        如果启动时出现这样的错误信息:

        ADMU0118E: 日至文件无法写到位置

                   /opt/WebSphere/AppServer/logs/server1/startServer.log请使用

                   -logfile 指定不同的位置

        ADMU3100I: 正在从服务器读取配置server1

        ADMU0111E: 程序退出,带有错误。

                   com.ibm.ws.process.exception.InvalidFileException:

                   PROC0007E: Some files required by the process or the process

                   definition were unaccessable.  Please check the standard in, out,

                   and error file redirects and directories.  Process could not be

                   created.

        ADMU0211I: 在文件

                   /opt/WebSphere/AppServer/logs/server1/startServer.log

                   中可看到错误的详细信息

        ADMU1211I: 要获取故障的全部跟踪,使用 -trace 选项

        可能是登陆的用户没有足够的权限,需要使用有权限的用户启动。

2.服务启动后进入管理控制台

        http://localhost:9090/admin

        进入/WebSphere/AppServer/firststeps/使用命令

[root@tc10 firststeps]# ./firststeps.sh

        可以打开WAS第一步。

3、websphere默认端口:

        管理控制台端口,缺省值:9060

        管理控制台安全端口,缺省值:9043

        HTTP 传输端口,缺省值:9080

        HTTPS 传输端口,缺省值:9443

        引导端口,缺省值:2809

        SOAP 连接器端口,缺省值:8880

        SAS SSL ServerAuth 端口,缺省值:9401

        CSIV2 ServerAuth 侦听器端口,缺省值:9403

        CSIV2 MultiAuth 侦听器端口,缺省值:9402

        ORB 侦听器端口,缺省值:9100

        高可用性管理器通信端口,缺省值:9353

        服务集成端口,缺省值:7276

        服务集成安全端口,缺省值:7286

        服务集成 MQ 互操作性端口,缺省值:5558

        服务集成 MQ 互操作性安全端口,缺省值:5578


ibm_db2安装:

1、ibm官网下载免费版db2安装包,如下载文件名为的压缩文件。,如下载文件名为db2_v101_linuxx64_expc.tar.gz的压缩文件。

2、在opensuse linux环境下使用tar -zxvf命令对压缩包进行解压,解压后会得到名为expc的文件夹。

3、cd命令进入解压后的文件夹中可以看到两个可执行文件db2_install和db2setup,db2_install为命令行静默安装方式而db2setup为图形化安装方式(两种安装方式均可完成安装采用图形化安装方式安装后可以在图形化界面进行数据库用户添加密码设置等相关操作比较方便,采用静默安装方式完成后则需要在命令行内进行用户组的添加以及用户添加、密码设置、数据库创建等一系列的操作比较麻烦,但还是建议用命令行的方式进行全程操作,因为通用性更强不是所有的linux操作系统都可以使用图形化方式进行操作的),安装过程只需按照提示完成即可这里不再过多叙述。

4、安装完成后即要进行用户组用户的添加和相应密码设置其操作比较繁杂可参照:http://blog.csdn.net/feier7501/article/details/19429607来进行.

1)创建DB2运行所需的组和用户

[root@localhost server]# groupadd -g 901 db2grp 
[root@localhost server]# groupadd -g 902 db2fgrp 
[root@localhost server]# groupadd -g 903 db2agrp 
[root@localhost server]# useradd -g db2grp -u 801 -d /home/db2inst1 -m -s /bin/bash db2inst1 
[root@localhost server]# useradd -g db2fgrp -u 802 -d /home/db2fenc -m -s /bin/bash db2fenc 
[root@localhost server]# useradd -g db2agrp -u 803 -d /home/db2das -m -s /bin/bash db2das

2)设置密码

[root@localhost server]# passwd db2inst1 
[root@localhost server]# passwd db2fenc 
[root@localhost server]# passwd db2das

3)创建实例

[root@localhost server]# cd /opt/ibm/db2/V9.7/instance 
[root@localhost instance]# ./dascrt -u db2das 
SQL4406W  The DB2 Administration Server was started successfully. 
DBI1070I  Program dascrt completed successfully. 
[root@localhost instance]# ./db2icrt -u db2inst1 db2inst1 
DBI1070I  Program db2icrt completed successfully.

4)启动DB2

[root@localhost instance]# su - db2das 
[db2das@localhost ~]$ db2admin start 
SQL4409W  The DB2 Administration Server is already active. 
[db2das@localhost ~]$  
[db2das@localhost ~]$ su - db2inst1 
密码: 
[db2inst1@localhost ~]$ db2start

5)配置网络:(不进行配置也可以本地使用,但可能出现远程无法连接数据库的情况)

db2inst1@localhost ~]$ db2 update dbm cfg using SVCENAME 50000 
DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed  
successfully. 
[db2inst1@localhost ~]$ db2set DB2COMM=TCPIP

6)创建数据库

[db2inst1@localhost ~]$ db2 create database testdb 
DB20000I  The CREATE DATABASE command completed successfully.

7)DB2自动启动

[root@localhost ~]# cd /opt/ibm/db2/V9.7/instance/ 
[root@localhost instance]# ./db2iauto -on db2inst1


DB2表空间相关操作

1)常用表空间查询语句

     db2查看表空间是否启用自动调整大小(AUTORESIZE):

db2 get snapshot for tablespaces on sample (查看AUTORESIZE 属性是否为True)

     db2查看表空间页大小:

db2pd -tablespaces -db testdb

     db2查看表空间详细信息: 

db2 get snapshot for tablespaces on testdb

2)DB2创建表空间

       创建表空间步骤:

db2 "CREATE DATABASE testdb"//创建数据库
db2 "CONNECT TO testdb"//连接到将要创建创建表空间的数据库      db2 "LIST TABLESPACES"//查看该数据库当前表空间情况
db2 "CREATE BUFFERPOOL BP1 SIZE 2000 PAGESIZE 8K"//创建db2数据缓冲池(在创建表空间时要指定表空间缓冲池)
db2 "CREATE TABLESPACE USERSPACE2 PAGESIZE 8K MANAGED BY Database USING (FILE'/home/db2inst1/db2inst1/NODE0000/TESTDB3/T0000002/C0000001.LRG' 10000) BUFFERPOOL BP1"//用特定的缓冲池创建表空间(表空间的PAGESIZE须与所使用的缓冲池的大小一致)

可以参考http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html进行相关学习设置。

 3)相关优化操作

     为了使创建的表空间便于管理,一般会选择启用表空间自动调整大小功能

     在创建 DMS 表空间之后,还可以使用带有 AUTORESIZE 子句的 ALTER TABLESPACE 语句来启用或禁用自动调整大小功能:

ALTER TABLESPACE DMS1 AUTORESIZE YES        
ALTER TABLESPACE DMS1 AUTORESIZE NO

     1.db2表空间设置AUTORESIZE为“YES”

db2 "ALTER TABLESPACE USERSPACE2 AUTORESIZE YES"

     2.db2表空间设置automatic storage 为“YES”

db2 "alter tablespace USERSPACE2 managed by automatic storage"

     3.使用 ALTER TABLESPACE 命令,在命令选项中制定 REBALANCE(通过第一步我们已经将 DMS 转换为自动存储表空间,但用户以前定义的容器和自动存储生成的容器是并存的,这并不是我们想要得结果。如果用户忽略第二步,今后在使用 ALTER TABLESPACE 加 REDUCE 选项时,数据库可能会删除掉未使用的新增加的两个自动存储容器。所以我们在转换表空间以后必须执行第二步。第二步通常是个比较耗时的操作,这也是在线转换表空间的代价。)

db2 alter tablespace USERSPACE2 rebalance

可以参考http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1003liux/进行相关学习设置


DB2数据迁移相关操作

使用命令:db2move和db2look两个命令

db2look:用于导出表结构和表间关系

db2move:用于导入导出数据

1.

db2 connect to testdb//连接要导出的数据库

2.

db2look -d  testdb  -a -e -x -o db2look.sql//导出数据库表结构和关系

   或者

db2look -d dbname -e -a -x -i username -w password -o db2look.sql

3.

su db2inst1//切换到实例用户下(若不切换可能因为数据库读取权限问题无法导出数据)

4.

mkdir dataexport//新建目录用于存放即将要导出的数据(导出数据表较多,建议建立目录)

5.

db2move  testdb  export//导出数据库数据

   或者

db2move databasename export -u username -p

6.

db2 create database testdb4//新建要导入的数据库

7.

db2 -tvf db2look.sql//执行db2look.sql导入表结构和关系(若目标数据库和源数据库名称不一致,则需要修改脚本中CONNECT TO 后的数据库名为目标数据库名)

8.

db2move testdb4  load//最后执行db2move load语句导入表数据(该命令要在第四步建立的文件夹下执行)

9.导入完成后测试执行查询操作报错:ERROR [57016] [IBM][DB2/LINUXX8664] SQL0668N  Operation not allowed for reason code "1" on table "DB2INST1.CMS_AD".  SQLSTATE=57016

     产生这个错误的原因是由于:

        SQL0668N当基础表(或从属表)处于检查暂挂状态时,不允许操作。 

        解释: 当表处于检查暂挂状态时,可能有一行或多行违反了对数据定义的约

        束。此表不能用于操作。若从属表处于检查暂挂状态,则对不处于检查暂挂

        状态的父表的操作也可能接收到此错误。

        用户响应: 执行带有 IMMEDIATE CHECKED 选项的 SET INTEGRITY

        语句,并确保数据符合对该表或从属于它的表定义的所有约束。

        在db2move过程中会有些表因为检查约束可能会处于暂挂状态,需要执行SET INTEGRITY命令来恢复它的暂挂状态。

  错误处理方法:

     1)

db2 "select tabname,status from syscat.tables where tabschema = CURRENT SCHEMA and status='C'"//列出当前连接到的实例数据库中所有处于暂挂状态的表。

     2)

db2 "select 'db2 set integrity for '||tabschema||'.'||TABNAME||' FOREIGN KEY IMMEDIATE UNCHECKED' from syscat.tables where TABSCHEMA=CURRENT SCHEMA  and STATUS='C'"//执行该命令会得到多有将第一步中处于暂挂状态的表转换成正常状态的处理语句

 示例执行完上述命令后会得到如下结果:                                                                                                                                                                                                                                                                                      

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        db2 set integrity for DB2INST1.CMS_FRIENDLINK FOREIGN KEY IMMEDIATE UNCHECKED                                                                                                                                                                                                                                         

        db2 set integrity for DB2INST1.CMS_INFO_NODE FOREIGN KEY IMMEDIATE UNCHECKED                                                                                                                                                                                                                                          

        db2 set integrity for DB2INST1.CMS_NODE_ORG FOREIGN KEY IMMEDIATE UNCHECKED                                                                                                                                                                                                                                           

        db2 set integrity for DB2INST1.CMS_SCORE_ITEM FOREIGN KEY IMMEDIATE UNCHECKED                                                                                                                                                                                                                                         

        db2 set integrity for DB2INST1.CMS_USER_MEMBERGROUP FOREIGN KEY IMMEDIATE UNCHECKED                                                                                                                                                                                                                                   

          5 record(s) selected.

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  3)粘贴执行上述命令既可将处于暂挂("C")状态的表转换为正常(''N')状态的表,这样就可以对表进行正常操作了。

          对于FOREIGN KEY IMMEDIATE UNCHECKED和IMMEDIATE CHECKED的解释:

          大多数资料上显示都是使用db2 set integrity for table_name IMMEDIATE CHECKED,但是测试发现当遇到有外键关系的主副表时执行该语句时会对表进行外键检查,这样就是的执行该语句的表的顺序得到了限制,实际操作起来比较麻烦,在批量执行第二部中的命令是会遇到错误这样就可能要反复执行第二步中的命令来反复获得上一次执行设置过程中有外键约束而为成功设置状态的表。对其再进行单独的设置。

  这就是SET INTEGRITY FOR employee, staff IMMEDIATE CHECKED INCREMENTAL所遇到的问题。

  为了避免对 EMPLOYEE 表进行外键检查,可以使用 IMMEDIATE UNCHECKED 选项:

  SET INTEGRITY FOR employee FOREIGN KEY IMMEDIATE UNCHECKED 网

     使用IMMEDIATE UNCHECKED可以避免对操作的table的外键检查,可以只执行一次批量命令就可以设置完全部需要设置的表的状态,实际使用起来比较方便。


使用IBM Data Studio进行DB2数据库管理

     使用IBM Data Studio进行数据库连接、新建数据库、新建表、备份还原数据库、创建自动备份管理等一些列的操作。

参考资料地址:

http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1209neir/(数据库管理)

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0904datastudiorecovery/(数据恢复)

http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1203automaintdb2luw/#ConfigureMaintenanceWindow(配置自动维护)


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!