搜档网
当前位置:搜档网 › Oracle DataGuard数据同步技术及配置详解

Oracle DataGuard数据同步技术及配置详解

Oracle DataGuard数据同步技术及配置详解
Oracle DataGuard数据同步技术及配置详解

Oracl e DataGuard数据同步技术及配置详解

一、DataGuard数据同步技术

DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。DataGuard提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。

最大性能模式:这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的数据保护等级。在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。

最大保护模式:在这种模式下,日志数据必须同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交。这种模式可确保数据零丢失,但代价是源数据库的可用性,一旦日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库将会被关闭。这也是目前市场上唯一的一种可确保数据零丢失的数据同步解决方案。

最大可用模式:这种模式在不牺牲源数据库可用性的条件下提供了尽可能高的数据保护等级。与最大保护模式一样,日志数据需同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交,与最大保护模式不同的是,如果日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库不会被关闭,而是运行在最大性能模式下,待故障解决并将延迟的日志成功应用在目标库上以后,源数据库将会自动回到最大可用模式下。

根据在目标库上日志应用(Log Apply)方式的不同,DataGuard可分为Physical Standby(Redo Apply)和Logical Standby(SQL Apply)两种。

Physical Standby数据库,在这种方式下,目标库通过介质恢复的方式保持与源数据库同步,这种方式支持任何类型的数据对象和数据类型,一些对数据库物理结构的操作如数据文件的添加,删除等也可支持。如果需要,Physical Standby 数据库可以只读方式打开,用于报表查询、数据校验等操作,待这些操作完成后再将数据库置于日志应用模式下。

Logical Standby数据库,在这种方式下,目标库处于打开状态,通过LogMiner 挖掘从源数据库传输过来的日志,构造成SQL语句,然后在目标库上执行这些

SQL,使之与源数据库保持同步。由于数据库处于打开状态,因此可以在SQL Apply更新数据库的同时将原来在源数据库上执行的一些查询、报表等操作放到目标库上来执行,以减轻源数据库的压力,提高其性能。

DataGuard数据同步技术有以下优势:

1)Oracle数据库自身内置的功能,与每个Oracle新版本的新特性(如ASM)都完全兼容,且不需要另外付费;

2)配置管理较简单,不需要熟悉其他第三方的软件产品;

3)Physical Standby数据库支持任何类型的数据对象和数据类型;

4)Logical Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作;

5)在最大保护模式下,可确保数据的零丢失;

DataGuard数据同步技术的劣势体现在以下几个方面:

1)由于传输整个日志文件,因此需要较高的网络传输带宽;

2)Physical Standby数据库虽然可以只读方式打开,然后做些查询、报表等操作,但需要停止应用日志,这将使目标库与源数据不能保持同步,如果在此期间源数据库发生故障,将延长切换的时间;

3)Logical Standby数据库不能支持某些特定的数据对象和数据类型;

4)不支持一对多复制,不支持双向复制,因此无法应用于信息集成的场合;5)只能复制整个数据库,不能选择某个schema或表空间进行单独复制;

6)不支持异构的系统环境,需要相同的操作系统版本和数据库版本;DataGuard技术是Oracle推荐的用于高可用灾难恢复环境的数据同步技术。

二、ORACLE Dataguard配置步骤

说明:主服务器dbsrv1(10.55.88.1),standby服务器dbsrv2(10.55.88.2),两台机器都安装相同版本的数据库,安装在相同位置,安装时都不创建数据库,本例中数据库都安装在d:\oracle下,数据库版本oracle 9.2.0.1

1. 在dbsrv1用dbca(数据库创建助手)创建一个归档数据库

2. 设置主节点为force Logging模式(为了双向切换,建议备用节点也设置为force logging模式)

具体做法:

sqlplus /nolog

connect / as sysdba;

ALTER DA TABASE FORCE LOGGING;

3. 生成备用数据库控制文件和主库pfile文件

具体做法:

alter database create standby controlfile as 'd:\oracle\standby.ctl';

create pfile='d:\oracle\init.ora' from spfile;

关闭主数据库:shutdown immediate;

备份控制文件,数据文件以及参数文件:

控制文件和数据库文件一般在oradata下的WDS文件夹下(备份整个WDS文件夹),参数文件在oraclehome的ora92下的database子目录下名称为spfileWDS.ora.

4. 登陆备份节点,进行数据库恢复,拷贝备用数据库控制文件和主库pfile文件

具体做法:

(在备机的ORACLE目录下先建好ADMIN和ORADA TA两个目录)

copy控制文件,数据文件以及参数文件到dbsrv2上,拷贝后要清除ARCHIVE目录下的文件。

将新生成的standby.ctl和init.ora也拷贝到dbsrv2将,standby.ctl放置在d:\oracle\oradata\WDS\下,init.ora文件放在d:\ORACLE目录下。

(注意一定要在主和备数据库关闭状态下做这些文件的拷贝,否则拷贝出来的文件将是无效的)

copy d:\oracle\admin\wds\*.* 目录拷贝到备机的相应目录下,并删除子目录里面的文件。

5. 编辑copy到dbsrv2的init.ora文件,增加

