You can set options at three levels of scope: public, user, and temporary.
Temporary options take precedence over user and public settings. User-level options take precedence over public settings. If you set a user-level option for the current user, the corresponding temporary option is set as well.
Some options, such as COMMIT behavior, are database-wide in scope. Setting these options requires DBA permissions. Other options, such as ISOLATION_LEVEL, can also be applied to only the current connection, and need no special permissions.
Changes to option settings take place at different times, depending on the option. Changing a global option such as RECOVERY_TIME takes place the next time the server is started. This list contains some of the options that take effect after the server is restarted:
| Database options that require restarting the server: | 
|---|
| CACHE_PARTITIONS | 
| CHECKPOINT_TIME | 
| OS_FILE_CACHE_BUFFERING | 
| PREFETCH_BUFFER_LIMIT | 
| PREFETCH_BUFFER_PERCENT | 
| RECOVERY_TIME | 
Options that affect only the current connection generally take place immediately. You can change option settings in the middle of a transaction, for example.
WARNING! Changing options when a cursor is open can lead to unreliable results. For example, changing DATE_FORMAT might not change the format for the next row when a cursor is opened. Depending on the way the cursor is being retrieved, it might take several rows before the change works its way to the user.