Oracle 核心列信息查看与处理

oracle,核心,信息,查看,处理 · 浏览次数 : 13

小编点评

```sql SELECT\t\tLISTAGG ( COLUMN_NAME, ',' ) \tFROM\t\tuser_tab_cols \tWHERE\t\ttable_name = upper( 'Sometable' ) \t\tAND column_name NOT LIKE '%TIME%' \t\tAND column_name NOT LIKE '%_PT' \t\tAND column_name NOT LIKE '%_CHT' \t\tAND column_name NOT LIKE '%_ES' \t\tAND column_name NOT LIKE '%_EN' \t\tAND column_name NOT LIKE '%DATE' \tORDER BY\t\tCOLUMN_NAME ASC FROM Sometable where timestamp > sysdate -1 order by 1 # 解释将第一步SQL结果集拿过来。 -- 拼接对比使用的获取SQLselect SQL1的结果集 From Sometable where timestamp > sysdate -1 order by 1 SELECT * FROM SQL1; -- 根据得出的结果进行判断. -- 如果有其他异常列可以去掉 有需要添加的可以手工添加. -- 如果增加了需要同步的列 建议也定期进行维护. -- 设置仅查询最近24小时的数据. -- 这个列不同表不一样, 也需要单独进行设置. -- 设置数据库排序, 避免python排序影响性能. -- 结果验证直接使用SQL2的SQL进行查询结果的验证. -- 根据得出的结果进行判断. ```

正文

Oracle 核心列信息查看与处理


背景

最近想对数据库表进行跨数据之间的比照
因为有一些自增列或者是时间戳的列不需要进行对比
后者是对比容易导致失真. 
所以就准备选用其他方式进行一下处理.

本文主要是简单记录一下生成SQL的办法. 

获取必要列作为select 的字段

SELECT
		LISTAGG ( COLUMN_NAME, ',' ) 
	FROM
		user_tab_cols 
	WHERE
		table_name = upper( 'Sometable' ) 
		AND column_name NOT LIKE '%TIME%' 
		AND column_name NOT LIKE '%_PT' 
		AND column_name NOT LIKE '%_CHT' 
		AND column_name NOT LIKE '%_ES' 
		AND column_name NOT LIKE '%_EN' 
		AND column_name NOT LIKE '%DATE' 
	ORDER BY
		COLUMN_NAME ASC 

SQL解释

使用LISTAGG的语法进行 行转列.
Oracle自动将最后一个 , 逗号进行了shrink
然后将列名里面不需要对比的进行一下过滤.
将列罗列出来.

拼接对比使用的获取SQL

select SQL1的结果集 From  Sometable where timestamp > sysdate -1 order by 1 
# 解释
将第一步SQL结果集拿过来. 然后可以进行适当的处理和删减. 
如果有其他异常列可以去掉 有需要添加的可以手工添加.
如果增加了需要同步的列 建议也定期进行维护.

设置仅查询最近24小时的数据. 
这个列不同表不一样, 也需要单独进行设置.

设置数据库排序, 避免python排序 影响性能. 

结果验证

直接使用SQL2的SQL进行查询结果的验证. 

根据得出的结果进行判断. 
务必进行自定修改. 
保证数据准确. 

与Oracle 核心列信息查看与处理相似的内容:

Oracle 核心列信息查看与处理

Oracle 核心列信息查看与处理 背景 最近想对数据库表进行跨数据之间的比照 因为有一些自增列或者是时间戳的列不需要进行对比 后者是对比容易导致失真. 所以就准备选用其他方式进行一下处理. 本文主要是简单记录一下生成SQL的办法. 获取必要列作为select 的字段 SELECT LISTAGG

Oracle JDK 和 OpenJDK 有什么区别?

摘自 JavaGuide (「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!) 可能在看这个问题之前很多人和我一样并没有接触和使用过 OpenJDK 。那么 Oracle JDK 和 OpenJDK 之间是否存在重大差异

OceaBase 分区表创建技巧

最近遇在干个核心的金融项目,规模很大,客户主要是用oracle数据库,现在需要适配ob,原来在oracle就是分区表的迁来ob以后需要进行改造。 oracle默认使用是堆表(ht),而ob使用的是索引组织表(iot),表原理不一样所以分区表会稍微有点区别。 1、表无主键,创建范围分区表 CREATE

[转帖]【JVM系列JKD8】参数参考表

JVM是Java底层核心要素,可以说Java生态的东西都是运行在JVM里面的。From:https://docs.oracle.com/javase/8/docs/ JVM参数的含义 JVM参数说明 参数名称含义默认值-Xms初始堆大小物理内存的1/64(<1GB)默认(MinHeapFreeRat

[转帖]Oracle 通过 Exadata 云基础设施 X9M 提供卓越的数据库性能和规模

https://www.modb.pro/db/397202 32个节点的RAC 服务器 每个服务器 两个 64核心的AMD CPU 四个线程干管理 252个线程进行数据库处理 252*32=8064 Exadata Cloud Infrastructure X9M 以相同的价格比上一代产品多 2.

Oracle CloudWorld 2022 - 使用Oracle MAA实现应用程序的连续可用性

每每谈到Oracle MAA,大家条件反射般就会想到Oracle的RAC和ADG等核心选件,当然,这些技术有口皆碑,也的确是MAA的构建基础,但本文我们不再过多谈这些耳熟能详的技术,而是来跟大家探讨下在此基础之上,我们如何将基础MAA优化到业务连续性MAA这个程度,最终实现应用程序的连续可用性。 在

Oracle存储过程的基本学习

Oracle存储过程的基本学习 摘要 这个简要学习应该会分为上下两部分 第一部分是存储过程的学习. 第二部分是python的学习. 核心目标是查询Oracle数据库中的主键数据. 如果有主键upper之后相同的数据查询出来.并且进行展示 避免部分数据迁移时出现问题. 存储过程的语法以及主要注意事项-

[转帖]数据库选型比对 Oracle vs sqlserver

http://blog.itpub.net/23825935/viewspace-2928407/ SQL Server 2014 优点 1. 内存 OLTP: 提供部署到核心 SQL Server 数据库中的内存 OLTP 功能,以显著提高数据库应用程序性能。 内存 OLTP 是随 SQL Ser

[转帖]队列深度对IO性能的影响

https://www.modb.pro/db/43710 几年前一个客户的Oracle数据库经常HANG,老白帮他分析了一下,结论是存储老化,性能不足以支撑现有业务了。正好用户手头有个华为S5600T正好从核心系统中换下来放着没用,就把这个存储换上去了。换了新存储后,系统总体确实有所改善。数据库不

[转帖]队列深度对IO性能的影响

https://www.modb.pro/db/43710 几年前一个客户的Oracle数据库经常HANG,老白帮他分析了一下,结论是存储老化,性能不足以支撑现有业务了。正好用户手头有个华为S5600T正好从核心系统中换下来放着没用,就把这个存储换上去了。换了新存储后,系统总体确实有所改善。数据库不