disk init


Makes a physical device or file usable by Adaptive Server.


disk init 
	name = "device_name" , 
	physname = "physicalname" , 
	[vdevno = virtual_device_number ,]
	size = number_of_blocks 
	[, vstart = virtual_address 
		, cntrltype = controller_number ] 
	[, contiguous] 
	[, dsync = { true | false } ]



is the name of the database device or file. The name must conform to the rules for identifiers and must be enclosed in single or double quotes. This name is used in the create database and alter database commands.


is the full specification of the database device. This name must be enclosed in single or double quotes.


is the virtual device number, which must be unique among the database devices associated with Adaptive Server. The device number 0 is reserved for the master device. Valid device numbers are between 1 and 255, but the highest number must be one less than the number of database devices for which your Adaptive Server is configured. For example, for an Adaptive Server with the default configuration of 10 devices, the available device numbers are 1 – 9. To see the maximum number of devices available on Adaptive Server, run sp_configure, and check the number of devices value.

To determine the virtual device number, look at the device_number column of the sp_helpdevice report, and use the next unused integer.


is the amount of space to allocate to the database extension. size can be in the following unit specifiers: ‘k’ or ‘K’ (kilobytes), ‘m’ or ‘M’ (megabytes), and ‘g’ or ‘G’ (gigabytes). Sybase recommends that you always include a unit specifier. Quotes are optional if you do not include a unit specifier. However, you must use quotes if you include a unit specifier.


is the starting virtual address, or the offset, for Adaptive Server to begin using the database device. vstart accepts the following optional unit specifiers: ‘k’ or ‘K’ (kilobytes), ‘m’ or ‘M’ (megabytes), and ‘g’ or ‘G’ (gigabytes). The size of the offset depends on how you enter the value for vstart.

The default value (and usually the preferred value) of vstart is 0. If the specified device does not have the sum of vstart + size blocks available, the disk init command fails. If you are running the Logical Volume Manager on an AIX operating system. vstart should be 2. Specify vstart only if instructed to do so by Sybase Technical Support.


specifies the disk controller. Its default value is 0. Reset cntrltype only if instructed to do so by Sybase Technical Support.


UNIX platforms only – specifies whether writes to the database device take place directly to the storage media, or are buffered when using UNIX operating system files. This option is meaningful only when you are initializing a UNIX operating system file; it has no effect when initializing devices on a raw partition. By default, all UNIX operating system files are initialized with dsync set to true.


Example 1

Initializes 5MB of a disk on a UNIX system:

disk init 
name = "user_disk", 
physname = "/dev/rxy1a", 
vdevno = 2, size = 5120 

Example 2

Initializes 10MB of a disk on a UNIX operating system file. Adaptive Server opens the device file with the dsync setting, and writes to the file are guaranteed to take place directly on the storage media:

disk init 
name = "user_file", 
physname = "/usr/u/sybase/data/userfile1.dat", 
vdevno = 2, size = 5120, dsync = true


Using dsync

NoteDo not set dsync to false for any device that stores critical data. The only exception is tempdb, which can safely be stored on devices for which dsync is set to false.


SQL92 – Compliance level: Transact-SQL extension.


disk init permission defaults to System Administrators and is not transferable. You must be using the master database to use disk init.

See also

Commands alter database, create database, disk refit, disk reinit, dump database, dump transaction, load database, load transaction

System procedures sp_diskdefault, sp_dropdevice, sp_helpdevice, sp_logdevice