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

oracle数据同步

oracle数据库同步
在两台oracle数据库之间测试成功,下面就总结一下吧:
需求:
现有两台oracle数据库服务器A和B(A,B可以是在同一内网,也可以是在互联网上的两台独立机器)。A和B里有都有testable表,结构一样,现需要当A库中的testable表变化时,B库里的testable也相应变化数据
我的解决方案:
在A中建立到B库的链接,然后对要同步的表做一个同义synonym,最后建一个触发器,就可以完成了。当然,你所用的当前的用户要有相应的权限去执行这些操作。
当从A向B同步数据时,应该在A上做所有的设置:
1,为保证连接到另一台远程服务器的数据库,你需要建立一个DB Link,但是,这里要注意语法格式,using +"connect string",这个connect string应该是存在于oracle服务器的TNSNAMES.ORA文件里,监听程序将从这里获取远方服务器
的ip地址等信息,我定义了一个'251'的connect string如下:
251 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.251)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mychoice)
)
)
把它存到你的TNSNAMES.ORA文件里。
2,然后就可以定义DB Link了:
create public database link TEST2.US.ORACLE.COM
connect to 用户名
identified by "密码"
using '251';
3,建立synonym(同义)
create or replace synonym TEST01
for MYCHOICE.TESTABLE@TEST2.US.ORACLE.COM;
建立完了以后,你可以通过:
select * from test01
上面的语句相当于在B服务器上执行:
select * from testable 
4,封建触发器:
当A中的testable表变化时(这里只考虑插入操作),就会触发向远程的B库的testable也插入相应的数据:
create or replace trigger rtest
after insert on testable
for each row
begin
insert into test01 (something) values (:new.something);
end;
ok,现在我们可以测试一下,你在A库中往testable表中插入一条记录,看看B库中是不是也相应的增加了
原文:http://www.cnblogs.com/wesleynet/archive/2009/04/09/1432767.html


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

oracle删除表中所有的数据

示例一:delete from emp;
实例二:truncate table emp;
当使用delete删除时,虽然删除了表中的所有数据,但是没有释放表所占的空间,如果用户确定要删除表中所有数据,使用实例二语句速度更快。delete语句可以回退,但truncate语句操作不能回退,执行的时候要多加注意这一点。 ......

Oracle 中的Union、Union All、Intersect、Minus

众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。 假设我们有一个表Student,包括以下字段与数据: drop table student;
create table student
(
id int primary key,
name nvarchar2(50) not null,
score number not null
);
insert into student values(1,'Aaron',78);
inse ......

安装Oracle 10g inistant client后是PL/SQL出现乱码

想使用PL/SQL开发工具,但不想安装那个几百兆的oracle客户端,于是安装了oracle 10g inistant client,40多M吧。
安装后PL/SQL可以用了,但是查询出记录里面的中文却是乱码。折腾了好久才找出解决方法:
设置环境变量:NLS_LANG,值为Oracle数据库设置的字符集,在我的系统里面设置是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK ......

Oracle 分页

<!-- 
@Name:分类统计明细
@Time:2010.01.05
@author JZP
--->
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page language="java" import="wfc.service.database.DB"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.Resul ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号