oracle 附加日志 挂起,Oracle 附加日志(supplemental log)

附加日志(supplemental log)可以指示數據庫在日志中添加額外信息到日志流中,以支持基於日志的工具,如邏輯standby、streams、GoldenGate、LogMiner。可以在數據庫和表上設置。

1.數據庫級設置,分兩類:

1.1最小附加日志(minimal supplemental logging):

DATA選項啟用最小附加日志。啟用最小日志可以確保LogMiner(或其他任何基於LogMiner的產品)可以支持行鏈接、簇表、索引組織表等。

語法如下:

alter database {add|drop} supplemental log data;

1.2標識鍵日志(identification key logging):

DATA(all,primary key,unique,foreign key) columns選項啟用最小日志及列數據日志。在源庫日志為變化來源同步其他數據庫的情況下,比如邏輯備用數據庫,受影響的數據行必須以列數據標識(而不是rowid),必須啟用此種附加日志。

語法如下:

alter database {add|drop} supplemental log {data(all,primary key,unique,foreign key) columns};

1.3缺省情況下,Oracle不啟用以上任何附加日志。當使用ALL,PRIMARY,UNIQUE或FOREIGN附加日志時最小補全日志默認開啟(即檢查結果為IMPLICIT)。 在刪除所有導致IMPLICIT最小化附加日志的附加日志后,最小化附加日志變為NO。

1.4查詢當前設置

SELECT supplemental_log_data_min min,

supplemental_log_data_pk pk,

supplemental_log_data_ui ui,

supplemental_log_data_fk fk,

supplemental_log_data_all allc

FROM v$database;

MIN PK UI FK ALLC

YES NO NO NO NO

2,表級附加日志設置,分兩類

2.1,可以通過以下語句設置命名日志組:

語法:

alter table table_name

add supplemental log group group_a(column_a [no log],column_b,...) [always];

NO LOG選項用於指定在日志中排除哪些列。在命名日志組中,至少存在一個無”NO LOG“的定長列。比如,對LONG列使用 no log選項,可以在更改LONG列時,記錄其他列的內容(LONG列本身不能存在日志里)。

ALWAYS選項, 在更新時,日志組中的所有列都會記錄在日志中。這就是所謂的”無條件“日志組,有時也叫”always log group“。如果不指定該選項,只有在日志組中的任何列被修改時,所有列才會出現在日志中。這就是所謂的”有條件“日志組。

說明:同一列可以在多個日志組中存在,但日志中只記錄一次;同一列在“無條件”與“有條件”日志組中存在時,該列將“無條件”記錄。

2.2,可以通過以下語句設置所有列或主鍵/外鍵/唯一鍵組合日志組:

語法:

alter table table_name

add supplemental log data(all,primary key,unique,foreign key) columns;

Oracle將生成無條件或有條件日志組。對於無條件日志組,日志中將記錄該日志組中的所有列;對於有條件日志組,只有日志組中的列有變化時,才會記錄日志組中的所有列。

如果指定“ALL”列,日志中將包含所有最大大小固定長度的列。這種日志是系統創建的無條件日志組。

如果指定“PRIMARY KEY”列,只要有更新,組成主鍵的所有列都會記錄在日志中。這種日志是系統創建的無條件日志組。Oracle使用如下順序確定附加記錄哪些列:

*組成主鍵的列(主鍵有效,或rely且非DISABLED or INITIALLY DEFERRED狀態)

*最小的、至少有一個非空列的唯一索引

*記錄所有標量列

如果指定“UNIQUE”列,如果任何組成唯一鍵或位圖索引的列被修改,組成該唯一鍵或位圖索引的其他列都會記錄在日志中。這種日志是系統創建的有條件日志組。

如果指定“FOREIGN KEY”列,如果任何組成外鍵的列被修改,組成該外鍵的其他列都會記錄在日志中。這種日志是系統創建的有條件日志組。

2.3表級測試

drop table test;

create table test(x int,y int);

--增加附加日志

alter table test

add supplemental log data(all,primary key,unique,foreign key) columns;

select * from dba_log_groups;

OWNER LOG_GROUP_NAME TABLE_NAME LOG_GROUP_TYPE      ALWAYS      GENERATED

SYS   SYS_C0037555   TEST       ALL COLUMN LOGGING  ALWAYS      GENERATED NAME

