Chinaunix首页 | 论坛 | 博客
  • 博客访问: 543583
  • 博文数量: 704
  • 博客积分: 39800
  • 博客等级: 大将
  • 技术积分: 4950
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 13:32
文章分类

全部博文(704)

文章存档

2011年(1)

2008年(703)

我的朋友

分类:

2008-10-15 13:44:21

1 引言
   Stream功能是为提高数据库的高可用性而设计的,在 9i及之前的版本这个功能被称为Advance Replication。Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现数据库之间的同步。这种技术可以将整个数据库、数据库中的对象复制到另一数据库中,通过使用Stream的技术,对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。

  解析归档日志这种技术现在应用的比较广泛,Quest公司的shareplex软件及DSG公司的realsync都是这样的产品,一些公司利用这样的产品做应用级的容灾。但shareplex或是realsync都是十分昂贵的,因此你可以尝试用Stream这个Oracle提供的不用额外花钱的功能。Oracle Stream对生产库的影响是非常小的,从库可以是与主库不同的操作系统平台,你可以利用Oracle Stream复制几个从库,从库可用于查询、报表、容灾等不同的功能。本文不谈技术细节,只是以手把手的方式一步一步的带你把Stream的环境搭建起来,细节内容可以查联机文档。

  2 概述

  主数据库:

  操作系统:Solaris 9

  IP地址:192.168.10.35

  数据库:Oracle 10.2.0.2

  ORACLE_SID:prod

  Global_name:prod

  从数据库:

  操作系统:AIX 5.2

  IP地址:192.168.10.43

  数据库:Oracle 10.2.0.3

  ORACLE_SID:h10g

  Global_name:h10g

  3 环境准备

  3.1 设定初始化参数

  使用pfile的修改init.ora文件,使用spfile的通过alter system命令修改spile文件。主、从数据库分别执行如下的语句:

以下是引用片段:
  Sqlplus ‘/ as sysdba’
  alter system set aq_tm_processes=2 scope=both;
  alter system set global_names=true scope=both;
  alter system set job_queue_processes=10 scope=both;
  alter system set parallel_max_servers=20 scope=both;
  alter system set undo_retention=3600 scope=both;
  alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
  alter system set streams_pool_size=25M scope=spfile;
  alter system set utl_file_dir='*' scope=spfile;
  alter system set open_links=4 scope=spfile;


  执行完毕后重启数据库。

 3.2 将数据库置为归档模式

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

  举例:

以下是引用片段:
  sqlplus ‘/ as sysdba’
  alter system set log_archive_dest_1=’location=/yang/arch’ scope=spfile;
  alter system set log_archive_start=TRUE scope=spfile;
  alter system set log_archive_format=’ arch%t_%s_%r.arc’ scope=spfile;
  shutdown immediate;
  startup mount;
  alter database archivelog;
  alter database open;


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

以下是引用片段:
  SQL> archive log list
  Database log mode Archive Mode
  Automatic archival Enabled
  Archive destination /yang/arch
  Oldest online log sequence 534
  Next log sequence to archive 536
  Current log sequence 536


  3.3 创建stream 管理用户

  3.3.1 创建主环境stream管理用户

以下是引用片段:
  #以sysdba身份登录
  connect / as sysdba
  #创建主环境的Stream专用表空间
  create tablespace tbs_stream datafile '/yang/oradata/prod/tbs_stream01.dbf'
  size 100m autoextend on maxsize unlimited segment space management auto;
  #将logminer的数据字典从system表空间转移到新建的表空间,防止撑满system表空间
  execute dbms_logmnr_d.set_tablespace('tbs_stream');
  #创建Stream管理用户
  create user strmadmin identified by strmadmin
  default tablespace tbs_stream 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;
  /

[1]      

【责编:Chuan】

--------------------next---------------------

阅读(329) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~