易截截图软件、单文件、免安装、纯绿色、仅160KB

利用oracle快照dblink解决数据库表同步问题

本实例已完全通过测试,单向,双向同步都可使用.
--名词说明:源——被同步的数据库
            目的——要同步到的数据库
前6步必须执行,第6以后是一些辅助信息.
--1、在目的数据库上,创建dblink
drop public database link dblink_orc92_182;
Create public DATABASE LINK dblink_orc92_182 CONNECT TO bst114 IDENTIFIED BY password USING 'orc92_192.168.254.111';
--dblink_orc92_182 是dblink_name
--bst114 是 username
--password 是 password
--'orc92_192.168.254.111' 是远程数据库名
--2、在源和目的数据库上创建要同步的表(最好有主键约束,快照才可以快速刷新)
drop table test_user;
create table test_user(id number(10) primary key,name varchar2(12),age number(3));
--3、在目的数据库上,测试dblink
select * from test_user@dblink_orc92_182;    //查询的是源数据库的表
select * from test_user;
--4、在源数据库上,创建要同步表的快照日志
Create snapshot log on test_user;
--5、创建快照,在目的数据库上创建快照
Create snapshot sn_test_user as select * from test_user@dblink_orc92_182;
--6、设置快照刷新时间(只能选择一种刷新方式,推荐使用快速刷新,这样才可以用触发器双向同步)
快速刷新
Alter snapshot sn_test_user refresh fast Start with sysdate next sysdate with primary key;
--oracle马上自动快速刷新,以后不停的刷新,只能在测试时使用.真实项目要正确权衡刷新时间.
完全刷新
Alter snapshot sn_test_user refresh complete Start with sysdate+30/24*60*60 next sysdate+30/24*60*60;
--oracle自动在30秒后进行第一次完全刷新,以后每隔30秒完全刷新一次
--7、手动刷新快照,在没有自动刷新的情况下,可以手动刷新快照.
手动刷新方式1
begin
dbms_refresh.refresh('sn_test_user');
end;
手动刷新方式2
EXEC DBMS_SNAPSHOT.REFRESH('sn_test_user','F'); //第一个参数是快照名,第二个参数 F 是快速刷新 C 是完全刷新.
--8.修改会话时间格式
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
--9.查看快照最后一次刷新时间
SELECT NAME,LAST_REFRESH from ALL_SNAPSHOT_REFRESH_TIMES;
--10.查看快照下次执行时间
select last_date,ne


相关文档:

Oracle 服务进程 简单介绍

Oracle 服务进程-简单介绍
以Orcale10g的版本为例,简单介绍下Oracle的服务进程(Windows版本) -ganlan。
 
1、OracleCSService
  进程:ocssd.exe
介绍:Cluster Synchronization Services (CSS)—Manages the cluster configuration by controlling which nodes are members of the cluster an ......

oracle distinct用法

distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子:
table表
字段1     字段2
&nbs ......

Oracle用户空间统计

select owner,sum(bytes)/1024/1024 sum_MB
from dba_segments
where tablespace_name='USERS' and owner like 'ZJ%'
group by owner
order by 2 desc;
SET NEWPAGE NONE HEADING OFF SPACE 0 PAGESIZE 0 TRIMOUT ON TRIMSPOOL ON LINESIZE 25 ......

Oracle Purchasing不能查看PO和開PO

      Oracle Purchasing不能查看PO或開PO,並且用戶有權限開PO。這樣情況可能有不少同仁也遇上類似問題。具體情況如下圖:
     
      首先,查看用 ......

史上最强的FQA for ORACLE(备份与恢复部分)

Q]如何开启/关闭归档
Q]如何开启/关闭归档
[A]如果开启归档,请保证log_archive_start=true开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false
注意:如果是OPS/RAC环境,需要先把parallel_server = true注释掉,然后执行如下步骤,最后用这个参数重新启动
1、开启归档
a. 关闭数据库shutdown im ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号