*.standby_archive_dest='d:\oracle\oradata\wds\archive'

*.fal_server='wds'

*.fal_client='wds_standby'

*.standby_file_management=auto

*.remote_archive_enable=TRUE

同时修改

*.control_files='d:\oracle\oradata\WDS\standby.ctl'

6. 配置主节点上的Listener.ora及tnsnames.ora文件

Listener.ora(在D:\oracle\ora92\network\admin下)

# LISTENER.ORA Network Configuration File: d:\oracle\ora92\network\admin\listener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1)(PORT = 1521))

)

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = d:\oracle\ora92)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = WDS)

(ORACLE_HOME = d:\oracle\ora92)

(SID_NAME = WDS)

)

)

Tnsname.ora(在D:\oracle\ora92\network\admin下)

# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.ora # Generated by Oracle configuration tools.

WDS =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1)(PORT = 1521))

)

(CONNECT_DA TA =

(SERVER = DEDICA TED)

(SERVICE_NAME = WDS)

)

)

WDS_STANDBY =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv2)(PORT = 1521))

)

(CONNECT_DA TA =

(SERVICE_NAME = WDS)

)

)

(注意删除结尾处的空格)

改好以后将这两个文件拷贝到备机的相应文件夹下。

7. 配置备机上的standby点监听器及tnsnames.ora文件

# LISTENER.ORA Network Configuration File: d:\oracle\ora92\network\admin\listener.ora # Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv2)(PORT = 1521))

)

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = d:\oracle\ora92)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = WDS)

(ORACLE_HOME = d:\oracle\ora92)

(SID_NAME = WDS)

)

)

Tnsnames.ora和主节点一样

8.

重建密码文件

到命令行:

orapwd file=d:\oracle\ora92\\database\pwdwds.ora password=narisq entries=5

在dbsrv2上用oradim重建wds服务

Oradim –new –sid WDS –usrpwd narisq

在命令行输入LSNRCTL命令,用START启动监听器

sqlplus /nolog

SQL>conn sys/narisq@wds_standby as sysdba

SQL>create spfile from pfile='d:\oracle\init.ora';

注意:将控制文件放到init.ora中指定的目录

SQL> startup nomount;

SQL> alter database mount standby database;

SQL> shutdown immediate;

SQL> startup nomount;

SQL> alter database mount standby database;

SQL> alter database recover managed standby database disconnect from session;

数据库处于管理恢复模式下

9. 在dbsrv1上设置归档路径

SQL> startup;

SQL> alter system set log_archive_dest_2='service=wds_standby LGWR reopen=60' scope=both; (修改内存和spfile文件中该参数的值)

SQL> alter system switch logfile;

SQL> /

在备用节点观察日志,看是否主节点的归档日志同时归档到备节点上。察看d:\oracle\admin\bdump\下的alert文件

10. 在主节点进行同样的配置,方法如下:

主备切换:

以便切换后继续日志传递,即当备节点变成主用后,主节点上能接收从备节点归档过来的日志,在d:\oracle\oradata\wds\archive\下创建目录stdarch

SQL> alter system set standby_archive_dest='d:\oracle\oradata\wds\archive\stdarch';

11. 停止主数据库,启用备用数据库,方法如下:

更改主数据库为备用状态

SQL> alter database commit to switchover to physical standby;

关闭主数据库

SQL> shutdown immediate;

在备用模式启用主数据

SQL> startup nomount;

SQL> alter database mount standby database;

SQL> select name,open_mode,PROTECTION_MODE,DA TABASE_ROLE from v$database; SQL> ALTER DA TABASE RECOVER MANAGED STANDBY DA TABASE DISCONNECT FROM SESSION;

打开备用数据库(在备机上)

Sqlplus /nolog

SQL> Conn sys/narisq@wds_standby as sysdba

SQL> alter database commit to switchover to primary;

SQL> alter system set log_archive_dest_2='service=wds LGWR reopen=60' scope=both;

SQL> shutdown immediate;

SQL> startup

SQL> alter system switch logfile;

SQL> /

在主库上观察日志应用情况,察看d:\oracle\admin\bdump\下的alert文件

SQL> create table t as select * from dba_users;

SQL> alter system switch logfile;

在dbsrv1上以read only打开数据库,执行查询

SQL> ALTER DA TABASE RECOVER MANAGED STANDBY DA TABASE CANCEL;

SQL> ALTER DA TABASE OPEN READ ONLY;

SQL> select username from t;

将dbsrv1切换回管理恢复模式

SQL> ALTER DA TABASE RECOVER MANAGED STANDBY DA TABASE DISCONNECT FROM SESSION;

12. 把数据库切换回到主节点dbsrv1上

在dbsrv2上

SQL> alter database commit to switchover to physical standby;

SQL> shutdown immediate

在dbsrv1上

conn /as sysdba

SQL> alter database commit to switchover to primary;

SQL> shutdown immediate;

SQL> startup

完成自由切换

**********************************

把备机从恢复模式启动到只读模式

SQL>ALTER DA TABASE RECOVER MANAGED STANDBY DA TABASE CANCEL; SQL>ALTER DA TABASE OPEN READ ONLY;

