The following was added to Running Multiplex Transactions > Running DDL Commands > Updating dbspaces in multiplex.
If a subset of the temporary IQ dbfiles cannot be opened or are damaged, drop each damaged dbfile, then replace it.
If all temporary IQ dbfiles are damaged, follow these steps:
Replacing all dbfiles in IQ_SYSTEM_TEMP
Start the database with the -iqnotemp parameter.
start_iq @params.cfg mpxtest.db -iqnotemp 100 -n mpxnode_c
The only temporary file operation allowed on a database while running with -iqnotemp is to drop one or more of the temporary file definitions.
Drop the last file in IQ_SYSTEM_TEMP:
ALTER DBSPACE IQ_SYSTEM_TEMP DROP FILE filename
Stop the database.
For MULTIPLEX:
Start the database with no files to empty the checkpoint log:
start_iq @params.cfg mpxtest.db -iqmpx_ov 1 -iqmpx_sn 1 -n mpxnode_c
Add a “dummy” dbfile to the coordinator. You will need to drop this file and add it again in coordinator mode, because files added in single node mode have a null server ID; they are owned by the coordinator instead of the server that added the file.
To add more space to IQ_SYSTEM_MAIN with a new file on a raw device, use syntax like the following:
Platform |
Command |
---|---|
Windows: |
ALTER DBSPACE IQ_SYSTEM_TEMP ADD FILE tempfile '\\.\PhysicalDrive3' |
Unix: |
ALTER DBSPACE IQ_SYSTEM_TEMP ADD FILE tempfile '/dev/rdsk/c4t600A0B80005A7F5D0000024' |
where tempfile is the logical or chosen logical name of the new dbfile.
Stop the server. Now start it without the -iqnotemp and -iqmpx_ov and -iqmpx_sn flags.
Add a new dbfile in IQ_SYSTEM_TEMP. Because the server is in coordinator mode, the new temporary store dbfile is correct, has a valid server ID, and is used by the coordinator.
Drop the “dummy” dbfile that you added to the coordinator.