powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Подскажите как дропнуть индекс
9 сообщений из 9, страница 1 из 1
Подскажите как дропнуть индекс
    #35823863
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При проверки базы oncheck выдал следующе

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
oncheck -cdI prime20:caccounts

Validating indexes for prime20:cap.caccounts...
                Index  142_1339 (DISABLED)
                Index  142_1340 (DISABLED)
                Index  142_1236
                  Index  fragment in DBspace caccounts
Could not check rowids and perform data<->index check
A Long row was deleted while reading.
Run oncheck when DML activity on the table is low.
                Index caccountsui10
                  Index  fragment in DBspace caccounts
Could not check rowids and perform data<->index check
A Long row was deleted while reading.
Run oncheck when DML activity on the table is low.
                Index caccountsi03
                  Index  fragment in DBspace caccounts
Could not check rowids and perform data<->index check
A Long row was deleted while reading.
Run oncheck when DML activity on the table is low.
                Index caccountsi04
                  Index  fragment in DBspace caccounts
Could not check rowids and perform data<->index check
A Long row was deleted while reading.
Run oncheck when DML activity on the table is low.
                Index caccountsi05
                  Index  fragment in DBspace caccounts
Could not check rowids and perform data<->index check
A Long row was deleted while reading.
Run oncheck when DML activity on the table is low.
                Index caccountsi06
                  Index  fragment in DBspace caccounts


После чего предложил пересоздать почти все индексы таблицы. Когда начали это делать обнаружили что при удалении например индекса caccountsi06 , вместо него informix сразу создает индекс с цыфровым именем (142_1236) который уже удалятся не хочет .

Подскажите что делать в данной ситуации.

У меня стоит Informix 9.4 UC4

Onconfig

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
# Root Dbspace Configuration

ROOTNAME        rootdbs         # Root dbspace name
ROOTPATH        /dev/sdb1       # Path for device containing root dbspace
ROOTOFFSET       0                # Offset of root dbspace into device (Kbytes)
ROOTSIZE         2000000          # 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         rootdbs         # Location (dbspace) of physical log
PHYSFILE         20000            # Physical log file size (Kbytes)

# Logical Log Configuration

LOGFILES         450              # Number of logical log files
LOGSIZE          20000            # Logical log size (Kbytes)

# Diagnostics

MSGPATH         /usr/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    /usr/informix/etc/alarm.sh # Alarm program path
#ALARMPROGRAM    /usr/informix/etc/alarmprogram.sh # Alarm program path
TBLSPACE_STATS   1                # Maintain tblspace statistics

# System Archive Tape Device

#TAPEDEV                /home/script/bkp_lnk
#TAPEDEV         /dev/null
TAPEDEV         /dev/st0        # Tape device path
#TAPEDEV                /bkp/prime.bkp
TAPEBLK          2048             # Tape block size (Kbytes)
TAPESIZE         300000000        # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

#LTAPEDEV        /dev/null
#LTAPEDEV        /dev/st0        # Log tape device path
LTAPEDEV        /backup/log     # Logical log backup to file
LTAPEBLK         2048             # Log tape block size (Kbytes)
LTAPESIZE        200000000        # 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    ix10            # Name of default database server
#DBSERVERNAME    ix11            # Name of default database server
DBSERVERALIASES                 # List of alternate dbservernames
NETTYPE         soctcp, 1 , 100 ,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 )

MULTIPROCESSOR   1                #  0  for single-processor,  1  for multi-processor
NUMCPUVPS        3                # Number of user (cpu) vps
SINGLE_CPU_VP    0                # If non-zero, limit number of cpu vps to one

NOAGE            1                # Process aging
AFF_SPROC        1                # Affinity start processor
AFF_NPROCS       3                # Affinity number of processors

# Shared Memory Parameters

LOCKS            4000000          # Maximum number of locks
BUFFERS          250000           # Maximum number of shared buffers
NUMAIOVPS        12               # Number of IO vps
PHYSBUFF         512              # Physical log buffer size (Kbytes)
LOGBUFF          512              # Logical log buffer size (Kbytes)
CLEANERS         12               # Number of buffer cleaner processes
SHMBASE         0x10000000        # Shared memory base address
SHMVIRTSIZE      65536            # initial virtual shared memory segment size
SHMADD           32768            # Size of new shared memory segments (Kbytes)
SHMTOTAL         0                # Total shared memory (Kbytes).  0 =>unlimited
CKPTINTVL        300              # Check point interval (in sec)
LRUS             12               # Number of LRU queues
LRU_MAX_DIRTY    60 . 000000        # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY    50 . 000000        # LRU percent dirty end cleaning limit
TXTIMEOUT       0x12c             # Transaction timeout (in sec)
STACKSIZE        32               # Stack size (Kbytes)

# 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     0 
LTXHWM           50 
LTXEHWM          60 

# 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  3                # Default number of online worker threads

# Data Replication Variables
DRINTERVAL       30               # DR max time between DR buffer flushes (in sec)
DRTIMEOUT        20               # DR network timeout (in sec)
DRLOSTFOUND     /usr/informix/etc/dr.lostfound # DR lost+found file path

