Oracle 10gR2 Stream Configuration
目 录
1 目的 1
2 概述 1
3 环境搭建 1
3.1 Init.ora参数 1
3.2 将数据库设为归档模式 2
3.3 创建Stream管理用户 2
3.4 配置网络 (tnsnames.ora) 3
3.5 启用追加日志 4
3.6 创建DBlink 4
3.7 创建流队列 5
3.8 创建捕获进程 5
3.9 实例化复制数据库 6
3.10 创建传播进程 6
3.11 创建Negative Rule 6
3.12 创建应用进程 8
3.13 启动STREAM 8
3.14 停止STREAM 9
3.15 清除所有配置信息 9
4 测试场景 9
4.1 Create table 9
4.2 Insert Into Table 10
4.3 Alter Table 10
4.4 Alter Table Move TableSpace 10
4.5 Drop Table 11
4.6 Create Index 11
4.7 Alter Index Rebuild 12
4.8 Alter Index Rebuild TableSpace 12
4.9 Drop Index 13
4.10 Create Table with CLOB 13
4.11 Insert Into Table with CLOB 13
4.12 Create Type 14
4.13 Drop Type 14
4.14 Table Negative Rule 14
5 TroubleShooting 15
5.1 如何知道Capture进程是否运行正常? 15
5.2 如何知道Captured LCR是否有传播GAP? 16
5.3 如何知道Appy进程是否运行正常? 16
1 目的
Oracle HA配置可以选择RAC、Advanced Replication、Data Guard、Stream。其中Oracle Stream(流)运用高级队列(Advanced Queue)技术,通过分析Redo Log File,抽取DDL、DML实现数据库之间的同步。
2 概述
本文档以Chubb生产环境为例,详细描述Oracle 10gR2 Stream的配置过程及测试方法。Chubb项目数据库环境配置如下:
Master Database
IP:192.168.154.41
OS:IBM AIX 5.3
DB:Oracle 10gR2
ORACLE_SID:chubbdb
Global_Name:chubbdb.aix
Backup Database
IP:192.168.154.40
OS:RHEL3 Update 6
DB:Oracle 10gR2
ORACLE_SID:chubbdb
Global_Name:chubbdb.linux
要使用Oracle 10gR2 Stream,Master Database和Backup Database必须运行在Archived Log归档模式。
为了使文档更具可读性,以下分别以Master Database和Backup Database表示两套数据库环境。
3 环境搭建
3.1 Init.ora参数
在Master Database和Backup Database环境中,分别执行如下语句。
sqlplus "/as sysdba"
alter system set aq_tm_processes=2 scope=both;
alter system set global_names=true scope=both;
alter system set undo_retention=3600 scope=both;
alter system set job_queue_processes=10 scope=both;
alter system set parallel_max_servers=20 scope=both;
alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
alter system set streams_pool_size=20M scope=spfile;
alter system set utl_file_dir='*' scope=spfile;
alter system set open_links=4 scope=spfile;
执行完毕,重新启动Oracle Instance。
3.2 将数据库设为归档模式
在Master Database和Backup Database环境中,分别执行如下语句。
如果数据库已经处于归档模式,则可以跳过此步骤。
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
3.3 创建Stream管理用户
3.3.1创建Master环境Stream管理用户
#以sysdba身份登录
connect / as sysdba
#创建Stream专用表空间
create tablespace stream_ts datafile '/data/oracle/oradata/chubbdb/stream_ts.dbf'
size 100m autoextend on maxsize unlimited segment space management auto;
execute dbms_logmnr_d.set_tablespace('stream_ts');
#创建Stream管理用户
create user strmadmin identified by strmadmin
default tablespace stream_ts temporary tablespace temp;
#授权Stream管理用户
grant connect,resource,dba,aq_administrator_role to strmadmin;
begin
dbms_streams_auth.grant_admin_privilege(
grantee => 'strmadmin',
grant_privileges => true);
end;
/
3.3.2创建Backup环境Stream管理用户
#以sysdba身份登录
connect / as sysdba
#创建Stream专用表空间
create tablespace stream_ts datafile '/usr/local/oracle/oradata/chubbdb/stream_ts.dbf'
size 100m autoextend on maxsize unlimited segment space management auto;
execute dbms_logmnr_d.set_tablespace('stream_ts');
#创建Stream管理用户
create user strmadmin identified by strmadmin
default tablespace stream_ts temporary tablespace temp;
#授权Stream管理用户
grant connect,resource,dba,aq_administrator_role to strmadmin;
begin
dbms_streams_auth.grant_admin_privilege(
grantee => 'strmadmin',
grant_privileges => true);
end;
/
3.4 配置网络 (tnsnames.ora)
3.4.1配置Master环境tnsnames.ora
Master Database(tnsnames.ora)中添加Backup Database配置。
LINUX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.154.40)(PORT = 1521))
)
(CONNECT_DATA =
(SID = chubbdb)
(SERVER = DEDICATED)
)
)
3.4.2配置Backup环境tnsnames.ora
Backup Database(tnsnames.ora)中添加Master Database配置。
AIX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.154.41)(PORT = 1521))
)
(CONNECT_DATA =
(SID = chubbdb)
(SERVER = DEDICATED)
)
)
阅读(1300) | 评论(0) | 转发(0) |