Initialize Databases Asynchronously

The async_init parameter for the alter database and create database commands lets you asynchronously initialize a database while it is being used.

That is, the database is immediately available when it is created or altered, not when the database initialization is complete. The initialization is transparent to the user.

Any task that uses a page of the database that is not yet initialized performs an initialization of the allocation unit on which the page resides.

The asynchronous initialization is performed by a service task that is started by the create database or alter database command. When it restarts, SAP ASE automatically starts a new service task that completes the initialization. In a clustered environment, if an instance running the service task fails or is shut down, the coordinating instance starts a new service task to complete the initialization.

Use can use the enable async database init configuration parameter to specify whether SAP ASE asynchronously creates or alters databases.

The noasync_init clause can also be use to indicate that you are extending a database, and that SAP ASE initializes the extended space synchronously.

The syntax to create databases asynchronously is:
create [temporary] database database_name 
	[on {default | database_device} [= size] 
. . . 
	[with {override 
	| default_location = "pathname" [,[no]async_init] }
	[for {load | proxy_update}]
noasync_init indicates the database is initialized synchronously. The syntax to alter a database asynchronously is:
alter database database_name 
	[on {default | database_device } [= size]
. . . 
	[with override [,[no]async_init]]
	[for load]
	[for proxy_update]

Using the [no]async_init clause for create or alter database overrides the settings for enable async database init.