设为首页 收藏本站
查看: 1197|回复: 0

[经验分享] 创建db2数据库

[复制链接]

尚未签到

发表于 2016-11-13 08:15:11 | 显示全部楼层 |阅读模式
        下面以创建数据库“BSDB”为例,说明Linux环境下创建DB2数据库的过程:
        首先需要安装DB2数据库应用,创建默认数据库实例,此过程主要参考 Linux下安装DB2数据库步骤,这篇文章中有比较详细的安装过程,如需转载时请注明出处。因此此处DB2的安装就不再赘述,见参考文章的1-4步骤,重点为DB2实例、数据库以及schema的创建。 
 
    1.用root用户登录,添加用户组以及用户,用于创建数据库实例,此过程见参考文章的5-8步骤,也可以参考我的文章 Linux下创建用户,刚刚安装好DB2一般需要创建三个用户(分别是拥有实例的用户 db2inst1,受防护的用户 db2fenc1,DAS用户db2dasusr1);
 
    2. 创建实例
    1) “cd /opt/ibm/db2/V9.7/instance” 命令切换至DB2目录;
    2) "./dascrt -u db2dasusr1"命令创建DB2管理服务器;
    3) "./db2icrt -u db2fenc1 db2inst1"命令创建DB2实例;
  注:这里dascrt创建的是DB2 adminstration server,每台服务器只有一个这种server,为进行DB2管理(比如运行控制中心)所必须,同时指定其管理用户是db2dasusr1 ,db2icrt创建的是实例,其名字一般和管理用户名一样,这里db2fenc1为它的防护用户,而db2inst1为一实例用户。
  3. 配置DB2
  1) “./db2iauto -on db2inst1”命令设置db2inst1在Linux启动时自动启动(注:依然在root用户下,db2目录下);或者”DB2AUTOSTART=yes“命令设置实例是否在系统启动是自动启动;
  2) 修改网络服务端口(注:在db2inst1用户下)
  修改DB2的服务端口为50658,默认情况下端口是50000,如果没有必要或者此端口没有被占用则不需要修改( netstat -na | grep 50000    查看50000端口是否已使用中)。命令如下:
  “su - db2inst1”命令切换到db2inst1用户;
  "db2 update dbm cfg using SVCENAME 50658"命令修改服务端口;
  3) “db2set DB2COMM=TCPIP”命令修改DB2连接方式为TCP/IP,这样就可以通过JDBC、ODBC等访问本DB2服务器上的数据库,安装了DB2客户端的其它机器也可访问数据库;
  4) 查看/etc/services文件是否有如下配置,这是指定实例的端口,如果没有则需要添加此配置
  db2c_db2inst1 50000/tcp
  db2i_db2inst1 50001/tcp
  5) "db2 get dbm config"命令查看实例的配置文件,如果发现SVCENAME的值是空的,配置SVCENAME的值即为在第4)步为services文件中的db2inst1实例指定的侦听端口(70000)的服务名:db2c_db2inst1,此时用"db2 update dbm config using SVCENAME   db2c_db2inst1"命令修改SVCENAME。另外如果发现实例配置文件中SVCENAME和/etc/services中为实例设置的服务名"db2c_db2inst1"不一致,也需要两个地方更改为一致。
  4. 创建数据库”BSDB“
  1) “db2 create db BSDB on /db2sys using codeset UTF-8 territory US”命令创建数据库BSDB,这条命令中“/db2sys”目录是自己可以指定的,也可以不指定则默认创建至当前登录用户主目录”/home/db2inst1“下;
  2) "db2 connect to BSDb”命令可以返回:数据库连接信息
  Database server(数据库服务器)       = DB2/LINUXX8664 9.9.7
  SQL authorization ID(SQL 授权标识)       = DB2INST1           
  Local database alias(本地数据库别名)    = BSDB 
  证明数据库的本地连接成功。
  建表语句不再描述。
  “db2 list tables for all”命令可以返回所有的表(包含刚创建的)。
  注:
      在window中出现“SQL1052N 数据库路径不存在”的错误,解决方案:
      C:/Program Files/IBM/SQLLIB/BIN>db2set -all
      C:/Program Files/IBM/SQLLIB/BIN>db2set -?
       -all     显示出现的所有本地环境变量,如以下各项中所定义:
           *  环境,用 [e] 表示
           *  用户级注册表,用 表示
           *  节点级注册表,用 [n] 表示
           *  实例级注册表,用 表示,和
           *  全局级注册表,用 [g] 表示 
      C:/Program Files/IBM/SQLLIB/BIN>db2set -i db2 DB2_CREATE_DB_ON_PATH=YES
  5. 创建好实例、数据库、数据表后就可以通过JDBC或者其他DB2数据库客户端访问数据库了,一般配置如下:
  主机IP: xxxx.xxxx.xxxx.xxxx
  端口:   50000(此为前面设置的服务端口号)
  用户名:db2inst1
  密码:    db2inst1
  6. 创建其他DB2用户,下面以用户“etluser”为例:
  1) 参考步骤1创建需要的用户“etluser”;
  2) 给用户赋DB2权限:
  "db2 connect to BSDB"命令连接数据库;
  “db2 grant connect,createtab,load,create_external_routine on database to user etluser”给用户“etluser”赋权,具体授权方式可参考 db2创建用户及授权的研究;
  3) “db2 connect to BSDB user etluser using etluser”命令用“etluser”用户连接数据库,可以看到数据库连接信息,这样说明用户”etluser“已经创建成功。
  7. 如果需要创建除db2inst1实例外的另外实例,可以参考 【转】linux下DB2中,在命令行状态下创建第二个db2实例。
  8. 自此db2的实例、数据库、用户创建完毕。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299479-1-1.html 上篇帖子: DB2 CLP及系统命令 下篇帖子: DB2-express-c学习!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表