关于Oracle Stream的安装、配置和使用
因项目预研需要,所以想找一个能够满足内外网数据库 同步方案,前面先是测试 了一下Oracle的高级复制功能,未果;才转而进行Oracle Stream的测试,大概是我水平太差了,前后测试了3.5遍总算把Oracle Stream运行正常起来了。
错误的原因其实称不上原因,无他,读文档读的不细致,手误、本身对这方面也缺乏理论认识。
关于Oracle流的原理
Oracle 流能够共享信息。Oracle流每个单元的共享信息来自于消息,我们可以在流中共享这些消息。流可以在同一个数据库或不同数据库之间传播信息。"流路由"指定信息到达特定的目的地。流比起传统的在不同数据库之间捕获、管理 、共享消息的解决方案,有着更强大的功能和灵活性。流提供的功能可用于分布式企业程序、数据仓库和高可用性解决方案。我们可以在同一时刻使用oracle流的所有功能。我们可以使用流的新功能而不会严重影响数据库的性能。
使用Oracle流,我们可以控制流里的信息,流的流向,流进入目标数据库时,消息怎样运作,中止流。通过配置流,可以满足我们的特殊需求。基于我们的特殊情况,流可以在数据库里自动捕获、传播和管理DML、DDL消息。我们可以把用户定义的消息放入流中,流可以自动把信息传播到其它数据库或应用程序。当消息到达目的数据库时,流可以根据我们的设定应用它们。
《stream_concepts_administration_读书笔记.doc》具体参见
http://www.itpub.net/thread-849868-1-1.html
数据源机器配置 目标机器配置
计算机名 Source Dest
IP地址 192.168.23.130 192.168.23.131
SID Source Dest
SQL> conn sys/inxite as sysdba;
已连接。
SQL> alter system set aq_tm_processes=2 scope=both;
系统已更改。
SQL> alter system set global_names=true scope=both;
系统已更改。
SQL> alter system set job_queue_processes=20 scope=both;
系统已更改。
SQL> alter system set parallel_max_servers=20 scope=both;
系统已更改。
SQL> alter system set undo_retention=3600 scope=both;
系统已更改。
SQL> alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
系统已更改。
SQL> alter system set streams_pool_size=25M scope=spfile;
系统已更改。
SQL> alter system set utl_file_dir='*' scope=spfile;
系统已更改。
SQL> alter system set open_links=4 scope=spfile;
系统已更改。
SQL> alter system set log_archive_dest='e:/OracleDB/arch' scope=spfile;
系统已更改。
SQL> alter system set log_archive_start=TRUE scope=spfile;
系统已更改。
SQL> alter system set log_archive_format='arch%t_%s_%r.arc' scope=spfile;
系统已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2
SQL>
#创建主环境的Stream专用表空间
SQL> create tablespace tbs_stream datafile 'e:/OracleDB/tbs_stream01.dbf'
2 size 100m autoextend on next 100m maxsize 1000m segment space management auto;
表空间已创建。
#将logminer 的数据字典从system表空间转移到新建的表空间,防止撑满system表空间
SQL> execute dbms_logmnr_d.set_tablespace('tbs_stream');
PL/SQL 过程已成功完成。
#创建Stream管理用户
SQL> create user strmadmin identified by strmadmin default tablespace tbs_stream
temporary tablespace temp;
用户已创建。
#授权Stream管理用户
SQL> grant connect,resource,dba,aq_administrator_role to strmadmin;
授权成功。
SQL> begin
2 dbms_streams_auth.grant_admin_privilege(
3 grantee => 'strmadmin',
4 grant_privileges => true);
5 end;
6 /
PL/SQL 过程已成功完成。
在source机器上添加dest数据源,名称为dest
在dest机器上添加source数据源,名称为source
可以基于Database级别或Table级别,启用追加日志(Supplemental Log)。在建立根据Schema
粒度进行复制的Oracle Stream 环境中,如果确认Schema 下所有Table 都有合理的主键
(Primary Key),则不再需要启用追加日志。
#启用Database 追加日志
SQL> alter database add supplemental log data ;
数据库已更改。
#启用Table追加日志
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE, FOREIGN KEY)
COLUMNS;
首先查看两台Oracle服务器的域名是否一致,如果不一致,需要alter database rename global_name to xxx
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
SOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>conn strmadmin/strmadmin;
SQL> create database link dest connect to strmadmin identified by strmadmin using 'dest';
数据库链接已创建。
SQL> select * from tab@dest;
未选定行
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DEST.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>conn strmadmin/strmadmin
SQL> create database link source connect to strmadmin identified by strmadmin using 'source';
数据库链接已创建。
SQL> select * from tab@source;
未选定行
SQL> connect strmadmin/strmadmin
已连接。
SQL> begin
2 dbms_streams_adm.set_up_queue(
3 queue_table => 'source_queue_table',
4 queue_name => 'source_queue');
5 end;
6 /
PL/SQL 过程已成功完成。
SQL> connect strmadmin/strmadmin
已连接。
SQL> begin
2 dbms_streams_adm.set_up_queue(
3 queue_table => 'dest_queue_table',
4 queue_name => 'dest_queue');
5 end;
6 /
PL/SQL 过程已成功完成。
exp userid=test/test@source file='e:/test.dmp' object_consistent=y rows=y
关于Oracle Stream的安装、配置和使用相关推荐
- oracle客户端免安装配置、64位机器PL/SQL和VS自带的IIS连接问题
一.oracle客户端免安装配置 1.到oracle官网下载Oracle InstantClient, 把它解压缩到单独目录,例如C:\OracleClient, 2. 添加环境变量 ORACLE_H ...
- 在RedHat Enterprise Linux 上Oracle 9i的安装配置与调优
1 安装配置Oracle 9i数据库 本章描述内容如下所示: 1.1 安装前的准备工作 介绍在安装Oracle之前所需的准备工作. 1.2安装前的系统设置 介绍在安装Oracle之前所必须的系统设置. ...
- linux数据库12c安装图解,Linux + Oracle 12c RAC安装配置详细记录过程_图文并茂.pdf
Linux +Oracle12cRAC安装配置详细记录过程_图文并茂_v1.0 Version:<1.0> Linux +Oracle12cRAC安装配置详细记录过程_图文并茂_v1.0 ...
- oracle pl sql安装配置,oracle的安装与plsql的环境配置
1,首先得有oracle的安装包和plsql的安装包,安装包地址可见百度云 http://pan.baidu.com/s/1miTqhmg 2.解压下来进入0817账套,找到set.exe文件,双击安 ...
- oracle 11g dataguard 安装,oracle 11g dataguard安装配置
1.判断DataGuard是否安装 select * from v$option where parameter = 'Oracle Data Guard'; 网络配置 192.168.1.10(or ...
- WindowsLinux下infa9.6.1和oracle 11g客户端安装配置
二.安装配置oracle11g 客户端 2.1 Windows下oracle11g 客户端安装配置 注:网络与共享中心中更改适配器设置中IP地址不勾选自动获取IP地址,以防IP地址改变带来问题. 2. ...
- Linux 6.x 下Oracle 11g R2 安装配置
Oracle 11g R2 数据库安装硬件配置要求: 最小内存 1 GB of RAM 虚拟内存容量,这个oracle也有要求,不用担心此时的swap分区不够oracle的要求 .虚拟内存swap如何 ...
- Oracle database 11g 安装 - 配置企业管理器database control失败
在Windows平台安装Oracle数据库不是一个很困难的事,但是从10g开始一直到11g,经常碰到的一个问题却是:配置企业管理器或者说Database Control经常碰到问题,比如企业管理器配置 ...
- Linux+Oracle+12c+RAC+安装配置详细-GI安装
IP地址 主机名 用途 实例名 192.168.12.58 oracle-rac03-db03 Public ip (节点1) 192.168.12.59 oracle-rac04-db04 Publ ...
最新文章
- 《中国式方案秘籍(下部)》
- Verilog中生成语句(generate)的用法
- 数位dp模板 最高位最低位_无纸化办公入门指南(数位板篇)
- 在Linux中实现https访问站点
- dpf linux安装db2_值得一看!数据库及Mysql入门,附详细安装教程
- Linux终端、控制台复制粘贴
- 漂亮得不像触控板,全新 Magic Trackpad 2
- android 投影pc,手机高清投影到PC方案
- Unity3D中2D图片动画进行帧动画播放
- 智能一代云平台(十六):解决Linux服务器被植入木马总结
- 电信IoT平台对接及使用
- php导出excel无边框线,phpexcel设置边框不全或者只有竖线问题解决方法
- XPS如何在线转Word格式
- office2019卸载组件_office2019软件安装教程
- JdbcTemplate空指针异常
- POE交换机全方位解读(下)
- 灾难拯救——让软件项目重回轨道
- 【matplotlib】20.其他图
- 解决对路径bin\roslyn..的访问被拒绝
- polkadot介绍
热门文章
- Java数据库 高级查询
- android控件---自定义带文本的ImageButton
- [题解]BZOJ1004 序列函数
- dataset string dataset
- xx is not in the sudoers file 问题解决
- 转.net内存回收与Dispose﹐Close﹐Finalize方法
- python 网关控制家居_在树莓派上搭建智能家居网关
- 2.1 Mini-batch 梯度下降-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
- 1.8 欠拟合和过拟合-机器学习笔记-斯坦福吴恩达教授
- 【PC工具】更新图片批量处理工具Image Tuner,绿色免安装工具软件