CREATE TABLE SYS.SYSIQFILE ( file_id SMALLINT NOT NULL, start_block rowid NOT NULL, block_count rowid NOT NULL, create_time TIMESTAMP NOT NULL, segment_type CHAR(8) NOT NULL, allocated CHAR(1) NOT NULL, server_name CHAR(30) NOT NULL, file_name CHAR(128) NOT NULL, data_offset UNSIGNED INT NOT NULL, PRIMARY KEY ( file_id ) UNIQUE ( server_name, file_name ) )
Every database consists of one or more operating system files. Each dbspace and IQ Message file is recorded in SYSIQFILE (corresponding to a same entry in SYSFILE).
For multiplex, each server has unique entries in SYSIQFILE for its dbspace files. The rows in SYSIQFILE for a multiplex write server are maintained just like those for a nonmultiplex server. You must update the SYSIQFILE table on each server in a multiplex environment once it is modified (through CREATE or DROP DBSPACE commands) on any server, so that the tables contain identical information.
The initial CREATE or DROP DBSPACE must occur on the server that writes to the file (the specific server for IQ Temporary dbspaces, the write server for IQ Main dbspaces). That entry must then also be added to SYSIQFILE on each of the other servers. Sybase Central procedures that create and drop dbspaces, including the procedure that adds a new query server to the multiplex, maintain this agreement.
file_id Each file in a database is assigned a unique number. This file identifier is the primary key for SYSIQFILE, and it is linked to a same value in SYSFILE.
start_block Number of the first block.
block_count Number of blocks for this file (dbspace).
create_time Date and time the file was created.
segment_type Defines the type of segment: Main, Temp, or Msg.
allocated Defines whether the segment is preallocated (T) or autoallocated (F).
server_name For nonmultiplex databases and write servers, always blank. For multiplex query servers, always contains the query server’s name.
file_name For nonmultiplex databases, always equal to SYS.SYSFILE file_name entry. For multiplex, the IQ dbspace name used by the multiplex server to open the IQ dbspace.
data_offset Used only for mixed-platform multiplex. Identifies the byte location of where the Sybase IQ data starts, relative to the beginning of the raw partition. Sybase IQ does not use the disk header block on a raw device. Because the disk header block is used by entities such as volume managers, Sybase IQ skips the first 65536 bytes of a raw device. Block numbers within Sybase IQ always start at 1. The first block would start at offset 65536.