Maclean’s Oracle Database Tech Blog Archives
-
现代Oracle数据库的版本选择问题
Oracle公司从版本12c以后实际上引入了类似于SQL Server的以年份为版本号的版本风格。Oracle 12c以后的已release版本为18c,19c,21c,2020年由于全球疫情的问题未发布大版本号。 其大版本的释放周期大大缩短了,实际上大版本的释放频率已经覆盖了过去Patch Set补丁集的作用。 对于先进企业选择Oracle数据库版本而言,建议可以考虑对当前年份-2/3的算法。 即如果当前是2021年,则考虑使用(2021-2 or 3) 18c或19c;并打上最新的RU(Release Update)和RUR(Release Update Revision)。
-
更高效的DBA_EXTENTS 查询脚本
DBI的Franck Pachot给出了一个更高效率的DBA_EXTENTS脚本,对于特别大的ORACLE数据库定位EXTENT时很有用: https://blog.dbi-services.com/efficiently-query-dba_extents-for-file_id-block_id/#comment-91162 column owner format a6 column segment_type format a20 column segment_name format a15 column partition_name format a15 set linesize 200 set timing on time on echo on autotrace on stat WITH l AS ( /* LMT extents indexed on ktfbuesegtsn,ktfbuesegfno,ktfbuesegbno */ SELECT ktfbuesegtsn segtsn,ktfbuesegfno segrfn,ktfbuesegbno segbid, ktfbuefno extrfn, ktfbuebno fstbid,ktfbuebno +…
-
Dgg Oracle MySQL SQL Server数据同步与比对
下载: Dgg Oracle MySQL数据同步校准工具最新版:https://zcdn.askmac.cn/Dgg2107.zip Dgg申请个人版注册码: http://askmac.cn:3333/acquire 教程: 使用Dgg实现MySQL数据库同构跨库数据校验 使用Dgg实现Oracle数据库同构跨库数据校验 使用Dgg全量同步/初始化Initial Load MySQL数据 使用Dgg全量同步/初始化Initial Load Oracle数据 Dgg Oracle/MySQL数据库复制同步校准软件 Dgg Rdbms Oracle MySQL Table/Schema Sync Compare Repair 最新版: Dgg is a single application that allows you to tranfer data between Oracle and MySQL. It will also support Microsoft SQL Server in future. It…
-
使用Dgg实现MySQL数据库同构跨库数据校验
在使用Dgg实现MYSQL跨库数据同步后,可以使用Dgg的数据校验功能来验证数据是否一致。 请首先参考《使用Dgg 全量同步/初始化Initial Load MySQL数据》 https://www.askmac.cn/archives/datagogo-initial-mysql.html 选中 树形图最上方的用户名,右击 Compare: DataGoGo中存在三种 表数据的比较粒度: 只比较行数 ( 适用于大表 如日志表,为最粗粒度的比较) 只比较主键HASH (适用于中大表,要求表有主键,中等粒度比较) 比较全表HASH (适用于中小表,最细粒度比较 , 速度较慢) 测试 90万行 7列的表, 比较约耗时 10秒。
-
使用Dgg实现Oracle数据库同构跨库数据校验
在使用Dgg实现Oracle跨库数据同步后,可以使用Dgg的数据校验功能来验证数据是否一致。 请首先参考《使用Dgg 全量同步/初始化Initial Load Oracle数据》 https://www.askmac.cn/archives/datagogo-initial-load-oracle-database.html 选中 树形图最上方的用户名,右击 Compare: DataGoGo中存在三种 表数据的比较粒度: 只比较行数 ( 适用于大表 如日志表,为最粗粒度的比较) 只比较主键HASH (适用于中大表,要求表有主键,中等粒度比较) 比较全表HASH (适用于中小表,最细粒度比较 , 速度较慢) 测试 90万行 24列的表, 比较约耗时 2分钟。 比较结果如下: Compare start date: 2021-06-07 14:58:54 Comparing SCOTT.T_XT_SYNCPERSONLOG and EAS.T_XT_SYNCPERSONLOG: SCOTT.T_XT_SYNCPERSONLOG full table checksum: 235801620123 EAS.T_XT_SYNCPERSONLOG full table checksum: 235801620123 Full…
-
udev reload会影响oracle ASM?
UDEV RELOAD是否会影响oracle ASM? 回答: 如果频繁 reload 显然会影响Oracle ASM ,甚至导致ASM Diskgroup OFFLINE。 如果只是一次很快速的reload,那么影响的概率较小。 参考链接: ‘udev’ rules continuously being reloaded resulted in Oracle ASM diskgroup outage https://access.redhat.com/solutions/1465913
-
LINUX 7 配置 multipath udev Oracle ASM
multipath.conf # This is a basic configuration file with some examples, for device mapper # multipath. # # For a complete list of the default configuration values, run either # multipath -t # or # multipathd show config # # For a list of configuration options with descriptions, see the multipath.conf # man page…
-
solidity学习笔记
UINT 是 UINT256的别名 INT是INT256的别名 uint and int are aliases for uint256 and int256, respectively. Solidity 中整型有明确范围,例如 uint32 的范围是 0 ~ 2**32-1 , 若结果超过范围 会被truncate截断 address 类型 存放一个20字节的以太坊地址 address payable 类似于address ,且提供 transfer 和 send成员 ; 即 普通address默认不能传输ETH , address payable 可以 pragma solidity 0.5.10; contract Test1 { address public notpaybleaddress; address public payableaddress; uint public balance1; uint public balance2; uint public…
-
使用Dgg全量同步/初始化Initial Load MySQL数据
现有2套MySQL服务器,需要将一台上的服务器上的数据同步到另一台。可以使用Dgg数据同步校准软件实现数据初始化同步的目的。 打开Dgg软件,点击开始 => 打开, 创建2个MySQL session: 选择源端 并点击下一步,选择目标端 并点击 连接: 可以在两侧的对象树上看到相关的表 , 点中用户 右键 => Transfer: 初始化同步后,若对表数据的一致性存在疑问,可以通过Compare功能比对,在左侧树形种点中你要比对的表,右键Compare: 校验分成几种: 行数对比校验 (最粗粒度) 主键对比校验 (较粗粒度) 全表对比校验 (精细粒度) 其中行数对比校验 ,仅对比2个表的行数是否一致;即只比较count(1) 主键比对,只比对主键信息是否一致,支持联合主键 全表校验,比对全表数据信息(会排除TEXT LONGTEXT等长字段列)是否一致 对于小表而言(一般来说小于10万行),全表校验的速度也较快,其时间可接受。对于大表而言,除非是一致性要求极高的账目表,否则建议使用主键比对或行数比对。
-
Oracle 相比 mysql 的优势在哪里
Oracle 相比 mysql 的优势在哪里 原帖子在这里: https://v2ex.com/t/773654?p=1 目前的项目用的 mysql,支撑几十亿数据没问题(分库分表),偶尔慢 sql 也能优化索引解决,至于复杂查询通过搜索引擎实现,听说 Oracle 超级贵,那 Oracle 具体有什么优势呢,哪些场景下是 oracle only 的? 看完了回复,oracle 能单表支撑几十亿数据还是很强的,因为目前因为分表键导致很多需求无法实现,只能同步一个表用另一个分表键。 我再问下,如果是同时涉及几十个字段的复杂搜索,oracle 可以支持吗,目前用的搜索引擎实现也非常贵。 有一说一,单表支撑几十亿数据,听着有点玄乎,真的假的啊 我的回复: oracle 的优化器 CBO optimizer 目前应该是所有 RDBMS 里最复杂的(不说是最先进的)。MYSQL 至少在优化器上还处于比较初级的阶段,虽然 MySQL 的目标可能并不希望实现非常复杂的优化器算法。其他一些东西 例如 undo 的实现等等 可能优势并不明显, 这里就不提了。 举一个例子, 都不使用索引的情况下,NO INDEX ! NO INDEX | NO INDEX ! 以下数据量是一样的,机器是同一台。 Oracle 11.2.0.4 MySQL…