• Oracle中可以nologging执行的操作


    redo重做日志是Oracle数据库恢复(recovery)的基础;但在很多情况下可以通过禁用重做日志的产生来加速SQL语句的完成,也就是我们所说的可nologging化的操作,这些操作大多是或串行的或并行的数据载入。

    那么哪些操作是允许被nologging化的呢?首先需要注意的是普通的DML操作,即:常规insert,update,和delete(以及merge)总是不能被nologging执行的。但以下SQL语句则可以以nologging选项执行:

    • direct load (SQL*Loader)
    • direct load INSERT (using APPEND hint)
    • CREATE TABLE … AS SELECT
    • CREATE INDEX
    • ALTER TABLE … MOVE PARTITION
    • ALTER TABLE … SPLIT PARTITION
    • ALTER INDEX … SPLIT PARTITION
    • ALTER INDEX … REBUILD
    • ALTER INDEX … REBUILD PARTITION
    • INSERT, UPDATE, and DELETE on LOBs in NOCACHE NOLOGGING mode stored out of line

    以上列出的语句,其产生undo和redo重做日志几乎可以完全禁绝。因为都是数据载入语句(或者装载索引)其所产生的新的区间(new extent)在执行过程中被标记为无效的(invalid),同时仅有少量的由数据字典变更引起的重做日志会产生。

  • 相关阅读:
    关于Intent
    k8s常用命令
    kube-ui安装
    配置k8s dns
    centos 7 部署k8s集群
    多进程multiprocessing模块
    queue
    github安装k8s
    错误: No API token found for service account "default",
    线程
  • 原文地址:https://www.cnblogs.com/ys-wuhan/p/5982133.html
Copyright © 2020-2023  润新知