一下内容在oracle10g下测试通过
/*一、创建dblink:*/
--1、在目的数据库上,创建dblin
drop database link dblink_anson;
Create database link dblink_anson
Connect to sourceuser identified by "userpassword" using 'sourcelink';
/**
sourceuser、userpassword、sourcelink三个参数分别为:源数据库的用户名、密码(注意要使用双引号括起来)、目地数据库tnsnames文件中配置的连接名(如下面中实例中的红色字体,注意要使用单引号括起来,引号都要使用半角的哦!);
ZY-ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.28.1.56)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
**/
/*二、创建快照:*/
--1、在源数据库上执行以下语句,创建要被同步的表
drop table tb_anson;
create table tb_anson(c1 varchar2(12));
alter table tb_anson add constraint pk_anson primary key (C1);
--注意:必须给表创建主键,否则将不能建立同步快照日志;
--2、在目的数据库上,测试dblink
select * from tb_anson@dblink_anson;
--3、在目的数据库上,创建要同步表的快照日志
Create snapshot log on tb_anson;
--4、创建快照,快照(被同步(源)数据库服务必须启动)
Create snapshot new_tagert_tablename refresh fast start with sysdate next sysdate+1/1440 as select * from tb_anson@dblink_anson;
--注意:new_tagert_tablename 为目的数据库中准备存储源数据库中快照同步表的表名,可以与源数据库的表明相同,也可以不同;start with后面的参数“sysdate”表示开始同步时间,语句中的参数表示立刻执行; next后面的参数表示同步的频率,语句中的参数表示一分钟,而实际的情况要更快,也就10到20秒,当然可能根据表中的字段数量有关系,同时指出的是,对于clob和blob字段也是同样能够同步的;
--5、设置快照刷新时间
Alter snapshot anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60;
--oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次
Alter snapshot anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1;
--oracle自动在30钞后进行第一次完全刷新,以后每隔1天完全刷新一次
--6、手动刷新快照
begin
dbms_refresh.refresh('"CS"."SN_ANSON"');
end;
相关推荐
其中,Oracle快照(Snapshot)与dblink结合使用是一种常见的解决方案,用于实现两个不同数据库之间表数据的同步。本文将详细介绍如何通过创建Oracle的dblink以及利用快照技术来实现这一目标。 #### 创建dblink 为了...
#### 二、DBLink使用示例 创建DBLink后,可以通过以下方式使用它: 1. **通过DBLink查询数据** 可以使用`@dblink`语法来查询远程数据库中的表: ```sql SELECT * FROM bctl@creditdb; ``` 2. **创建同义词*...
本文将详细介绍如何使用 dblink 和 Oracle 快照技术来实现在两台 Oracle 服务器之间进行数据同步,包括创建 dblink、设置快照、创建触发器等步骤,并提供实际的操作示例。 #### 二、创建 dblink 首先需要在目标...
1. **权限问题**:确保使用的用户具有创建DBLink、快照以及执行DDL/DML操作的权限。 2. **网络配置**:确保TNSNAMES.ORA文件中正确配置了连接字符串,以便Oracle能够正确解析并连接到远程数据库。 3. **性能考虑**:...
Snapshot是一种快照技术,用于保持远程数据库的最新状态。这种方法对于实时性要求较低的小表可能是合适的,因为它可以减少网络传输的数据量,但在高并发环境下,频繁的更新操作可能会增加数据库的负担,因此需要权衡...
2. **Snapshot方法**:在小表调优中,Snapshot是一种常用的技术,它用于快速获取数据的快照,以减少对数据库的直接访问,从而提高性能。 3. **Dblink插入**:对于大表,通过db_link(数据库链接)进行数据插入是一...
ORACLE数据库简介 本篇讲解了ORACLE数据库的...SELECT语句的基本语法是SELECT distinct(all default) column_name(expt,*) from table(view,snapshot,subquery[select list])@dblink where (start with connect by)。
手工刷新快照,(调用DBMS_SNAPSHOT包中的refresh过程)DBMS_SNAPSHOT.refresh(snapshot_name,refresh_type); begin DBMS_SNAPSHOT.REFRESH(\'snap_to_html\',\'c\'); end; 对所有快照进行刷新 begin DBMS_...