oracle准确记录数据提交时间

注意:mysql中的默认值同样记录的是dml操作发出时的时间,并且没有找到mysql中准确记录commit时间的方法。

oracle中数据发生变动时,如何准确记录发生变动时的时间。一般会使用ts字段,该字段使用默认值,default to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) 进行记录。但是这种记录方式一般是BI数仓使用,基本都是串行insert和delete操作。因为是串行,所以认为ts近似于提交(commit)时间,而实际ts记录的是该操作(insert)发出的时间。

对于并发频繁insert、update,或者事务时间较长,如何精确记录提交时间。

ora_rowscn是oracle10g版本中提出的概念,是一个伪列,用来记录数据提交时的scn,而scn是唯一的,且scn的先后就是commit的时间的先后。默认建表方式的ora_rowscn记录的是scn是精确到block的,而不是row,此时ora_rowscn取自data block header中的scn。要精确到row,需要使用以下方式建表:create table tab(c1 number) rowdependencies,此时每行数据需要增加6字节的开销。

ora_rowscn到timestamp转换,函数scn_to_timestamp()

普通建表

create table ctest (c1 varchar2(10),ts varchar2(19) default to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'))

-- 2022-11-14 10:58 insert

-- 2022-11-14 11:00 commit

insert into ctest(c1) values ('c');

insert into ctest(c1) values ('y');

select c1,ts,to_char(scn_to_timestamp(ora_rowscn),'yyyy-mm-dd hh24:mi:ss') ts2 from ctest

仔细比对下图中内容

精确到行

create table ctest (c1 varchar2(10),ts varchar2(19) default to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')) rowdependencies

-- 2022-11-14 10:58 insert

-- 2022-11-14 11:00 commit

insert into ctest(c1) values ('c');

insert into ctest(c1) values ('y');

select c1,ts,to_char(scn_to_timestamp(ora_rowscn),'yyyy-mm-dd hh24:mi:ss') ts2 from ctest

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JeeSite 4.x and 5.x快速开发平台前端技术探索与实践

一、引言 随着企业信息化建设的不断推进,对于快速、高效、安全的企业级应用需求日益增长。JeeSite作为一款企业级快速开发平台,以其强大的后端功能和灵活的前端架构,为开发者提供了强大的支持。本文旨在探讨JeeSite快速开发平台在前端技术方…

c++——模板初始识

1.函数模板 我们经常用到Swap函数交换两个值。由于需要交换的数据的类型不同,我们就需要写不同参数类型的同名函数,也就是函数重载: 然而这三个函数的逻辑是一样的,写这么多有些多此一举,通过函数模版可以写一个通用…

摸鱼大数据——Hive表操作——文件数据的导入和导出

数据导入和导出 1、文件数据导入 1.1 直接上传文件 window页面上传 需求: 已知emp1.txt文件在windows/mac系统,要求使用hdfs保存此文件 并且使用hivesql建表关联数据 use day06; ​ -- 1- 创建Hive表 create table emp1 (id int,name string,salary int,dept string )row for…

CUDA_VISIBLE_DEVICES‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题: 命令行出现CUDA_VISIBLE_DEVICES0 python trainer.py这种命令 这是Linux可以的,但是Windows不行。 解决方案: 这条命令的含义是指定某个GPU来运行程序,我们可以在程序开头添加指定GPU的代码,效果是一样的&…

xLSTM——解析扩展长短期记忆的网络算法与应用

1.概述 二十多年来, 塞普霍赫赖特 创举 长短期记忆 (LSTM) 架构在许多深度学习突破和实际应用中发挥了重要作用。从生成自然语言到为语音识别系统提供动力,LSTM 一直是人工智能革命背后的驱动力。 然而,即使是 LSTM 的创建者也认识到它们固…

【Sql Server】随机查询一条表记录,并重重温回顾下存储过程的封装和使用

大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言随机查询语…

Visual Studio +Resharp,让你在C#编程界一骑绝尘!【文末送2024C#入门到精通教程视频+源码C#.NET全栈开发高级VIP班[完结】

目录 前言 一、Visual Studio:C#开发的强大后盾 二、ReSharper:智能代码编辑器的典范 三、Visual Studio ReSharper:一骑绝尘的编程组合 四、如何发挥最大效能 五、结论 文末福利: 文末有福利 前言 在C#编程领域&#x…

情感分析及数据集代码解析

15.1. 情感分析及数据集 — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import os import torch from torch import nn from d2l import torch as d2l#save d2l.DATA_HUB[aclImdb] (http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz,01ada507287d828…

【Altium Designer】安装教程

一、软件下载 二、软件安装 三、授权文件激活 一、软件下载 Altium Designer官网下载 二、软件安装 1.解压完下载好的软件,鼠标右击【OfflineSetup_Altium_Designer_Public_24_5_1】安装程序,选择【以管理员身份运行】。 2.语言选择【Chinese】&#…

如何向《大众日报》理论稿投稿?

《大众日报》是山东省委机关报,其理论版是该报的重要版面之一,主要刊登关于政治、经济、文化、社会等方面的理论文章和研究成果。 - 投稿方式:通常可以通过电子邮件或在线投稿系统向《大众日报》理论版投稿。 - 选题范围:理论版…

回收站删掉的照片还能找回来吗?掌握这5个方法,很简单!

“我一不小心在回收站中误删了一些照片,这些照片对我来说是比较重要的,不知道这些还有机会将它们找回来吗?” 当我们不小心将珍贵的照片从计算机的回收站中误删时,那种瞬间的心痛和焦虑难以言表。这些照片可能记录了我们生活中的重…

kafka-生产者发送消息消费者消费消息

文章目录 1、生产者发送消息&消费者消费消息1.1、获取 kafka-console-producer.sh 的帮助信息1.2、生产者发送消息到某个主题1.3、消费主题数据 1、生产者发送消息&消费者消费消息 1.1、获取 kafka-console-producer.sh 的帮助信息 [rootlocalhost ~]# kafka-console…

解决mybatis/mybatis plus报错:Invalid bound statement (not found) 的方法汇总

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候接口与xml不匹配,要么是找不到,要么是找到了却匹配不到。 我的问题是项目没有把最新的方法x…

上海冠珠旗舰总店盛装开业暨冠珠瓷砖中国美学设计巡回圆满举办

上海,这座融合了东西方文化的国际化大都市,不仅是中国的时尚中心,也是全球潮流的汇聚地。在这里,古典与现代交织,传统与前卫并存,为传统色彩与现代设计的融合提供了得天独厚的条件。 5月25日,上…

svix - webhooks

文章目录 一、关于 SvixClient Library Overview与 Svix 托管服务的区别 二、运行服务器1、部署1.1 Docker1) 使用 Docker Compose2) 独立容器 1.2 预编译的二进制文件1.3 从源代码构建 2、运行时依赖项3、Redis/Valkey 注意事项持久性 Eviction 政策4、服务器配置4.1 配置文件…

