Welcome 微信登录

首页 / 数据库 / MySQL

使用Change Tracking实现数据同步

使用Change Tracking实现数据同步

在日常应用中经常会有这样的需求,需要Audit那些数据更改,或者需要跟踪更改的数据实现对数据的同步。(最常见的应用如数据仓库数据同步,因为数据量巨大,需要将数据的更改同步到数据仓库,这种同步不要求实时)。通常的做法是自定义应用程序使用比如触发器、timestamp列和新表组合来存储跟踪信息,同事还需要自定义清除程序清除过时的数据。在SQL Server 2008以后提供了一个功能更改跟踪(Change Tracking).这一种轻量型解决方案(相对于自己自...
Oracle行迁移和行链接详解

Oracle行迁移和行链接详解

定义:行迁移:因为update、将行变长、原来的块已经放不下了、行被挪进新块、行链接:行一开始就太大、比如你插入了1w个字节的行、必须要分两个块存放、由此、行变长的时间先后可作为判断依据产生场景:行迁移Oracle会将整行的数据迁移到一个新的数据块上,而将该行原先的空间只放一个指针,指向该行的新的位置,并且该行原先空间的剩余空间不再被数据库使用,这些剩余的空间我们将其称之为空洞,这就是产生表碎片的主要原因,表碎片基本上也是不可避免的,但是我们可以将其降到一...
Oracle数据库备份与恢复原理简述

Oracle数据库备份与恢复原理简述

备份与恢复的功力是“摔”出来的。其原理、这里简单来介绍:Oracle通过log的形式记录了所有数据文件的变化,所以只要在某个时段备份了oracle的全部数据文件,并且拥有备份开始时间点以来的所有log,那么就可以用备份的数据文件通过log中变化信息去重演这个变化的过程而达到恢复数据的目的,如果没有某个时间点的数据文件作为应用变化的起点,那么log的变化就没有立足之地,所以备份的目标就是满足这个条件。那么数据文件和日志文件是如何挂钩的...
Oracle 11g数据库安全加固须谨慎

Oracle 11g数据库安全加固须谨慎

数据库安全配置中,需要做相关的安全加固工作。以确认数据库的安全,但是,有些时候,操作不当或者数据库业务账号修改密码后,而程序的连接数据库的配置封装在jar里,如果jar内的连接数据库的配置信息没有做相应的修改的话。就会对数据库的此业务账号造成严重的后果。因此,真正了解Oracle安全数据库用户的状态,就显得尤为重要了。下面我们就看一下oracle数据库中的多种用户状态。ORACLE数据库用户有多种状态,可查看视图USER_ASTATUS_MAP。SQL&g...
SQL Server 2005中的CONVERT()函数

SQL Server 2005中的CONVERT()函数

最近在做机房收费系统时发现一个很怪异的问题,就是只要设计日期或者时间的查询就会出错,不是查不出来,而且查出的结果总是“不按套路出牌”。各种调试代码都没有问题,最后发现是数据库中数据类型的问题,我把时间和日期的数据类型都设置为了Char型,结果在比较的时候他们比较的ASCII码的大小,所以才会造成“不按套路出牌”的结果。然后我就直接去数据库中修改数据类型,结果发现我用的SQL2005里面只有一个DateTime...
Dataguard环境下数据库的备份与恢复

Dataguard环境下数据库的备份与恢复

在部署完active data guard后,不但可以将只读的查询交给备库执行,还可以把日常的数据库备份工作放在备库上执行,从而减轻主库的压力,充分的发挥服务器资源,下面演示下利用备库备份来还原主库数据的过程!一:主库上创建表空间,并在表空间上建表,插入测试数据,同时检查备库的同步情况SQL> create tablespace test01 datafile "/u01/app/Oracle/oradata/db1/test01.dbf" size...
再说 Oracle RAC services

再说 Oracle RAC services

应用程序工作负载在Oracle 10g中可以被定为services,也称之为服务,能够在单实例中使用,也能够在RAC中单独使用和管理。因此整个数据库负载能够被分割为多个不同的services,通过管理service能够简化用户或session的管理。其次services特性的重要体现在RAC之中用于实现负载均衡与故障转移。本文描述什么是services,以及使用services的好处,以及如何使用services.一、services与service_na...
Oracle数据库集群管理工具停止RAC注意事项

Oracle数据库集群管理工具停止RAC注意事项

在rac1节点使用Oracle数据库集群管理工具停止rac1上面的实例,使用crs集群工具停掉CRS集群服务:停止注意:先停止实例,在停止CRS服务启动注意:先启动CRS,在启动实例 ---启动实例需要在CRS集群中注册[oracle@HBCADB001 tablespace]$srvctl stop instance -d hbcadb -i hbcadb1[oracle@HBCADB001 tablespace]$在节点2上面通过集群工具检查当前两个实...
Oracle关键字Over、With用法

Oracle关键字Over、With用法

一:row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开始排序)。rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)dense_rank()也是连续排序,有两个第二名时仍然跟着第三名。相比之...
一个非典型的ORA-01555的解决

一个非典型的ORA-01555的解决

ORA-01555:快照过旧。 一个对于Oracle DBA来说最经典问题。发生的根本原因:一致性读出了问题。 看到网上有个同学,举例说明,觉得不错,拿来用下:假设有张表,叫table1,里面有5000万行数据,假设预计全表扫描1次需要1个小时,我们从过程来看: 1、在1点钟,有个用户A发出了select * from table1;此时不管将来table1怎么变化,正确的结果应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。 2、在1点30...
<< 591 592 593 594 595 596 597 598 599 600 >>