# CDR Variables
CDR_EVALTHREADS  2 , 2              # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT   5                # DS lockwait timeout (seconds)
CDR_QUEUEMEM     49152            # Maximum amount of memory for any CDR queue (Kbytes)
CDR_NIFCOMPRESS  0                # Link level compression (- 1  never,  0  none,  9  max)
CDR_SERIAL       0 , 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  10 
BAR_XFER_BUF_SIZE  31 
RESTARTABLE_RESTORE on
BAR_PROGRESS_FREQ  0 

# Informix Storage Manager variables
ISM_DATA_POOL   ISMData
ISM_LOG_POOL    ISMLogs

# Read Ahead Variables
RA_PAGES                        # Number of pages to attempt to read ahead
RA_THRESHOLD                    # 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     tempdbs1:tempdbs2

# 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        0                # 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  60                # Maximum allowed pdqpriority
DS_MAX_QUERIES                  # Maximum number of decision support queries
DS_TOTAL_MEMORY                 # 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       2                # 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 /usr/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     /usr/informix/extend/krakatoa/jre
                                # JRE installation root directory
JVPHOME         /usr/informix/extend/krakatoa # Krakatoa installation directory

JVPPROPFILE     /usr/informix/extend/krakatoa/.jvpprops # JVP property file
JVPLOGFILE      /usr/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      /lib/i386/

# The JRE libraries to use for the Java VM

JVPJAVAVM       hpi:server:verify: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

...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35823950
Le111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у вас индекс caccountsi06 для констрейнта был создан, поэтому и пересоздает 142_1236. Хотите удалить индекс - удалите сперва констрейнт
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35823968
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно не дает удалить . Пишет "The index used by a primary or a foreugn key"
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35824047
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Перед изменением схемы неплохо бы убедиться, что у вас есть её копия. dbschema -d ... db.sql
2. Для просмотра констрейнтов dbschema -d ... -t ... table.sql
3. Удалите констрейнты на поля, которіе используются в индексе
4. Возможно не даст удалить primary key если есть foreign key из других таблиц на проблемную. Хдесь не помню - может они умрут сами и не прийдётся грохать и их. Но их потом прийдётся восстанавливать
5. После пересоздания индексов восстанавливайте удалённые констрейнты
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35824138
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой1. Перед изменением схемы неплохо бы убедиться, что у вас есть её копия. dbschema -d ... db.sql
2. Для просмотра констрейнтов dbschema -d ... -t ... table.sql
3. Удалите констрейнты на поля, которіе используются в индексе
4. Возможно не даст удалить primary key если есть foreign key из других таблиц на проблемную. Хдесь не помню - может они умрут сами и не прийдётся грохать и их. Но их потом прийдётся восстанавливать
5. После пересоздания индексов восстанавливайте удалённые констрейнты


1)Схема у меня есть .
2)Констрейнты удалил, все, кроме primary key . При этом индексы удалять все еще не дает , пишет то что я написал в предыдущем посте.
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35824227
Le111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сами же говорите, что primary key не удалили, а индекс построен на поле из primary key. Чтобы удалить такой индекс, нужно удалить констрейнт primary key
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35824238
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем начал разворачивать архив. К сожалению нет времени экспериментировать.
Подскажите что можно сделать что бы в следующий раз это не повторилось .
Хотя бы если падает индекс , то что бы ничего информикс автоматом не создавал ?
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35824722
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой
4. Возможно не даст удалить primary key если есть foreign key из других таблиц на проблемную. Хдесь не помню - может они умрут сами и не прийдётся грохать и их. Но их потом прийдётся восстанавливать
Сами не умрут :)
Сначала нужно выключить (или удалить) ограничение внешнего ключа (child table),
затем выключить/удалить ограничение первичного ключа (master table).
Включать нужно в обратной последовательности, т.е. сначала первичный ключ, потом внешний.
Включение/выключение быстрее и удобнее, чем удаление.
АнатоЛой 5. После пересоздания индексов восстанавливайте удалённые констрейнты
Индексы вручную можно не перестраивать,если они у вас "автоматические" и без специальных имен. Включение ограничения уже вызовет автоматическое построение нужных индексов.
...
Рейтинг: 0 / 0
Подскажите как дропнуть индекс
    #35824755
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KyRoВ общем начал разворачивать архив. К сожалению нет времени экспериментировать.
Подскажите что можно сделать что бы в следующий раз это не повторилось .
Что именно ? Что бы индекс не разрушался ?
Не создавайте ему неблагоприятных условий типа: работа сервера без УПС, кеширование на запись дискового массива и вероятностью выключения питания, сбоев контроллера рейд и т.п.
В тяжелых условиях эксплуатации хорошим тоном будет проверка целостности БД перед созданием архива.

KyRoХотя бы если падает индекс , то что бы ничего информикс автоматом не создавал ?
Ничего не понял...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Подскажите как дропнуть индекс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]