-r server option

Forces all databases that start on the database server to be read-only. No changes to the database(s) are allowed: the database server doesn't modify the database file(s) or 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 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 Validate 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