**********************************

把备机启动到恢复模式

SQL> shutdown immediate;

SQL> startup nomount;

SQL> alter database mount standby database;

SQL> alter database recover managed standby database disconnect from session;

failover

在standby上

1. SQL>alter database recover managed standby database finish;

or SQL>alter database recover managed standby database finish skip standby logfile;

2. SQL>alter database commit to switchover to primary;

3. SQL>shutdown immediate;

4. SQL>startup;

Oracle_dataguard__11G_配置与维护手册

1.判断DataGuard是否安装 select * from v$option where parameter = 'Oracle Data Guard'; 2.网络配置 192.168.1.10(orcl)------------------------------------192.168.1.20(dg) 3.监听配置 主库 [oracle@node1 ~]$cd/u01/app/product/11.2.0/db_1/network/admin [oracle@node1 admin]$cat listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) ) ) [oracle@node1 admin]$cat tnsnames.ora ORCL= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) DG = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dg)

) ) 备库 [oracle@node1 admin]$cat listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) ) ) [oracle@node1 admin]$cat tnsnames.ora ORCL= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) DG = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dg) ) ) 4.主库前期准备 设置强制写日志 SQL> select FORCE_LOGGING fromv$database; NO SQL>alter databaseforce logging; SQL>select FORCE_LOGGING from v$database; YES

oracle stream同步

Oracle Stream配置详细步骤 1 引言 Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现 1 引言 Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 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

OracleDataguard操作手册20160912

Oracaledataguard操作手册 第一.dataguard的好处: 它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库的快速切换与灾难性恢复,提供了灾难保护并防止数据丢失。Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。而主备机之间的数据差异只限于在线日志部分,因此可以被用作数据容灾解决方案。 第二.选用什么DG模式? DG有三种模式,最大保护(Maximum protection),最大性能(Maximum performance),最大可用性(Maximum availability),默认的就是最大性能模式。再实际的应用种使用最大性能模式比较多。 三种保护模式: 可以在V$DATABASE中查看到DataGuard的保护模式 SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;

第三.物理standby还是逻辑standby? 1,物理stand by直接从primary接受archived log,然后直接做恢复,效率较高,因为是使用最底层的块级别上的复制。 逻辑stand by是把primary接收过来的archived log解析为sql语句,然后做同步,效率较低,因为是执行SQL语句。 2,Physical standby的APPLY节点为MOUNT状态,Logical standby节点为OPEN状态,可分担primary上部分的查询和报表服务。 3,Physical standby可以实现与Primary来回switchover;logical standby切为Primary ,不能再切回来。 4,Physical standby可以切换为Logical standby ,但是logical 不能转换为Physical。 综合以上采取:物理standby模式,效率高,数据完整性好。 第四.如何创建物理standby? 见附件一:ORACLE 11G 搭建DATAGUARD步骤 大概步骤如下: 首先:配置主库 1.1设置数据库强制归档 1.2添加STANDBY日志文件 1.3修改参数文件 1.4修改监听配置文件 1.5修改TNS配置文件 1.6重启监听服务 1.7启动数据库,配置DG模式:最大可用性模式或者最大性能模式 1.8备份数据库 其次:配置备库。

Oracle 11g DataGuard 配置详细说明

Oracle 11g DataGuard 配置详细说明 1.判断DataGuard是否安装 select * from v$option where parameter = 'Oracle Data Guard'; 2. 数据库环境说明 主库配置:IP:192.168.228.133(Oracle11g1),数据库名:db1,监听服务名:db1pri,网络服务名:pri 从库配置:IP:192.168.229.134(Oracle11g2),数据库名:db1,监听服务名:db1dg ,网络服务名:dg 数据库程序安装路径:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs 数据库存放路径:/oracledata/db1 3.监听配置 在做oracle dataguard主从库配置时候,一定要配置静态监听,否则可能出现监听服务解析错误,不能连接的问题,监听配置如下: 主库配置如下: [oracle@Oracle11g1 admin]$ pwd /oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin [oracle@Oracle11g1 admin]$ cat listener.ora # listener.ora Network Configuration File: /oracleapp/oinstall/oracle/product/1.2.0/dbhome_1/network/admin/listener.ora # Generated by Oracle configuration tools. WU = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521)) ) ) SID_LIST_WU = (SID_LIST =

Oracle数据库同步技术

