您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

数据库选项的作用域和持续时间

可以将选项设置为三种级别的作用域:公共、用户和临时。

临时选项优先于用户设置和公共设置。用户级选项优先于公共设置。如果为当前用户设置用户级选项,也会设置对应的临时选项。

某些选项(如 COMMIT 行为)的作用域是数据库范围。设置这些选项要求具有 DBA 权限。其它选项(如 ISOLATION_LEVEL)也可以只应用于当前连接,并且不需要特殊权限。

根据选项的不同,选项设置更改的时间也不同。对全局选项(如 RECOVERY_TIME )的更改发生在下一次服务器启动时。一些选项在服务器重启后生效:

  • CACHE_PARTITIONS

  • CHECKPOINT_TIME

  • OS_FILE_CACHE_BUFFERING

  • OS_FILE_CACHE_BUFFERING_TEMPDB

  • PREFETCH_BUFFER_LIMIT

  • PREFETCH_BUFFER_PERCENT

  • RECOVERY_TIME

  • SWEEPER_THREADS_PERCENT

  • WASH_AREA_BUFFERS_PERCENT

    通常,只有影响到当前连接的选项才会立即生效。例如,可以在一个事务中间更改选项设置。

    警告在游标打开时更改选项会导致不可靠的结果。例如,在游标打开时,更改 DATE_FORMAT 或许不会改变下一行的格式。根据游标检索的方式,或许要到几行之后更改才会对用户生效。