|
|
ALTER DATABANK
Alters the file location, transaction control option or size of a databank.
Usage
Embedded/Interactive/ODBC/JDBC.
Description
The
SETclause is used to set or change various characteristics for the specified databank.The
DROPclause is used to remove databank attributes, like file size limitations andREMOVABLE. TheDROP FILESIZEoption will shrink the file size as much as possible.FILESIZE
The databank's physical file size is set by using the
SETFILESIZEoption.When specifying sizes,
K(kilo) means that the size (in bytes) is multiplied by 1 024,M(mega) means the size is multiplied by 1 048 576, andG(giga) means that the size is multiplied by 1 073 741 824.The
DROP FILESIZEoption will shrink the file size as much as possible.GOALSIZE
By specifying a
GOALSIZEvalue, the system will always try to keep the databank size limited to the value specified.MAXSIZE
It is possible to specify the maximum file size by using the
MAXSIZEoption.MINSIZE
It is possible to specify the minimum file size by using the
MINSIZEoption.This option is used to assure
ALTER DATABANK DROP FILESIZEdoes not shrink the databank file too much.FILE
If the
FILEclause is specified, the databank location stored in the data dictionary is changed to the location given in thefilename-stringparameter. The file specified byfilename-stringmust exist when theALTER DATABANKstatement is executed. Thefilename-stringmay be represented as character literal, national character literal, or unicode character literal.The new file must be identifiable as a copy of the databank created for the current Mimer SQL database. The first page of the databank file is read to verify that the data in the databank can be accessed and that the file was closed correctly the last time it was used.
If the file is flagged internally as not being closed correctly, a full databank check is effectively done on it, see the Mimer SQL System Management Handbook, Databank Check Functionality, for details on the DBC functionality.
The
ALTER DATABANKstatement will fail if the new file does not verify correctly against the checks performed.If the timestamp information in the databank file indicates that additional information must be restored to it to bring it up to date, an information message is written to the database server log file (this message will be returned to the user if the database is being accessed in single user mode).
This situation will not cause the
ALTER DATABANKstatement to fail, but any attempt to subsequently access the databank will raise an error indicating that additional information must be restored to the databank. Once the additional information has been restored, the databank can be used normally.If the databank is
OFFLINE, however, the new file will be accepted by theALTER DATABANKstatement without any verification. In this case the file is validated when the databank is next setONLINEand theSET DATABANKstatement will fail if the file does not verify correctly against the checks performed.OPTION
If the
SET OPTIONclause is specified, the transaction control option of the databank is changed. The possible options are:LOG
All operations on the databank are performed under transaction control. All transactions are logged.
TRANSACTION
All operations on the databank are performed under transaction control. No transactions are logged.
WORK
All operations on the databank are performed without transaction control (even if they are requested within a transaction) and are not logged. Set operations (
DELETE,UPDATEandINSERTon several rows) which are interrupted will not be rolled back. All secondary indexes contained in the databank are flagged asnot consistent(a secondary index that is flagged asnot consistentwill not offer optimal performance when used in a query).READ ONLY
Only read only operations are allowed, i.e.
DELETE,UPDATEandINSERToperations are not allowed, nor it's possible to create indexes or altering tables.Note: Secondary indexes contained in a databank that is altered from WORK option will still be flagged as not consistent after the ALTER DATABANK operation. Use the UPDATE STATISTICS statement to make the indexes consistent, see UPDATE STATISTICS.
REMOVABLE
When a databank is set to the
REMOVABLEattribute, the database system does not signal an error when aSELECT,UPDATE, orDELETEoperation is performed on a table in an inaccessible databank. Instead, the system behaves as if the table is empty and signals an end-of-table condition. (If the databank does not have theREMOVABLEattribute, an open file error is returned whenever it is accessed and the file cannot be accessed.)INSERToperations will always signal an error if the databank is inaccessible.This functionality is useful, for example, if the databank is located on a flash memory card.
Note: A database can be set in AUTOUPGRADE mode, which has precedence for REMOVABLE, meaning that for a databank having both AUTOUPGRADE and REMOVABLE enabled a missing databank and/or table will be created. I.e. the file is created whenever it is accessed. If the create fails, the REMOVABLE attribute is used.
See ALTER DATABASE for more information about AUTOUPGRADE.
Restrictions
Only the creator of the databank may alter it.
The databank option may only be set to
TRANSACTIONorLOGfor a databank that is shadowed or contains a table defined with foreign or unique keys, a table referenced in a foreign key context, or a table on which aUNIQUEindex has been created.Notes
If the extension of the databank exceeds the available disk space, the databank is extended as much as possible.
A databank will be extended automatically on operating systems supporting dynamic file extension (provided that there is free space on the disk). However, such incremental extensions may lead to the disk becoming fragmented, so the use of explicit
ALTER DATABANK ... SET FILESIZEcan help avoid disk fragmentation.For databanks with option
TRANSACTIONandLOGthe system treats the maximum size as an advisory limit. This limit may be temporarily exceeded. The reason for this is that the actual updating of the databank files are performed in the background while the detection of the maximum size is performed when the applications perform insert operations during transaction buildup. In addition, when several concurrent users are inserting data the actual space is not reserved until the background updates are made.Changing the location of a databank with the
ALTER DATABANK... SET FILEstatement only changes the file location stored in the data dictionary, it does not move any physical files in the host operating system. You must first copy or move the databank file to its new location using operating system commands and then use theALTER DATABANKstatement to correct the location stored in the data dictionary.The value of
filename-stringmust always be enclosed in string delimiters. The maximum length of the filename string is 256 characters.Refer to Specifying the Location of User Databanks for details concerning the specification of path-name components in
filename-string.When the databank option is altered to
WORK, all secondary indexes contained in the databank will be flagged asnot consistent.It is not possible to update primary key columns if the table is located in a databank with the
WORKoption.Example
ALTER DATABANK usrdb SET GOALSIZE 100 M, MAXSIZE 1 G;Standard Compliance
|
Mimer Information Technology AB Voice: +46 18 780 92 00 Fax: +46 18 780 92 40 info@mimer.se |
|
|