我有A,B两个数据库,A、B不在同一台机子上,我想将A中的a表复制到B上,目前我有两中方法;
方法一:通过数据库快照功能实现,但要求表a一定要有主键,可a表没有,且由于a表是已存在的生产用数据,不能随便修改结构,所以此方法不同;
方法二:在a表上建trigger,只要在a表上有数据更新,马上就在数据库B的对应表中插入一条记录。由于a表的数据量很大,所以此trigger的操作会很频繁,我想请教高手,此中trigger操作对数据库的性能上影响会不会大???
谢谢
方法一:通过数据库快照功能实现,但要求表a一定要有主键,可a表没有,且由于a表是已存在的生产用数据,不能随便修改结构,所以此方法不同;
方法二:在a表上建trigger,只要在a表上有数据更新,马上就在数据库B的对应表中插入一条记录。由于a表的数据量很大,所以此trigger的操作会很频繁,我想请教高手,此中trigger操作对数据库的性能上影响会不会大???
谢谢
1、primary key;2、rowid
两个第一种速度会快点,但你对原表加一个primary key是不会影响数据结构的,你就换新的做吧。
trigger对原表操作太频繁,并且记录的数据量也大,一条记录的内容你都得记录下来,这会降低数据库的性能。而数据库内部机制SNAPLOG就不会,具体你可查看一下MLOG$_TABLE!!
1,试试ms dts,建一个dts报,定时在系统空闲的时间调度执行
2,在oracle里面见db link,建存储过程定时执行数据传输
3,imp/exp热备份增量更新