Cannot drop a database
Posted in 2023
Jean Francois Boudry could not drop a database after a failed dbexport/dbimport with timeseries on IDS 14.10FC8; dropping tscontainertable gave error 214/110, and APAR IT27525 had no workaround. Paul Watson had dropped the other tables and renamed the database; David Williams suggested recreating access methods. Boudry kept the renamed database.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Installation, Setup & Upgrades, Error Codes & Troubleshooting, Server Administration, Migration, Import/Export & Data Conversion, Cloud, Docker & Containers
Hi,
using IDS 14.10FC8 on AIX.
i tried to dbexport/dbimport a database including timeseries.
The dbimport failed.
But now i am not able to drop the database :
CFRSV50211016DB<informix></sauvegarde/kpi2/kpi2>echo "drop database kpi_old"|dbaccess -
214: Cannot remove file for table (informix.tscontainertable).
Error in line 1Near character position 21
CFRSV50211016DB<informix></sauvegarde/kpi2/kpi2>echo "drop table tscontainertable"|dbaccess kpi_old
Database selected.
214: Cannot remove file for table (informix.tscontainertable).
110: ISAM error: end or beginning of the file.
Error in line 1Near character position 27
Database closed.
i can select and insert in tscontainertable , but cannot drop this table.
I found this APAR :
IT27525: DBEXPORT/DBIMPORT OF A DATABASE WHICH HAS BLADES INSTALLED DOESEN'T WORK PROPERLY
But there is no workaround explained.
Does someone has a solution to drop this database ?
It is on a production machine so i have to take care, but this database does not have any impact on production.
Regards
------------------------------
Jean Francois BOUDRY
------------------------------
Had that one before, I think you will need IBM to hack it. I just deleted all tables manually except tscontainertable (dumb table name) and renamed the DB. Cheers Paul
Thank you Paul I did the same, If no workaround, this database will stay here with its new name. ------------------------------ Jean Francois BOUDRY ------------------------------
I thought it was fixed though in 12.10.something, not seen in 14.10
Hi,
Can you look in the dbexport sql file and work out which access methods that load the datablade are used for that table?
Drop and recreate the access methods using the correct path to the datablade file and try again.
Regards,
David.
------------------------------
David Williams
------------------------------
Thank you David.
But don't really understand what you are calling the 'access method for that table'
There are some references to Timeseries Datablade in the dbimport.out file, but nothing linked to tscontainertable.
And about user table kpi_informix, as was able to drop it.
{ TABLE "informix".tscontainertable row size = 2442 number of columns = 5 index size = 134 }
create table "informix".tscontainertable
(
name varchar(128,1) not null ,
subtype varchar(128,1) not null ,
partitiondesc "informix".tspartitiondesc_t not null ,
flags integer not null ,
pool varchar(128,1)
) extent size 32 next size 32 lock mode row;
revoke all on "informix".tscontainertable from "public" as "informix";{ unload file name = tscon00121.unl number of rows = 6 }
create unique index "informix".tscontainertable_pk on "informix"
.tscontainertable (name) using btree in table ;
alter table "informix".tscontainertable add constraint primary
key (name) constraint "informix".tscontainertable_cpk ;
{ TABLE "informix".kpi_informix row size = 2056 number of columns = 2 index size = 0 }
{ unload file name = kpi_i00127.unl number of rows = 1 }
create table "informix".kpi_informix
(
kpi_id integer,
cpu_data timeseries(kpi_cpu)
) extent size 32 next size 32 lock mode row;
revoke all on "informix".kpi_informix from "public" as "informix";*** put loadcur
937 - *** (UTSDF) - Routine mi_get_table_partnum execution failed.
User Defined Routine error.
Regards
------------------------------
Jean Francois BOUDRY
------------------------------
Hi, The definition of "informix".tspartitiondesc_t does that reference the datablade? Regards, David. ------------------------------ David Williams ------------------------------
Hi, no, it is a lvarchar. create distinct type "informix".tspartitiondesc_t as lvarchar ; But i think i will let this database, it is not critical and it does not use space. Thank you for your help Regards ------------------------------ Jean Francois BOUDRY ------------------------------