基于Oracle数据库的数据同步技术大体上可分为两类:Oracle自己提供的数据同步技术和第三方厂商提供的数据同步技术。Oracle自己的同步技术有DataGuard,Streams,Advanced Replication和今年 刚收购的一款叫做GoldenGate的数据同步软件。第三方厂商的数据同步技术有Quest公司的SharePlex 和DSG的RealSync。下面对这些技术逐一进行介绍。 一、DataGuard数据同步技术 DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。DataGuard 提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式 和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。 最大性能模式:这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的 数据保护等级。在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日 志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。 最大保护模式:在这种模式下,日志数据必须同时写到源数据库的联机日志文件和至少一个目标库 的备用日志文件(standby redo log),事务才能提交。这种模式可确保数据零丢失,但代价是源数据库的可用性,一旦日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库将会被关闭。这也是目前市场上唯一的一种可确保数据零丢失的数据同步解决方案。 最大可用模式:这种模式在不牺牲源数据库可用性的条件下提供了尽可能高的数据保护等级。与最 大保护模式一样,日志数据需同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交,与最大保护模式不同的是,如果日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库不会被关闭,而是运行在最大性能模式下,待故障解决并将延迟的日志成功应用在目标库上以后,源数据库将会自动回到最大可用模式下。 根据在目标库上日志应用(Log Apply)方式的不同,DataGuard可分为Physical Standby(Redo Apply)和Logical Standby(SQL Apply)两种。 Physical Standby数据库,在这种方式下,目标库通过介质恢复的方式保持与源数据库同步,这种方 式支持任何类型的数据对象和数据类型,一些对数据库物理结构的操作如数据文件的添加,删除等也可支持。如果需要,Physical Standby数据库可以只读方式打开,用于报表查询、数据校验等操作,待这些操 作完成后再将数据库置于日志应用模式下。 Logical Standby数据库,在这种方式下,目标库处于打开状态,通过LogMiner挖掘从源数据库传 输过来的日志,构造成SQL语句,然后在目标库上执行这些SQL,使之与源数据库保持同步。由于数据 库处于打开状态,因此可以在SQL Apply更新数据库的同时将原来在源数据库上执行的一些查询、报表等操作放到目标库上来执行,以减轻源数据库的压力,提高其性能。 DataGuard数据同步技术有以下优势: 1)Oracle数据库自身内置的功能,与每个Oracle新版本的新特性(如ASM)都完全兼容,且不 需要另外付费; 2)配置管理较简单,不需要熟悉其他第三方的软件产品; 3)Physical Standby数据库支持任何类型的数据对象和数据类型;

DATAGUARD配置参数详细解释

DATAGUARD配置参数详细解释 DB_NAME 只需注意DataGuard的主备各节点instance使用相同的db_name即可。推荐与service_name一致。 DB_UNIQUE_NAME Primary与Standby端数据库的唯一名字,设定后不可再更改。 注意: 如果主备db_unique_name不一样,需要与LOG_ARCHIVE_CONFIG配合使用 db_unique_name并未规定需要与数据库service_name一致,可以自定义任意名称。 LOG_ARCHIVE_CONFIG 列出主备库上的DB_UNIQUE_NAME 参数。默认情况下,定义该参数能确保主备库数据库能够互相识别对方Primary与Standby端的db_unique_name不一致时 如在主备库db_unique_name不一致的情况下未配置LOG_ARCHIVE_CONFIG则会出现如下报错 ORA-16057: DGID from server not in Data Guard configuration 原因:主库没有设置参数log_archive_config 解决方法*.log_archive_config='dg_config=( Primary, Standby)' alter system set log_archive_config='dg_config=( Primary, Standby)' scope=both; Primary与Standby端的db_unique_name一致时

LOG_ARCHIVE_DEST_1 本地归档路径。Primary与Standby需要定义各自的online redo log的归档地址,以系统实际的存放路径为准。格式如下: Primary Site: *.LOG_ARCHIVE_DEST_1='LOCATION=/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) ' Standby Site: *.LOG_ARCHIVE_DEST_1='LOCATION=/stdby/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) ' 注意: 在LOG_ARCHIVE_DEST_n设置DB_UNIQUE_NAME表示该参数在DB_UNIQUE_NAME指定的数据库上生效,设置为本地的db_unique_name。以priamry端为例,格式如下: *.LOG_ARCHIVE_DEST_1='LOCATION=/archivelog/ VALID_FOR=(ALL_LOGFILES, ALL_ROLES) DB_UNIQUE_NAME=Primary' 这样配置的意义为:在数据库Primary上log_archive_dest_1对主备库上的联机日志都有效,这里的 db_unique_name可以省略 LOG_ARCHIVE_DEST_2 该参数仅当数据库角色为primary时生效,指定primary归档redo log到该参数定义的standby database上。 log_archive_dest_2可以说是dataguard上最重要的参数之一,它定义了redo log的传输方式(sync or async)以及传输目标(即standby apply node),直接决定了dataguard的数据保护级别。 格式如下: Primary Site: *.LOG_ARCHIVE_DEST_2='SERVICE=DR2 lgwr async VALID_FOR=(ONLINE_LOGFILES, PRIMARY_ROLE) ' Standby Site: (switch over后生效) *.LOG_ARCHIVE_DEST_2='SERVICE=DR1 lgwr async VALID_FOR=(ONLINE_LOGFILES, PRIMARY_ROLE) ' 注意: LOG_ARCHIVE_DEST_2参数里定义的service值,比如DR1,是tnsnames.ora文件里定义的Oracle Net名称。

运维手册_数据库_DataGuard日常运维手册

文档标识 文件状态:[] 草稿 [√] 正式发布 [ ] 正在修改 Oracle RAC+DataGuard 运维手册 版本:1.0.0 编制周光晖2015年01月20 审核 批准年月日 生效日期:年月日

修订历史记录 日期版本修订说明作者

