首頁 資料庫 mysql教程 DB2数据库的SQL1042C错误解决案例

DB2数据库的SQL1042C错误解决案例

Jun 07, 2016 pm 05:41 PM

测试机上一个老的DB2数据库在正常停库后,在启库时报SQL1042C错误。具体信息如下:#su-db2inst1$db2start2013-04-2313:23:0800SQL1042CAnunexpectedsystemerroro

 测试机上一个老的DB2数据库在正常停库后,在启库时报SQL1042C错误。具体信息如下:

# su - db2inst1

 

$ db2start

2013-04-23 13:23:08     0   0   SQL1042C  An unexpected system error occurred.

SQL1032N  No start database manager command was issued.  SQLSTATE=57019

 

这个错误必须要检查的信息:

o    看看文件系统的空间是否足够 

o    查看是否有足够的内存和交换/调页空间可用 

 

o    查看跟踪文件,香港服务器,db2diag.log里面的内容来确认问题的所在 

经过检查,前三个问题正常。现在查看DB2DIAG.LOG日志,有如下信息需注意

 

PID     : 1388642              TID  : 1           PROC : db2star2

INSTANCE: db2inst1             NODE : 000

FUNCTION: DB2 UDB, base sys utilities, LicCheckProcessors, probe:20

MESSAGE : ADM12017E  The number of processors on this machine exceeds the 

          defined entitlement of "1" for the product "DB2 Enterprise Server 

          Edition". The number of processors on this machine is "2". You should 

          purchase additional processor based entitlements from your IBM 

          representative or authorized dealer and update your license using the 

          License Center or the db2licm command line utility. For more 

          information on updating processor based licenses, refer to the Quick 

          Beginnings manual for your platform. For more information on the 

          db2licm utility, refer to the DB2 Command Reference.

这个问题CPU的授权许可,关于这个问题可以查看一下许可文件信息

 

$ db2licm -l

Product Name                            = "DB2 Enterprise Server Edition"

Product Identifier                      = "DB2ESE"

Version Information                     = "8.2"

Expiry Date                             = "Permanent"

Registered Connect User Policy          = "Disabled"

Number Of Entitled Connect Users        = "5"

Enforcement Policy                      = "Soft Stop"

Number of processors                    = "2"

Number of licensed processors           = "1"

Database partitioning feature           = "Not entitled"

Annotation                              = ""

Other information                       = ""

 

Product Name                            = "DB2 High Availability Disaster Recovery 

 

Option"

Product Identifier                      = "DB2HADR"

Version Information                     = "8.2"

Expiry Date                             = "Permanent"

Annotation                              = ""

Other information                       = ""

 

Product Name                            = "DB2 Advanced Security Option"

Product Identifier                      = "DB2ASO"

Version Information                     = "8.2"

Expiry Date                             = "Permanent"

Annotation                              = ""

Other information                       = ""    

如果你注意到红色的两行,将会发现系统处理器的个数与授权个数不一样。这种情况下,香港服务器,使用db2licm -n “DB2ESE” 2 (注:2对应系统的处理器个数)即可。

命令如下:

#/home/db2inst1/sqllib/adm/db2licm -n "DB2ESE" 2

DBI1418I The number of licensed processors on this system has 

          been updated successfully.  
 

然后再看,CPU许可已变过来了。

$ db2licm -l

Product Name                            = "DB2 Enterprise Server Edition"

Product Identifier                      = "DB2ESE"

Version Information                     = "8.2"

Expiry Date                             = "Permanent"

Registered Connect User Policy          = "Disabled"

Number Of Entitled Connect Users        = "5"

Enforcement Policy                      = "Soft Stop"

Number of processors                    = "2"

Number of licensed processors           = "2"

Database partitioning feature           = "Not entitled"

Annotation                              = ""

Other information                       = ""

 

Product Name                            = "DB2 High Availability Disaster Recovery 

 

Option"

Product Identifier                      = "DB2HADR"

Version Information                     = "8.2"

Expiry Date                             = "Permanent"

Annotation                              = ""

Other information                       = ""

 

Product Name                            = "DB2 Advanced Security Option"

Product Identifier                      = "DB2ASO"

Version Information                     = "8.2"

Expiry Date                             = "Permanent"

Annotation                              = ""

Other information                       = ""   

 

再启数据库发现依然报SQL1042C错误

 

$ db2start

2013-04-23 13:59:28     0   0   SQL1042C  An unexpected system error occurred.

SQL1032N  No start database manager command was issued.  SQLSTATE=57019

 

继续查看日志发现有如下信息:

PID     : 315522               TID  : 1           PROC : db2sysc 0

INSTANCE: db2inst1             NODE : 000

FUNCTION: DB2 UDB, oper system services, sqloRunInstance, probe:210

CALLED  : OS, -, unspecified_system_function

OSERR   : EPERM (1) "Not owner"

 

针对这个问题,可以用如下方法解决:

1) 停止所有DB2进程

#ps -ef | grep db2

如有DB2进程,可以强制终止(kill),确保所有DB2进程已终止;

 

2) 执行以下语句

#/usr/opt/db2_08_01/instance/db2iupdt tstdb   #实例名

or

 

db2inst1

db2inst2

DBI1070I Program db2iupdt completed successfully.  

注:更新实例,网站空间,用于实例获得一些新的产品选项(特别是更改后)或修订包的访问权。 


然后再启

 

$ db2start

2013-04-23 14:23:39     0   0   SQL1063N  DB2START processing was successful.

SQL1063N  DB2START processing was successful.

$ db2 connect to tstdb 

 

   Database Connection Information

 

 Database server        = DB2/6000 8.2.3

 SQL authorization ID   = DB2INST1

 Local database alias   = tstdb 

最后数据库终于起来了,经测试一切正常。 

 

微信二维码 51CTO滴水穿石

  

本文出自 “滴水穿石” 博客,请务必保留此出处

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

減少在Docker中使用MySQL內存的使用 減少在Docker中使用MySQL內存的使用 Mar 04, 2025 pm 03:52 PM

減少在Docker中使用MySQL內存的使用

如何使用Alter Table語句在MySQL中更改表? 如何使用Alter Table語句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

如何使用Alter Table語句在MySQL中更改表?

mysql無法打開共享庫怎麼解決 mysql無法打開共享庫怎麼解決 Mar 04, 2025 pm 04:01 PM

mysql無法打開共享庫怎麼解決

什麼是 SQLite?全面概述 什麼是 SQLite?全面概述 Mar 04, 2025 pm 03:55 PM

什麼是 SQLite?全面概述

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) 在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) Mar 04, 2025 pm 03:54 PM

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

在MacOS上運行多個MySQL版本:逐步指南 在MacOS上運行多個MySQL版本:逐步指南 Mar 04, 2025 pm 03:49 PM

在MacOS上運行多個MySQL版本:逐步指南

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)? 如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)? Mar 18, 2025 pm 12:00 PM

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)?

如何為MySQL連接配置SSL/TLS加密? 如何為MySQL連接配置SSL/TLS加密? Mar 18, 2025 pm 12:01 PM

如何為MySQL連接配置SSL/TLS加密?

See all articles