The best way to preallocate space for tablespace containers and to make them accessible using the Quick I/O interface is to use the qiomkfile. You can use the qiomkfile to create the Quick I/O files for either temprory or permanent tablespaces.
To create a database file as a Quick I/O file using qiomkfile
Create a database file using the qiomkfile command:
# /opt/VRTS/bin/qiomkfile -h headersize -s file_size /mount_point/filename
Change the owner and group permissions on the file:
# chown oracle:dba .filename
# chmod 660 .filename
Create tablespaces on this file using SQL*Plus statements.
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> create tablespace ts1 datafile '/mount_point/filename.dbf'
size 100M reuse;
exit;
An example to show how to create a 100MB database file named dbfile on the VxFS file system /db01 using a relative path name:
# /opt/VRTS/bin/qiomkfile -h 32k -s 100m /db01/dbfile
# ls -al
-rw-r--r-- 1 oracle dba 104890368 Oct 2 13:42 .dbfile
lrwxrwxrwx 1 oracle dba 19 Oct 2 13:42 dbfile -> \ .dbfile::cdev:vxfs:
In the example, qiomkfile creates a regular file named /db01/.dbfile, which has the real space allocated. Then, qiomkfile creates a symbolic link named /db01/dbfile. This symbolic link is a relative link to the Quick I/O interface for /db01/.dbfile, that is, to the .dbfile::cdev:vxfs: file. The symbolic link allows .dbfile to be accessed by any database or application using its Quick I/O interface.