INFORMIX创建索引报错,大家帮忙看看,小弟初学,跪求帮助
在执行INFORMIX9.4版本的创建索引脚本的时候报以下错误:Index created.
242: Could not open database table (gaps.ywty_msgfile).
113: ISAM error:the file is locked.
Error in line 2
Near character position 30
索引创建序列如下,第一个索引创建成功,第二报错误:
create unique index "gaps".msgfilesy1 on "gaps".ywty_msgfile (ywlx,
ptxym,xymxz) using btreein datadbs ;
create index "gaps".msgfilesy2 on "gaps".ywty_msgfile (ywlx,xymxz,
xym) using btreein datadbs ;
表结构如下:
{ TABLE "gaps".ywty_msgfile row size = 83 number of columns = 6 index size = 36 }
create table "gaps".ywty_msgfile
(
ywlx char(3)
default '' not null ,
ptxym char(9)
default '' not null ,
xymxz char(1)
default '' not null ,
xym char(9)
default '' not null ,
errtxt char(60)
default '' not null ,
jlzt char(1)
default '' not null
)extent size 32 next size 32 lock mode page;
revoke all on "gaps".ywty_msgfile from "public";
表被锁了,过会再试! 本帖最后由 yankaga 于 2012-05-11 11:28 编辑
我只是想知道为什么被锁住了,因为我连服务都重启过了,还是被锁,新建的数据库及服务,脚本在其他的服务器上都是没问题的~ 输出onstat -k 看一下~ 本帖最后由 yankaga 于 2012-05-11 13:01 编辑
回复 4# liaosnet
之前我看过了,没有锁的存在,但是还是会被锁住;
之前我去看文档说,9.4对表建索引是先把表锁起来的,是不是因为我对一张表同时建两个索引的关系?
但是个人觉得两个索引是顺序建的,对单表建一个索引的话没问题的,但是放一起是有问题的~
$ onstat -k
IBM Informix Dynamic Server Version 9.40.FC4 -- On-Line (Prim) -- Up 19:14:03 -- 10426464 Kbytes
Locks
address wtlist owner lklist type tblsnumrowid key#/bsiz
0 active, 5000000 total, 524288 hash buckets, 0 lock table overflows
回复 5# yankaga
要的要建索引的时候的onstat -k
。
你这两条语句下去,第一个索引建成功了吗?
要不你重写手写下这2条建表语句,再执行一次试下。。 本帖最后由 yankaga 于 2012-05-11 13:09 编辑
liaosnet 发表于 2012-05-11 13:04 static/image/common/back.gif
回复 5# yankaga
之前有显示,第一个索引是建成功的,第二个就失败了~~~
第二条单独拿出来在DBACCESS下执行也是OK的~~~
放在一个脚本里面就会执行失败
刚才再次执行了下 ,onstat -k的结果和之前给你看到的是一致的~~~~
刚才尝试将两个索引分成单独的两个文件执行,但是报错依然
第一个执行的时候成功了,但是对第二个执行的时候还是失败了~~~~ 贴上onconfig文件
#**************************************************************************
#
#Licensed Material - Property Of IBM
#
#"Restricted Materials of IBM"
#
#IBM Informix Dynamic Server
#(c) Copyright IBM Corporation 1996, 2004 All rights reserved.
#
#Title: onconfig.std
#Description: IBM Informix Dynamic Server Configuration Parameters
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /informix/dbs/rootdbs# Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 4096000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS phydbs # Location (dbspace) of physical log
PHYSFILE 32767000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 58 # Number of logical log files
LOGSIZE 102400 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /informix/online.log # System message log file path
CONSOLE /dev/console # System console message path
# To automatically backup logical logs, edit alarmprogram.sh and set
# BACKUPLOGS=Y
ALARMPROGRAM /informix/etc/no_log.sh # Alarm program path
TBLSPACE_STATS1 # Maintain tblspace statistics
# System Archive Tape Device
TAPEDEV /dbbkup/0lvel_bak/archive0 # Tape device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 2048000 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dbbkup/logic_bak/logic_arc # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 0 # Max amount of data to put on log tape (Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server staging area
# System Configuration
SERVERNUM 0 # Unique id corresponding to a OnLine instance
DBSERVERNAME bxdxsv # Name of default database server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE soctcp,7,256,NET # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR1 # 0 for single-processor, 1 for multi-processor
NUMCPUVPS 7 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one
NOAGE 0 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors
# Shared Memory Parameters
LOCKS 5000000 # Maximum number of locks
BUFFERS 400000 # Maximum number of shared buffers
NUMAIOVPS 2 # Number of IO vps
PHYSBUFF 256 # Physical log buffer size (Kbytes)
LOGBUFF 256 # Logical log buffer size (Kbytes)
CLEANERS 15 # Number of buffer cleaner processes
SHMBASE 0x700000010000000 # Shared memory base address
SHMVIRTSIZE 8192000 # initial virtual shared memory segment size
SHMADD 1024000 # Size of new shared memory segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)
LRUS 15 # Number of LRU queues
LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
TXTIMEOUT 300 # Transaction timeout (in sec)
STACKSIZE 128
# Dynamic Logging
# DYNAMIC_LOGS:
# 2 : server automatically add a new logical log when necessary. (ON)
# 1 : notify DBA to add new logical logs when necessary. (ON)
# 0 : cannot add logical log on the fly. (OFF)
#
# When dynamic logging is on, we can have higher values for LTXHWM/LTXEHWM,
# because the server can add new logical logs during long transaction rollback.
# However, to limit the number of new logical logs being added, LTXHWM/LTXEHWM
# can be set to smaller values.
#
# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller values
# to avoid long transaction rollback hanging the server due to lack of logical
# log space, i.e. 50/60 or lower.
DYNAMIC_LOGS 2
LTXHWM 70
LTXEHWM 80
# System Page Size
# BUFFSIZE - OnLine no longer supports this configuration parameter.
# To determine the page size used by OnLine on your platform
# see the last line of output from the command, 'onstat -b'.
# Recovery Variables
# OFF_RECVRY_THREADS:
# Number of parallel worker threads during fast recovery or an offline restore.
# ON_RECVRY_THREADS:
# Number of parallel worker threads during an online restore.
OFF_RECVRY_THREADS 10 # Default number of offline worker threads
ON_RECVRY_THREADS 1 # Default number of online worker threads
# Data Replication Variables
DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)
DRTIMEOUT 30 # DR network timeout (in sec)
DRLOSTFOUND /informix/etc/dr.lostfound # DR lost+found file path
# CDR Variables
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes)
CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)
CDR_SERIAL 0 # Serial Column Sequence
CDR_DBSPACE # dbspace for syscdr database
CDR_QHDR_DBSPACE # CDR queue dbspace (default same as catalog)
CDR_QDATA_SBSPACE # List of CDR queue smart blob spaces
# CDR_MAX_DYNAMIC_LOGS
# -1 => unlimited
#0 => disable dynamic log addition
# >0 => limit the no. of dynamic log additions with the specified value.
# Max dynamic log requests that CDR can make within one server session.
CDR_MAX_DYNAMIC_LOGS 0# Dynamic log addition disabled by default
# Backup/Restore variables
BAR_ACT_LOG /usr/informix/bar_act.log# ON-Bar Log file - not in /tmp please
BAR_DEBUG_LOG /usr/informix/bar_dbug.log # ON-Bar Debug Log - not in /tmp please
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 20
BAR_XFER_BUF_SIZE 15
RESTARTABLE_RESTORE ON
BAR_PROGRESS_FREQ 0
# Informix Storage Manager variables
ISM_DATA_POOL ISMData
ISM_LOG_POOL ISMLogs
# Read Ahead Variables
RA_PAGES 8 # Number of pages to attempt to read ahead
RA_THRESHOLD 4 # Number of pages left before next group
# DBSPACETEMP:
# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces
# that the OnLine SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the OnLine system is brought online.If not specified, or if
# all dbspaces specified are invalid, various ad hoc queries will create
# temporary files in /tmp instead.
DBSPACETEMP tmpdbs # Default temp dbspaces
# DUMP*:
# The following parameters control the type of diagnostics information which
# is preserved when an unanticipated error condition (assertion failure) occurs
# during OnLine operations.
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.
DUMPDIR /tmp # Preserve diagnostics in this directory
DUMPSHMEM 1 # Dump a copy of shared memory
DUMPGCORE 0 # Dump a core image using 'gcore'
DUMPCORE 0 # Dump a core image (Warning:this aborts OnLine)
DUMPCNT 1 # Number of shared memory or gcore dumps for
# a single user's session
FILLFACTOR 90 # Fill factor for building indexes
# method for OnLine to use when determining current time
USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow)
# Parallel Database Queries (pdq)
MAX_PDQPRIORITY 100 # Maximum allowed pdqpriority
DS_MAX_QUERIES2 # Maximum number of decision support queries
DS_TOTAL_MEMORY256 # Decision support memory (Kbytes)
DS_MAX_SCANS 1048576 # Maximum number of decision support scans
DATASKIP off
# OPTCOMPIND
# 0 => Nested loop joins will be preferred (where
# possible) over sortmerge joins and hash joins.
# 1 => If the transaction isolation mode is not
# "repeatable read", optimizer behaves as in (2)
# below.Otherwise it behaves as in (0) above.
# 2 => Use costs regardless of the transaction isolation
# mode.Nested loop joins are not necessarily
# preferred.Optimizer bases its decision purely
# on costs.
OPTCOMPIND 0 # To hint the optimizer
DIRECTIVES 1 # Optimizer DIRECTIVES ON (1/Default) or OFF (0)
ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
OPCACHEMAX 0 # Maximum optical cache size (Kbytes)
# HETERO_COMMIT (Gateway participation in distributed transactions)
# 1 => Heterogeneous Commit is enabled
# 0 (or any other value) => Heterogeneous Commit is disabled
HETERO_COMMIT 0
SBSPACENAME # Default smartblob space name - this is where blobs
# go if no sbspace is specified when the smartblob is
# created. It is also used by some datablades as
# the location to put their smartblobs.
SYSSBSPACENAME # Default smartblob space for use by the Informix
# Server. This is used primarily for Informix Server
# system statistics collection.
BLOCKTIMEOUT 3600 # Default timeout for system block
SYSALARMPROGRAM /informix/etc/evidence.sh # System Alarm program path
# Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS
OPT_GOAL -1
ALLOW_NEWLINE 0 # embedded newlines(Yes = 1, No = 0 or anything but 1)
#
# The following are default settings for enabling Java in the database.
# Replace all occurrences of /usr/informix with the value of $INFORMIXDIR.
#VPCLASS jvp,num=1 # Number of JVPs to start with
JVPJAVAHOME /informix/extend/krakatoa/jre # JRE installation root directory
JVPHOME /informix/extend/krakatoa # Krakatoa installation directory
JVPPROPFILE /informix/extend/krakatoa/.jvpprops # JVP property file
JVPLOGFILE /informix/jvp.log # JVP log file.
JDKVERSION 1.3 # JDK version supported by this server
# The path to the JRE libraries relative to JVPJAVAHOME
JVPJAVALIB /bin
# The JRE libraries to use for the Java VM
JVPJAVAVM hpi:jvm:java:net:zip:jpeg
# use JVPARGS to change Java VM configuration
#To display jni call
#JVPARGS -verbose:jni
# Classpath to use upon Java VM start-up (use _g version for debugging)
#JVPCLASSPATH/usr/informix/extend/krakatoa/krakatoa_g.jar:/usr/informix/extend/krakatoa/jdbc_g.jar
JVPCLASSPATH/usr/informix/extend/krakatoa/krakatoa.jar:/usr/informix/extend/krakatoa/jdbc.jar
回复 6# liaosnet
贴上ONCONFIG文件
大神帮忙
页:
[1]
2