文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux下db2start的错误

Linux下db2start的错误

时间:2009-04-22  来源:幻想与你同在

之前花了不少时间配置好了DB2,然后,想建立的样本数据库sample的时候,提示文件系统的空间不够,然后把实例用户文件夹下面的sqllib使用ln –s命令挂到一个有空间的文件系统中,创建样本数据库成功。。。然后。。。   中午吃完饭回来,继续研究,发现,想用db2start启动实例的时候,启动不了,出现如下错误:
SQL1220N  The database manager shared memory set cannot be allocated.SQL1032N  No start database manager command was issued.  SQLSTATE=57019
提示共享内存不够。。

还有一个很奇怪的问题:
第一次入去,用db2admin启动admin server就成功,停止admin server也成功,但是,接着想用db2inst1启动实例的时候,出现错误提示,然后,再用db2admin启动或者停止admin sserver的时候,就会出现这个错误:DB2ADMIN processing complete, SQLCODE = 4404。。。
然后,不断的Google,试了网上的很多解决办法:
1. 用实例用户运行“db2ftok”命令,生成.ftok文件
2. 查看license是否过期
3. 增大shmall的参数
最后,还是那样,弄了很久。。昏死。。。

然后,晚上,突发奇想,按照IBM红宝书《Up and Running with DB2 on Linux》上面的介绍,修改了如下内核参数:
kernel.shmmax=1073741824
kernel.shmall=3774873
kernel.sem=250 256000 32 1024
kernel.msgmni=1024
kernel.msgmax=65536
kernel.msgmnb=65536
  然后,惊奇地发现,终于没有出现上面那个错误了,但是,出现了一个更加奇怪的错误: SQL1042C An unexpected system error occurred. 彻底崩溃。。。囧囧有神啊。。。
没事,重新再来,查看了下,
在实例用户目录下的sqllib/db2dump/db2diag.log文件中看到如下的内容
MESSAGE : ECF=0x90000520 Failed to obtain the install path
CALLED : DB2 Common, Fault Monitor Facility, fmGetInstPath
RETCODE : ECF=0x90000521 No proper access permisions to the install path
难道真的是昨天挂载了sqllib路径导致的错误??
最后,决定。。。drop掉实例用户,重新建过一个
按照网上的方法: “以root身份执行 $DB2HOME/instance/db2idrop -f 实例名,注意一定要加-f,否则不会删除实例下面sqllib文件。如果不幸忘了,执行db2icrt,会报sqllib文件存在的错误,即使先删掉这个文件也不行,执行一下db2icrt,就会生成一部分sqllib,进入死胡同,呵呵,这个是由于用实例用户登录造成的,也许有个db2profile文件在登录时搞怪,该怎么办呢?看我的吧!用一个非实例的用户登录,su成root,然后再删掉sqllib,试试再db2icrt,问题解决了:)”   创建一个DB2 instance.使用db2icrt命令:
           a. 以root用户运行
           b. 输入以下命令:
              /opt/IBM/db2/V8.1/instance/db2icrt [-a AuthType] -u FencedID InstNme
           其中:
           - AuthType表示 instance authentication的类型,默认为SERVER,其他类型包括CLIENT, DCS, SERVER_ENCRYPT, or DCS_ENCRYPT.
           - FencedID 表示DB2 fenced用户的名字.
           - InstNme 表示要创建的instance的名字.
         示例如下:
             ./db2icrt -u db2fenc1 db2inst1
对DB2实例创建一个TCP/IP连接
            a. 更新/etc/services文件,指定DB2服务器监听client请求的服务名称和端口号,比如加以下一行到/etc/services
               db2c_db2inst1 50001/tcp # DB2 connection service port
                其中:
                    • db2c_db2inst1 表示连接的服务名
                    • 50001 表示服务端口号
                    • tcp 表示TCP/IP 协议
                这里的服务名称和端口号必须在系统中是唯一的。
            b. 在服务器中更新database manager的配置文件:
                i. 以DB2实例用户登陆.
                ii.设置DB2实例环境:
                    . INSTHOME/sqllib/db2profile
                iii. 在DBM配置文件中更新SVCENAME参数.必须指定服务名称或端口号.
                      示例如下:
                         db2 update dbm cfg using SVCENAME db2c_db2inst1
                      可以使用以下命令检查SVCENAME:
                         db2 get dbm cfg | grep SVC
            c. 设置tcpip为DB2COMM注册参数.以DB2实例用户输入以下命令:
                db2set DB2COMM=tcpip
            d. 重启DB2:
                db2stop
                db2start
  成功建了一个实例用户,然后,启动实例的时候,出现了如下错误: sql5043N SUPPORT FOR ONE OR MORE COMMUNICATIONS PROTOCOLS FAILED TO START SECCESSFULLY,HOWEVER CORE DATABASE MANAGER FUNTIONALITY STARTED SECCESSFULLY   查看了db2daig.log有如下信息 2009-04-22-22.58.58.976102+480 I9668A411          LEVEL: Error
PID     : 3447                 TID  : 2199111099328PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000
FUNCTION: DB2 UDB, common communication, sqlcctcpconnmgr, probe:5
MESSAGE : DIA3201E The service name "db2c_db2inst2" specified in the database
          manager configuration file cannot be found in the TCP/IP services
          file.
  查看了一下,原来是/ect/services文件里面的参数填错了。。我太粗心了。。囧。。 最后最后。。。终于启动成功了。。历时一天整。。回到了原点,没事,继续努力,接着下来试试是不是改了sqllib路径的问题,呵呵   db2inst1@suse01:/etc> db2stop
04/22/2009 23:06:41     0   0   SQL1064N  DB2STOP processing was successful.
SQL1064N  DB2STOP processing was successful.
db2inst1@suse01:/etc> db2start
04/22/2009 23:06:49     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.
相关阅读 更多 +
排行榜 更多 +
太空棺材

太空棺材

飞行射击 下载
穿越火线枪战王者腾讯最新版

穿越火线枪战王者腾讯最新版

飞行射击 下载
gz穿越火线最新正式版免赞助版

gz穿越火线最新正式版免赞助版

飞行射击 下载