SYS   SYS_C0037556   TEST       PRIMARY KEY LOGGING ALWAYS      GENERATED NAME

SYS   SYS_C0037557   TEST       UNIQUE KEY LOGGING  CONDITIONAL GENERATED NAME

SYS   SYS_C0037558   TEST       FOREIGN KEY LOGGING CONDITIONAL GENERATED NAME

select * from dba_log_group_columns;

no row selected

--刪除附加日志

alter table test

drop supplemental log data(all,primary key,unique,foreign key) columns;

select * from dba_log_groups;

no row selected

select * from dba_log_group_columns;

no row selected

--增加命名附加日志

alter table test

add supplemental log group group_a(x,y);

select * from dba_log_groups;

OWNER LOG_GROUP_NAME TABLE_NAME LOG_GROUP_TYPE ALWAYS GENERATED

SYS GROUP_A TEST USER LOG GROUP CONDITIONAL USER NAME

select * from dba_log_group_columns;

OWNER LOG_GROUP_NAME TABLE_NAME COLUMN_NAME POSITION LOGGING_PROPERTY

SYS   GROUP_A        TEST       X           1        LOG

SYS   GROUP_A        TEST       Y           2        LOG

alter table test

drop supplemental log group group_a;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zjnu Stadium HDU - 304 加权并查集

题意: 观众席围成一圈。列的总数是300,编号为1–300,顺时针计数,我们假设行的数量是无限的。将有N个人去那里。他对这些座位提出了要求:这意味着编号A的顺时针X距离坐着编号B。例如:A在第4列,X…

还不明白可空类型原理? 我可要挖到底了

一:背景1. 讲故事做好自媒体到现在有一个月了,关注我的兄弟应该知道我产出了不少文章,号里的粉丝也多起来了,我也尽最大努力做到有问必回,现在是基础的、高深的问题都接踵而来,可我也只是一只小菜鸟&#x…

[设计模式]策略模式

策略模式:定义了一系列算法&#xff0c;并将每一个算法封装起来&#xff0c;而且使它们还可以相互替换。 策略模式让算法独立于使用它的客户而独立变化。 代码如下: #include <iostream> using namespace std;class WeaponStrategy { public:virtual void useWeapon()…

蜘蛛牌 HDU - 1584(搜索——达到先让某些段先结合,达最优解)

题意&#xff1a; 一排杂乱的牌&#xff0c;牌间距为1&#xff0c;每次移动只能将小的牌&#xff0c;移动到较大牌上&#xff0c;最终使得牌从小到大排好在一堆。问移动的最小距离。 题目&#xff1a; 蜘蛛牌是windows xp操作系统自带的一款纸牌游戏&#xff0c;游戏规则是这…

oracle 启动实例配置,centOS 7配置单实例oracle自启动

1、修改/etc/oratab(oracle用户操作)vi /etc/oratabtestdb:/u01/app/oracle/product/11.2.0/db_1:N改为testdb:/u01/app/oracle/product/11.2.0/db_1:Y###注意替换对应 ORACLE_SID 和 ORACLE_HOME2、修改$ORACLE_HOME/bin/dbstart(oracle用户操作)echo $ORACLE_HOMEvi $ORACLE_…

浅析微软的网关项目 -- ReverseProxy

浅析微软的网关项目--ReverseProxyIntro最近微软新开了一个项目 ReverseProxy &#xff0c;也叫做 YARP(A Reverse Proxy)官方介绍如下&#xff1a;YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET.…

[设计模式]模板方法模式

模板方法模式: 定义一个操作中算法的框架&#xff0c;而将一些步骤延迟到子类中。模仿方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 代码如下: #include <iostream> using namespace std;class DrinkTemplate { public:virtual void Boi…

Max Sum Plus Plus HDU - 1024(动态规划求最大M子段和)

题意&#xff1a; ----最大M子段和问题 给定由 n个整数&#xff08;可能为负整数&#xff09;组成的序列以及一个正整数 m&#xff0c;要求确定序列的 m个不相交子段&#xff0c;使这m个子段的总和达到最大&#xff0c;求出最大和。 题目&#xff1a; Now I think you have …

oracle游标的常用属性,Oracle基础知识(二十六) - Oracle游标常用属性