目录 第一章引言 (3) **. 编写目的 (3) **. 定义、首字母缩写词和缩略语 (4) 第二章......................................................................................................... D ATA G UARD状态查询4 **. 检查主备库的D ATA G UARD状态信息 (4) **. 检查进程 (4) **. 检查归档状态 (4) **. 检查最后应用的日志S EQUENCE (5) **. 查看是否使用实时应用 (5) **. 检查GAP (5) **. 检查保护模式 (5) **. 相关视图 (6) 第三章................................................................................................................... SWITCHOVER 6 **. 确认主库状态是否支持切换操作 (6) **. 执行主库转换 (7) **. 关闭并MOUNT新备库 (7) **. 确认老备库状态 (7) **. 切换目标备库为主库 (7) **. 打开新主库 (8) **. 启动新备库的日志应用 (8) **. 开启新备库的ADG (8) 第一章引言 1.1. 编写目的 本文档描述了Oracle 11gR2 RAC+ADG操作手册。包含RAC DOWN机测试,日常查询状态,启停RAC等指令同时包含oracle 11g R2 ACTIVE DATAGUARD 的日常维护指令。

将SQLSERVER中的数据同步到ORACLE中

如何将SQLServer2005中的数据同步到Oracle中 有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。 1.在Oracle中建立对应的contract 和contract_project表,需要同步哪些字段我们就建那些字段到O racle表中。 这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行: SELECT* FROM msdb.dbo.MSdatatype_mappings SELECT* FROM msdb.dbo.sysdatatypemappings 来查看SQLServer和其他数据库系统的数据类型对应关系。第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。 ORACLE bigint NUMBER1931 ORACLE binary BLOB NULL01 ORACLE binary RAW-141 ORACLE bit NUMBER131 ORACLE char CHAR-141 ORACLE char CLOB NULL01 ORACLE char VARCHAR2-141 ORACLE datetime DATE NULL01 ORACLE decimal NUMBER-131 ORACLE double precision FLOAT NULL01 ORACLE float FLOAT NULL01 ORACLE image BLOB NULL01 ORACLE int NUMBER1031 ORACLE money NUMBER1931 ORACLE nchar NCHAR-141 ORACLE nchar NCLOB NULL01 ORACLE ntext NCLOB NULL01 ORACLE numeric NUMBER-131 ORACLE nvarchar NCLOB NULL01 ORACLE nvarchar NVARCHAR2 -141 ORACLE nvarchar(max) NCLOB NULL01 ORACLE real REAL NULL01 ORACLE smalldatetime DATE NULL01 ORACLE smallint NUMBER531 ORACLE smallmoney NUMBER1031

oracle跨实例数据同步

Oracle 快照及dblink使用(两台服务器数据同步)跨ORACLE实例数据同步(物化视图应用) 名词说明:源——被同步的数据库 -- 目的——要同步到的数据库 /*一、创建dblink:*/ --1、在目的数据库上,创建dblin drop public database link dblink_anson; Create public database link dblink_anson Connect to lg identified by lg using 'SDLGDB'; --源数据库的用户名、密码、服务器名k /*二、创建快照:*/ --1、在源和目的数据库上同时执行一下语句,创建要被同步的表 drop table tb_anson; create table tb_anson(c1 varchar2(12)); alter table tb_anson add constraint pk_anson primary key (C1);

--2、在目的数据库上,测试dblink select * from tb_anson@dblink_anson; select * from tb_anson; --3、在目的数据库上,创建要同步表的快照日志 Create snapshot log on tb_anson; --4、创建快照,快照(被同步(源)数据库服务必须启动) Create snapshot sn_anson as select * from tb_anson@dblink_anson; --5、设置快照刷新时间 Alter snapshot anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60; --oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次 Alter snapshot anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1;

Oracle数据仓库-电信行业应用案例

转眼,从事电信行业BI/DW已经有三年时间了,一直想写点东西,给大家共同分享,感谢ERP 100给我了一个展示的平台! 连载时间:一周一篇 连载提纲: 第一篇数据仓库建设目标、系统规模及项目面临的技术挑战 第二篇选择数据仓库平台的考虑 第三篇选择Oracle产品的原因 第四篇系统现状分析、DW数据仓库建设原则及整体规划的实现 第五篇整体规划的实现、新增应用优先级的确定及螺旋式建设方法 第六篇数据仓库的效益、成本和风险控制 第七篇数据模型设计方法 第八篇构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分 第九篇数据抽取策略、数据抽取过程管理、对脏数据的管理、数据去重及元数据管理及 第十篇典型的应用流程、主题分析及应用推广方法 (第一篇)数据仓库建设目标、系统规模及项目面临的技术挑战 1 数据仓库项目建设目标: 建立统一的数据信息平台,实现客户资料和生产数据的集中存储。利用先进的数据仓库技术和决策分析技术为市场营销和客户服务工作提供有效的支撑: 2 目前系统规模: 包含12个月的话单;数据库容量为65TB,其中原始数据为25TB;最大的表包含1800亿话单

