DB2安装数据库遇到的问题及常用命令

来源:互联网 发布:美图秀秀淘宝文字模版 编辑:程序博客网 时间:2024/05/21 06:43

1.db2upp@wlaix6b:/home/db2upp>db2 connect to upp

SQL1762N  Unable to connect to database because there is not enough space to 

allocate active log files.  SQLSTATE=08004

解决:执行db2 "update db cfg using newlogpath  '/db2log/db2upp/NODE0000/SQL00001/SQLOGDIR/'";指定日志存放位置

 

2.服务端与客户端只有一方能连接数据库:

释放IPC资源

PRGN=`basename $0`

TMPF="/var/tmp/$PRGN.$$"

 

#================#

# FUNCTION: quit #

#================#

 

quit () {

 

rm -f $TMPF

exit $1

 

}

 

#===============#

# MAIN Entrance #

#===============#

 

# if [ $# -lt 1 ]; then

#       echo "Usage: $PRGN {process_name}"

#       quit 1

# fi

 

uid=`id -u`

if [ $uid -eq 0 ]; then

echo "Superuser cannot use this program !"

quit 1

fi

 

ipcs | grep $LOGNAME > $TMPF

 

cnt=`cat $TMPF | wc -l`

 

while [ $cnt -gt 0 ]; do

line=`sed -n "${cnt}p" $TMPF`

rnm=`echo $line | cut -d " " -f1`

rid=`echo $line | cut -d " " -f2`

echo "killing ${rnm} ... ${rid}"

ipcrm -$rnm $rid

cnt=`expr $cnt - 1`

done

 

quit 0

重启db2数据库

Db2stop force 

Db2start

 

3.客户端连接数据库时报:ERRORCODE=-4499, SQLSTATE=08001

解决:db2 get dbm cfg|grep SVCENAME 查看连接端口

 

 

 

4.启动/停止数据库报错

07/11/2013 16:36:26     0   0   SQL1072C  The request failed because the database manager resources are in an inconsistent state.  The database manager might have been incorrectly terminated, or another application might be using system resources in a way that conflicts with the use of system resources by the database manager.

SQL1025N  The database manager was not stopped because databases are still active.

删除数据库 从新建(未找到解决办法)

 

 

 

 

5.如果容器用的是RAW,当已经在RAW设备上创建容器后,若没有通过正常的步骤删除表空间所在的数据库,也没有直接删除容器或者容器所在的表空间,则再次利用这些RAW设备时,DB2会报:The container is already in use

此时应该使用db2untag命令释放container标志

如:db2untag -f /dev/rdb2datalv

 

 

6.DB2无法创建到指定目录时 提示SQL1052N 数据库路径XXX/ 不存在

 解决:db2set DB2_CREATE_DB_ON_PATH=YES 

 

7.无法删除DB2数据库

解决:db2 force applications all 先清除所有连接 再执行drop db

 

8.服务器关闭,第二天重启后连接数据库报

SQL1116N  A connection to or activation of database "UPP" cannot be made 

9.because of BACKUP PENDING.  SQLSTATE=57019

解决:数据库进入归档模式,执行离线全备份后可恢复正常

db2 backup db upp to /tmp/db2upp    (/tmp/db2upp是一个有权限操作的位置即可恢复正常

 

Db2实用命令:

1.启动db2

db2start

2.停止db2

db2stop force

3.查看数据库连接:

db2 list applications

4.强制杀掉所有连接

db2 force applications all

5.连接数据库

例:db2 connect to upp user db2upp using db2upp #连接upp数据库schame db2upp密码db2upp

6.断开数据库连接

db2 connect reset

6.查看当前实例数据库编目信息

db2 list database directory

7.查看当前数据库所有表空间

db2 list tablespaces show detail

8.查看当前用户权限

db2 get authorizations

9.列出所有用户表 

db2 list tables 

10.创建schema

CREATE schema db2upp

11.查看当前数据库表空间分配情况

db2 list tablespaces show detail 

12.db2命令创建存储过程

存储过程如下:

Create or replace procedure db2upp.SP_BCPSYNDTLSTATUS

...

...

...

P1:begin

end P1

@

保存为:tt.sql

命令:db2 -td@ -vf tt.sql

13.db2命令查看存储过程

db2 select * from syscat.PROCEDURES where procname = SP_BCPS_BCPSYNDTLSTATUS’”

14.查询DB2UPP用户的所有存储过程

db2 select PROCNAME from syscat.PROCEDURES where PROCESCHEMA = DB2UPP’”

 

0 0
原创粉丝点击