Oracle游标相信大家都不陌生&#xff0c;下面就为您详细介绍Oracle游标的常用属性&#xff0c;如果您对Oracle游标方面感兴趣的话&#xff0c;不妨一看。Oracle游标常用属性&#xff1a;%FOUND&#xff1a;变量最后从游标中获取记录的时候&#xff0c;在结果集中找到了记录。%N…

差距(分享)

非985大学生, 你和别人的差距在哪里?&#xff08;转&#xff09; 非985大学生, 你和别人的差距在哪里? 中国青年报03-24 在知乎上看到这样一段话&#xff1a; “渣学校意味着渣教学&#xff0c;渣教学意味着渣学历&#xff0c;渣学历意味着渣就业&#xff0c;就算以后考了研究…

在微服务框架Demo.MicroServer中添加SkyWalking+SkyApm-dotnet分布式链路追踪系统

1.APM工具的选取Apm监测工具很多&#xff0c;这里选用网上比较火的一款Skywalking。Skywalking是一个应用性能监控(APM)系统&#xff0c;Skywalking分为服务端Oap、管理界面UI、以及嵌入到程序中的探针Agent部分&#xff0c;大概工作流程就是在程序中添加探针采集各种数据发送给…

[C++11]constexpr修饰常量表达式

常量表达式和非常量表达式的计算时机不同&#xff0c;非常量表达式只能在程序运行阶段算出结果&#xff0c;但是常量表达式的计算往往发生在程序的编译阶段&#xff0c;这可以极大提高程序的执行效率。 constexpr定义一个常量。 代码如下: #include <iostream> using …

oracle sql execute elapsed time,SQL ordered by Elapsed Time 脚本

--提取&beg_snap 、&end_snapselect * from dba_hist_snapshot x ;--提取&dbidselect * from v$database;--提取$inst_numselect * from v$instance;运行的时候输入上面的值(如果需要输入多次&#xff0c;那么输入同样值即可)select from (select round(nvl((sqt.e…

计算机组成原理期末复习题

地址总线A15~Ao(低),存储空间(按字节编址)分配如下 2000H~3FFFH为ROM区, 5000H~6FFFH为RAM区。用 ROM芯片(4Kx4)和RAM芯片(4Kx4)组成该存储器。请回答 &#xff1a;(1)分别需要ROM和RAM多少片? (2)用二进制形式写出每组芯片的地址范围,并说明可以通过哪些地址位来形成片选信号…

干货分享:如何使用Kubernetes的Ingress API

导语以Kubernetes的Kong为例&#xff0c;聊聊当前流行的开源且与云无关的Ingress控制器。正文您可以通过使用诸如Kong for Kubernetes的Ingress控制器&#xff08;使用自定义资源定义并提供许多插件&#xff09;来极大地扩展Ingress资源的功能。Kubernetes正在整个技术行业中得…

[PAT乙级]1029 旧键盘

旧键盘上坏了几个键&#xff0c;于是在敲一段文字的时候&#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字&#xff0c;请你列出肯定坏掉的那些键。 输入格式&#xff1a; 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每…

表空间oracle查询,Oracle表和表空间查询

用户查询查询和用户相关的数据创建用户CREATE USER userIDENTIFIED BY password[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace]查询所有用户数select username from dba_users;查询当前实例名称select instance_name from v$instance;表空间查询查询用户表…

计算机组成原理期末复习往年卷子

1. I/O设备的编址方式通常有___统一编址__和_独立编址__两种方式。P145 2&#xff0e;Cache是一种高速缓冲存储器&#xff0c;是为了解决____CPU____和___主存____之间速度不匹配而采用的一项重要技术。P124 3&#xff0e;在计算机系统中&#xff0c;I/O设备与主机传递消息的…

.NET Core接入ElasticSearch 7.5

写在前面最近一段时间&#xff0c;团队在升级ElasticSearch&#xff08;以下简称ES&#xff09;&#xff0c;从ES 2.2升级到ES 7.5。也是这段时间&#xff0c;我从零开始&#xff0c;逐步的了解了ES&#xff0c;中间也踩了不少坑&#xff0c;所以特地梳理和总结一下相关的技术点…

[C++11]字符串原始字面量

代码如下: #include <iostream> #include <string> using namespace std;int main() {string str1 R"(D:\hello\world\test.txt)";cout << str1 << endl;string str2 R"(dsdasasdasasda asdagdfhadagd)";cout << str2 &l…