红队技巧:仿冒Windows登录

Metasploit框架:phish_windows_credentials Metasploit带有内置的后期漏洞利用功能,可帮助我们完成任务。由于它是后渗透的模块,因此只需要输入会话即可: use post/windows/gather/phish_windows_credentials set session 1 …

WebGL学习(一)渲染关系

学习webgl 开发理解渲染关系是必须的,也非常重要,很多人忽视了这个过程。 我这里先简单写一下,后面尽量用通俗易懂的方式,举例讲解。 WebGL,全称Web Graphics Library,是一种在网页上渲染3D图形的技术。它…

【链表】Leetcode 61. 旋转链表【中等】

旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 解题思路 要将链表每个节点向右移动 k 个位置: 计算链表…

Leetcode3161. 物块放置查询(Go语言的红黑树 + 线段树)

题目截图 题目分析 每次1操作将会分裂成两块区间长度,以最近右端点记录左侧区间的长度即可 因此涉及到单点更新和区间查询 然后左右侧最近端点则使用redBlackTree,也就是python中的sortedlist ac code type seg []int// 把 i 处的值改成 val func (t …

Spark-RDD-常用算子(方法)详解

Spark概述 Spark-RDD概述 Spark RDD 提供了丰富的方法来对数据进行转换和操作。 对 RDD(Resilient Distributed Dataset)的操作可以分为两大类:转换算子(Transformations)和行动算子(Actions)…