Constraints that affect onload
The onload utility performs faster than the dbimport, dbload, or LOAD methods. In exchange for this higher performance, onload has certain constraints.
The onload utility has the following constraints:
- The onload utility only creates a new database or table; you must drop or rename an existing database or table of the same name before you run onload. During execution, the onload utility's prompt will ask you if you want to rename blobspaces.
- The onload utility places a shared lock on each of the tables in the database during the load. Although you cannot update a table row with the lock in place, the database is available for queries.
- When you load a complete database, the user who runs onload becomes the owner of the database.
- The onload utility creates a database without logging; you must initiate logging after onload loads the database.
- When you use onload to load a table into a logged database, you must turn off logging for the database during the operation.
- For fragmented tables, the dbspace assignment is preserved, unless you override it using the -fn option.
- For non-fragmented tables, the onload utility attempts to store the table in root dbspace if a target dbspace is not specified with the -d option. If storing the table in root dbspace or in the dbspace specified with the -d option is not possible due to difference in page sizes, the onload utility tries to use a dbspace that has the same dbspace number as the dbspace number of the originally unloaded table. If this dbspace still has a different page size, the load operation will fail.