暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T ALTER SESSION

墨天轮 2019-10-12
581

ALTER SESSION

功能描述

修改会话参数。

注意事项

执行该语句的用户无需授予系统权限。

语法格式

ALTER SESSION { SET { COMMIT_WAIT = { WAIT | NOWAIT } | COMMIT_LOGGING = { IMMEDIATE | BATCH } | TIME_ZONE ='[ + | - ]hh:mm' | nls_param ='nls_param_value' | current_schema = schema_value} }| { { ENABLE | DISABLE } { TRIGGERS | INTERACTIVE TIMEOUT | NOLOGGING | OPTINFO_LOG } }

参数说明

  • COMMIT_WAIT = (WAIT | NOWAIT)

    指定发出commit的服务器进程是否等待日志写进程(Log Writer)将Redo信息写入Redo日志文件。

    默认值为:WAIT。

    • WAIT:等待。

      服务器进程等待。在大多数情况下,此为最佳选项。

    • NOWAIT:不等待。

      不关注Redo信息是否写到Redo日志中,直接提交事务。此选项可能会导致数据丢失,但是提升了事务速度。

  • COMMIT_LOGGING = {IMMEDIATE | BATCH}

    指定日志写进程(Log Writer)是否批量写入Redo信息。

    默认值为:IMMEDIATE。

    • IMMEDIATE:立即提交。

      为每个提交执行日志写入操作。 设置为IMMEDIATE,由于强制磁盘I/O,可能会降低事务吞吐量。

    • BATCH:批量提交。

      先缓存事务的Redo信息,待达到一定的量后再批量写入到日志文件中。设为BATCH,在实例故障时,有可能丢失日志缓冲区的批处理日志信息。

  • TIME_ZONE = '[+|-]{hh}:{mm}'

    设置当前会话时区。通过指定形如'[+|-]{hh}:{mm}'的字符串来设置会话的时区相对于UTC时间(通称: 格林尼治时间)的偏差值('+'表示时区早于格林尼治时间; '-'表示时区晚于格林尼治时间。比如北京时间即为"东八区",偏差值可使用'+08:00'来表示)。

    要查看当前会话的时区信息,可通过查询SESSIONTIMEZONE来获取相关信息。

    默认值为:发起会话的客户端所在的系统时区。

    合法的时区范围为 -12:00~[+]14:00。

  • nls_param = 'nls_param_value'

    设置本地语言环境。

    nls_param取值范围如下:

    • NLS_DATE_FORMAT,默认值"YYYY-MM-DD HH24:MI:SS"。
    • NLS_TIMESTAMP_FORMAT,默认值"YYYY-MM-DD HH24:MI:SS.FF"。
    • NLS_TIMESTAMP_TZ_FORMAT,默认值"YYYY-MM-DD HH24:MI:SS.FF TZH:TZM"。
    • NLS_TIME_FORMAT,默认值"HH:MI:SS.FF AM"。
    • NLS_TIME_TZ_FORMAT,默认值"HH:MI:SS.FF AM TZR"。
  • current_schema = schema_value

    切换当前会话schema。默认值为登入会话用户。

  • { ENABLE | DISABLE } { TRIGGERS | INTERACTIVE TIMEOUT | INTERACTIVE TIMEOUT }
    • ENABLE TRIGGERS:当前会话下,执行的SQL语句,会触发trigger。
    • DISABLE TRIGGERS:当前会话下,执行的SQL语句,不会触发trigger。
    • ENABLE INTERACTIVE TIMEOUT:开启空闲检测,默认会话30分钟无sql请求,服务端关闭该会话。
    • DISABLE INTERACTIVE TIMEOUT:关闭空闲检测。
    • ENABLE NOLOGGING:当前会话下,插入数据不记录redo日志和undo日志。
    • DISABLE NOLOGGING:当前会话下,插入数据记录redo日志和undo日志。
    • ENABLE OPTINFO_LOG:当前会话下,打开优化器日志,执行计划生成的详细日志写入log/opt/zengine.opt日志。系统默认2分钟后关闭。如果需要使用,可再次执行该命令打开。
    • DISABLE OPTINFO_LOG:当前会话下,关闭优化器日志。

示例

  • 等待Redo信息写入Redo日志文件后,再提交事务。
    ALTER SESSION SET COMMIT_WAIT=WAIT;
  • 不等待Redo信息写入Redo日志文件,直接提交事务。
    ALTER SESSION SET COMMIT_WAIT=NOWAIT;
  • 设置日志写进程(Log Writer)立即写入Redo信息。
    ALTER SESSION SET COMMIT_LOGGING=IMMEDIATE;
  • 设置日志写进程(Log Writer)批量写入Redo信息。
    ALTER SESSION SET COMMIT_LOGGING =BATCH;
  • 设置当前会话时区为东八区。
    ALTER SESSION SET TIME_ZONE ='+8:00';
  • 设置本地语言环境为NLS_DATE_FORMAT形式。
    ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
  • 如果存在用户user1,切换当前登入用户为user1。
    ALTER SESSION SET current_schema=user1;
  • 设置当前会话执行的SQL语句会触发TRIGGER。
    ALTER SESSION ENABLE TRIGGERS;
  • 设置当前会话执行的SQL语句不会触发TRIGGER。
    ALTER SESSION DISABLE TRIGGERS;
  • 开启空闲检测。
    ALTER SESSION ENABLE INTERACTIVE TIMEOUT;
  • 关闭空闲检测。
    ALTER SESSION DISABLE INTERACTIVE TIMEOUT;
  • 设置当前会话插入数据不记录redo日志和undo日志。
    ALTER SESSION ENABLE NOLOGGING;
  • 设置当前会话插入数据记录redo日志和undo日志。
    ALTER SESSION DISABLE NOLOGGING;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论