3 项目面临的技术挑战: 数据存储-系统要求存储12-18个月的详单数据; 数据装载-按小时装载详单数据,要求每天在8小时内装载5亿条详单;高峰时一个小时装载6500万条详单;在8小时内同时完成1亿7000万个汇总操作 数据访问-支持680个并发用户,支持8000个系统用户;5%的预定义查询操作在5秒钟内完成;每秒钟23个查询操作 Sina微薄互动地址:https://www.sodocs.net/doc/9315215676.html,/2186879022/zDx5x29Cw 感谢大家的参与和鼓励,pathwide的建议很好,下面列举出该连载的计划提纲,如下: 连载周期:一周一篇 连载提纲: 第一篇数据仓库建设目标、系统规模及项目面临的技术挑战 第二篇选择数据仓库平台的考虑 第三篇选择Oracle产品的原因 第四篇系统现状分析、DW数据仓库建设原则及整体规划的实现 第五篇整体规划的实现、新增应用优先级的确定及螺旋式建设方法 第六篇数据仓库的效益、成本和风险控制 第七篇数据模型设计方法 第八篇构建闭环的信息流、数据模型-分层设计、DW中的数据功能划分 第九篇数据抽取策略、数据抽取过程管理、对脏数据的管理、数据去重及元数据管理及 第十篇典型的应用流程、主题分析及应用推广方法 希望大家积极参与,共同分享BI/DW的项目经验,同时,有不到位的地方,还请大家多多指正,谢谢! 选择数据仓库平台时的考虑 4 选择数据仓库平台时的考虑 4.1 强大的ETL支持能力-支持按小时的数据装载 4.2 高效的数据访问-硬件的支持:多CPU 大内存并发处理 分区技术 索引技术 数据库内置分析能力 4.3 高可用性7 * 24小时不间断运行 4.4 数据访问每秒钟23到100个并发查询操作; 95%的查询在1秒内完成 4.5 数据表分区-混合分区 按地区建立列表分区; 按时间建立范围分区; 4.6 可传输的表空间 操作系统文件的直接复制;不需要数据的导入、导出

windows环境DataGuard配置

1. DataGuard 配置 主机:192.168.0.7(primary) 备机:192.168.0.8(standby) 配置条件:分别在primary 、standby 上安装数据库,并自动创建实例;安装路径、数据库实例名( citizen )和密码都设置成一样特别注意:文件夹权限必须与administartor 一致 1.1. Primary 主机操作 1、设置主数据库为force logging 模式 SQL>sqlplus "/as sysdba" SQL>alter database force logging; 2、设置主数据库为归档模式,并以mount 启动数据库 SQL>archive log list SQL>shutdown immediate SQL>startup mount SQL>alter database archivelog; SQL>archive log list 3、添加" 备用联机日志文件" SQL>select * from v$logfile; 再添加: alter database add standby logfile group 4 ('D:\app\oradata\orcl\redo04.log') size 50m; alter database add standby logfile group 5 ('D:\app\oradata\orcl\redo05.log') size 50m; alter database add standby logfile group 6 ('D:\app\oradata\orcl\redo06.log') size 50m; alter database add standby logfile group 7 ('D:\app\oradata\orcl\redo07.log') size 50m; 路径与原来的日志路径一样

提升数据保护:Oracle数据仓库的实时数据采集

提升数据保护:Oracle数据仓库的实时数据采集在使用数据仓库软件时,最常见的约束之一是源系统数据批量提取处理时的可用时间窗口。通常,极其耗费资源的提取流程必须在非工作时间进行,而且仅限于访问关键的源系统。 低影响实时数据整合软件可以释放系统的批处理时间。当提取组件使用非侵入式方法时,如通过读取数据库事务日志,只会捕捉发生变化的数据,不会对源系统产生影响。因此,数据提取流程可以在任意时段全天候执行,即使用户在线也可以。 当以实时方式提取数据时,虽然必须改变数据采集流程中各个元素支持实时数据的方式,但是这些数据可以带来不一般的业务价值。而且,这些数据必须得到有效的保护,同时也很难针对这些不停变化的数据应用灾难恢复和备份技术。 但是,在数据仓库中应用实时数据整合的技术也可以进一步保护数据。毕竟,实时移动数据的技术也可以实时操作数据,从而形成一个数据保护技术入口。但是,变化数据的速度和效率可能会受制于数据保护流程的延迟。

这意味着,在转到整合数据仓库的主动数据采集模式时,首要考虑的问题之一是数据经过IT系统的流程和可能产生的延迟。换而言之,实时数据整合要求理解变化的数据,以及促进或妨碍这种变化的组件。 显然,企业希望保护他们的数据。然而,随着数据容量需求的增长,存储技术也成为业务持续性依赖的重要业务资产。而且,随着实时分析成为业务流程的一部分,它也归入到业务持续性的范畴之中。实现数据安全性和持续性的最基本方法是硬件或软件复制,它会自动保存第二个关键数据副本。此外,自行创建或基于开源软件创建的备份方法也不存在。 企业级数据管理应用主要涉及5个重要领域:灾难恢复、高可用性、备份、数据处理性能和更高级数据库移植。这促使IT不停地追寻先进技术,如实现数据整合及其相关基础架构元素。此外,这些战略投资能够提供符合预算的资源,在加快实时技术应用的同时,提高投资回报和修正实时数据整合项目的商业提案。

