Streams那些事之初始化参数设置

1.  配置数据库初始化参数

使用 pfile的修改init<SID>.ora 文件,使用spfile的通过alter system命令修改spile文件,主要包括以下几项(源和目标数据库都需要设置):

  • COMPATIBLE:数据库的兼容版本不能低于10.2.0.1
  • GLOBAL_NAMES:必需设置为true
  • JOB_QUEUE_PROCESSES:设置实例最大同时启用的job里程数不能小于2
  • STREAMS_POOL_SIZE:为streams分配适当的缓存区。参数值不能为0
sql> alter system set global_names=true scope=both;
sql> alter system set aq_tm_processes=10 scope=both;
sql> alter system set streams_pool_size=200m scope=spfile;

执行完后重启数据库。

2. 将数据库置为归档模式

设置 log_archive_dest_1 到相应的位置;设定log_archive_start为TRUE,即启用自动归档功能;设定log_archive_format指定归档日志的命令格式。举例:

c:> sqlplus ‘/ as sysdba’

sql> alter system set log_archive_dest_1=’location=c:/orcl/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;
sql> startup mount;
sql> alter database archivelog;
sql> alter database open;

数据库置为归档模式后,可以按如下方式检验一下

sql> archive log list;

3. 配置管理员账户

为了便于管理,不建议使用sys/system用户,也不建议使用system表空间,推荐一切都新建。用户需要在source/target端分别创建,并必须具有相关的管理权限,本例中以strmadmin为例。

1). 创建专用的表空间

sql> create tablespace stream_tbs datafile '/data/oradata/jssweb/stream01.dbf' size 200m;

#将logminer 的数据字典从system表空间转移到新建的表空间,防止撑满system表空间

sql> execute dbms_logmnr_d.set_tablespace('stream_tbs');

2). 创建管理员帐户并授权

sql> create user strmadmin identified by strmadmin default tablespace stream_tbs quota unlimited on stream_tbs;

sql> grant connect,resource,dba,aq_administrator_role to strmadmin;

sql> begin
    dbms_streams_auth.grant_admin_privilege( grantee => 'strmadmin', grant_privileges =>true);
   end;

4. 配置主从tnsname.ora

5. 启用追加日志

可以基于Database级别或Table级别,启用追加日志(Supplemental Log)。在建立根据Schema粒度进行复制的Oracle Stream 环境中,如果确认Schema 下所有Table 都有合理的主键
(Primary Key),则不再需要启用追加日志。

#启用Database 追加日志
sql> alter database add supplemental log data;
#启用Table追加日志
sql> alter table add supplement log group log_group_name(table_column_name) always;

6. 创建一个或多个数据库链接

根据Oracle 10gR2 Stream官方文档,针对主数据库建立的数据库链的名字必须和从数据库的global_name相同。如果需要修改global_name,执行“alter database rename global_name to xxx”。

sql> select * from global_name; --查看 global_name

以strmadmin身份,登录并创建

sql> create database link jssstr connect to strmadmin identified by strmadmin using 'jssstr';

--查看db links

sql> select owner,db_link,host from all_db_links;
原文地址:https://www.cnblogs.com/landexia/p/2653373.html