-r server option

Forces all databases that start on the server to be read-only. No changes to the database(s) are allowed: the server doesn't modify the database file(s) and transaction log files.

Syntax
{ dbsrv11 | dbeng11 } -r ...
Applies to

All operating systems and database servers.

Remarks

Opens all database files as read-only with the exception of the temporary file when the option is specified before any database names on the command line. If the -r server option is specified after a database name, only that specific database is read-only. You can make changes on temporary tables, but ROLLBACK has no effect, since the transaction and rollback logs are disabled.

A database distributed on a CD-ROM device is an example of a database file that cannot be modified. You can use read-only mode to access this sort of database.

If you attempt to modify the database, for example with an INSERT or DELETE statement, a SQLSTATE_READ_ONLY_DATABASE error is returned.

Databases that require recovery cannot be started in read-only mode. For example, database files created using an online backup cannot be started in read-only mode if there were any open transactions when the backup was started, since these transactions would require recovery when the backup copy is started.

Databases with auditing turned on cannot be started in read-only mode.

If you are checking the validity of a backup copy, you should run the database in read-only mode so that it is not modified in any way. See Validating a database.

See also
Example

To open two databases in read-only mode

dbeng11 -r database1.db database2.db

To open only the first of two databases in read-only mode.

dbeng11 database1.db -r database2.db