浅谈Oracle 数据库之间数据同步方案

随着信息技术的飞速发展,企业信息化建设的不断深入,使得企业业务系统数量不断增加。这时,各业务系统之间数据交互,各子业务系统与核心业务系统之间数据交互,诸如此类场景的应用需求不断出现。因此,IT部门应对此类需求的压力越来越大。比较突出的问题,主要有实时性与性能的冲突,数据交互方案的安全性与健壮性等。下面浅谈下Oracle数据库之间数据同步方案,不涉及方案的好坏选择,可供参考。 Oracle 提供的数据同步方案: 1,比较原始的,触发器/Job + DBLINK的方式,可同步和定时刷新。 2,物化视图刷新的方式,有增量刷新和完全刷新两种模式,定时刷新。 3,高级复制,分为多主复制和物化视图复制两种模式。其中多主复制能进行双向同步复制和异步复制,物化视图用于单向复制,定时刷新,与2类似。 4,流复制,可实时和非实时同步。 5,GoldenGate复制,Oracle新买的复制产品,后面应该会取代流复制。它不仅能提供Oracle数据库之间的数据复制支持,还支持在不同种数据库之间的数据同步,也可设置实时和非实时同步。 6,DataGurd,此技术主要用于灾备方案,不过在最新11gR2版本中加入了备库实时应用日志,同时能open 提供read only访问的功能。因此,可以作为读写分离,或者作为report数据库,降低系统负载的一个好的方案。 其中上面1,2,3,是采用Oracle数据库内部的机制来实现,而4,5,6是采用挖掘数据库日志的方式实现的。因此,后面3中方式在性能上会更好些。 第三方提供的数据同步方案: 主要根据实现机制分为两大类: 1,采用挖掘数据库日志的方式实现 市场上用的比较多的,如Quest SharePlex, DSG RealSync 。此类软件与Oracle 新收购的GoldenGate 工具类似。 2,采用相关软件在存储级进行复制 IBM,EMC等存储厂商可以实现,使用第三方存储管理软件,如Veritas Replication也可实现。此类方式应用场景与上面6类似。

Oracle数据库之间数据同步

Oracle数据库之间数据同步 项目中开发库与测试数据库分离,其中某些系统表数据与基础资料数据经常需要进行同步,为方便完成指定数据表的同步操作,可以采用dblink结合dbjob方法完成,简单方便。 操作环境:此Oracle数据库服务器ip为ip1,有dbcenter与dbbranch两个库,一般需要将dbcenter的表数据同步到dbbranch,dbcenter为源库,dbbranch为目标库,具体步骤如下: 1.在源库创建到目标库的dblink create public database link dbcenter connect to username identified by userpassword using ' (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) ' ; 在创建dblink时,要注意,有时候可能会报用户名和密码错误,但实际上我们所输入的账户信息是正确的,此时就注意将密码的大小写按服务器上所设置的输入,并在账号密码前号加上双引号(服务器版本不同造成的)。 2.成功后验证dblink select sysdate from dual@dbcenter; 3.建立存储过程获取数据 create or replace procedure job_sync() is begin Select * from test@dbcenter; end job_sync; 4.为方便每次需要同步时自动完成同步工作,采用oraclejobs完成定时工作:

oracle dataguard配置规范文档

Oracle 10g dataguard配置规范文档 北京深思天成科技有限公司 Version:0.1 编写人:张一 Last Update:2012/11/08

目录 1.部署前的准备工作 (3) 1.1操作系统平台的检查 (3) 1.2网络的测试 (3) 1.3.oracle的介质及相关补丁 (3) 2.规划方案 (3) 2.1 体系结构图dataguard日志传输分为三种 (3) 2.1.1 归档日志传输体系结构图为 (4) 2.1.2 在线日志异步传输体系结构图为 (4) 2.1.3 在线日志同步传输体系结构图为 (5) 2.2 Oracle dataguard 数据库的保护模式 (6) 最大保护(maximum protection) (6) 最大可用(maximum availability) (6) 最大性能(maximum performance) (6) 3.安装配置过程 (6) 3.1 软件安装 (6) 3.1.1 在备机上安装数据库软件 (6) 3.1.2 升级oracle为10.2.4 ,保持主备库数据库小版本一致 (11) 3.2 初始化配置 (14) 3.2.1 修改主库为归档模式 (14) 3.2.2 修改主库的参数 (15) 3.2.3备库参数文件修改后为: (16) 3.2.4 配置密码文件 (16) 3.2.5 在oracle用户下创建相关目录 (17) 3.2.6配置相关监听 (17) 3.2.7 查看主库的监听并修改 (19) 3.2.8 备份主库并将备份传到备库所在的主机 (19) 3.2.9 创建控制文件并传送到备库参数control_files所指定的路径和命名 (20) 3.2.10 启动数据库到mount状态 (21) 3.2.11 在备库进行数据库的恢复 (21) 3.2.12 备库启动介质恢复进程mrp (21) 3.3 功能性配置 (21) 4.检查项 (22) 5. 测试方法 (23) 6.日常维护命令 (24) 6.1启动备库至mount状态,并启动mrp进程 (24) 6.2 取消日志应用进程,并启动到open read only状态 (25) 6.3 关闭备库 (25) 6.4 备库归档日志gap问题的解决 (25) 6.5 修改为最大保护模式 (26) 6.6修改为最大可用模式 (27) 6.7 dataguard切换临时表空间 (28) 7.技术资料来源 (30)

Oracle数据仓库中的OLAP及ODM技术分析

1Oracle数据仓库中的OLAP多维分析技术 在传统的数据仓库技术中,数据访问技术经常分为两部分,复杂度较低的、简单的查询应用可直接访问基于关系数据库的数据仓库服务器,而复杂度较高的联机分析处理应用(OLAP)程序则需要通过专门的多维数据库和工具实现。虽然专门的多维数据库提供一整套的分析功能,查询性能更好,但系统的维护十分困难。多维数据库需要从数据仓库复制数据,获取数据的时间延迟相当长,并需要独立的管理过程,专门的数据建模、ETL过程、安全措施和灾难恢复方案。特别是当数据仓库的容量迅速膨胀时,系统性能会急剧下降,使数据访问应用变得不可使用。 1.1OLAP的体系结构 Oracle数据库作为数据仓库的核心和引擎,它集成了OLAP,Oracle数据库的OLAP选项是一种可用的关系多维数据库。多维技术和关系技术共存在同一平台上,实现了数据可管理性和分析能力之间的平衡。通过对SQL的扩充以及在关系数据库中提供OLAP功能,支持复杂分析查询和提供卓越性能的同时,简化了数据迁移过程并降低了维护数据的费用。 1.2Oracle数据仓库中OLAP的相关特点 与传统的多维数据库相比,它集成了oracle数据库管理系统的优势。 (1)由于OLAP集成在Oracle数据库中,将所有的管理任务整合到单一的数据库中,从而简化了管理。 (2)Oracle数据库提供了基于角色的权限管理,没有授权的用户是无法访问Oracle数据库的。数据库中的所有数据,包括OLAP数据,都得到了单一安全策略的保护。所有的用户都被定义在单一的用户目录中,通过标准的Oracle安全功能,例如GRANT和PRIVILEGE来分配权限。 (3)Oracle数据库是能够对关系和多维数据同时提供SQL和OLAPAPI访问的数据库。应用程序开发者可选择使用OLAPAPI的计算和多维数据功能,或使用标准的SQL访问多维数据,任何OLAP计算都可通过SQL进行查询。 提供AnalyticWorkspaceManage(简称AVM)。 它是完全集中于分析工作区中维度模型定义和实施的管理工具。通过它可以方便地创建维表及其结构、事实表以及多维数据库与关系数据库之间的映射,并不需要编程就可实现各种运算。如最大、最小、平均、加权平均、比率和求和运算。并通过oracle提供的OLAPDML语言,这是一种过程编程语言,可用于表达各种类型的计算、设计自定义分析函数以及控制与多维数据类型相关的数据加载和计算过程。O-LAPDML集成了大量的分析函数,可用于产生任何类型的多维计算。如汇总、分配/n分摊、数据选择、财务、预测和回归、数学和统计、模型、定制维度成员等函数类型。通过SQL和PL/SQL以及OLAPWorksheet工具可以访问OLAPDML。2Oracle数据仓库中的ODM应用技术 数据挖掘可以帮助用户发现在数据中隐含的有用信息和规律。Oracle数据库中集成了数据挖掘功能,它避免了把大量数据卸载到外部专用分析服务器的复杂过程。所有的数据挖掘功能都嵌入到了Oracle数据库中,这样,数据准备、模型建立以及模型评估活动都在数据库内进行。ODM可通过Java和PL/SQL应用程序程序员接口(API)以及数据挖掘客户端访问ODM模型构建和模型计分函数,并提供了多种模型建立向导(Wizard),能够协助业务分析人员和开发人员快速地建立数据挖掘模型和对模型进行检验。Oracle数据挖掘可以为多种数据挖掘算法提供支持,这些算法包括属性重要性、分类和回归、集群、关联、特性提取、文本挖掘、序列匹配和比对—BLAST等算法。 3结语 随着数据仓库技术的广泛应用,许多数据库厂商纷纷提出数据仓库解决方案。作为全球最大的关系数据库厂商,Oracle公司也提出了自己的数据仓库解决方案。与传统的数据仓库解决方案相比,Oracle公司提出了完整的数据仓库架构与集成方案。 Oracle数据仓库中的OLAP及ODM技术分析 □李发军 (西北民族大学榆中校区计算机科学与信息工程学院甘肃?兰州730124) 摘要:本文对Oracle数据仓库中的OLAP多维分析技术,以及Oracle数据仓库中的ODM应用技术进行分析研究。 关键词:OracleOLAPODM 中图分类号:C914文献标识码:A文章编号:1007-3973(2007)10-088-1 信息化之窗 88 科协论坛?2007年第10期(下)

相关主题