dg能读数据吗 oracle_oracle数据迁移dg - CSDN
精华内容
参与话题
  • Oracle之ADG与DG的区别?

    千次阅读 2019-07-20 20:07:05
    在上云后的Oracle数据灾备场景中,我们经常听到DBA迁移工程师讲到“在这个项目中用ADG进行数据实时备份,ADG比DG更好!”。究竟ADG作Oracle数据灾备的优势在什么地方? 一、ADG主要解决了DG时代读写不并行的...

         在上云后的Oracle数据灾备场景中,我们经常听到DBA迁移工程师讲到“在这个项目中用ADG进行数据实时备份,ADG比DG更好!”。究竟ADG作Oracle数据灾备的优势在什么地方?

     

     

    一、ADG主要解决了DG时代读写不能并行的问题

            DG时代的数据同步方式如采用Redo Log的物理方式,则数据库同步数据快、耗用资源低,但存在一个大问题。

            Oracle 11G以前的Data Guard物理备份数据库,可以以只读的方式打开数据,但这时日志的数据同步过程就停止了。而如果日志的数据同步处于执行过程中,则数据库就不能打开。也就是日志读、写两个状态是互相排斥的。而Active Data Guard则是主要解决这个问题。

     

    二、Oracle具有闪回数据库的功能,避免删表等误操作造成无法挽回

            当主数据库打开并处于活动状态时,事务处于处理状态,生成Redo Log数据,并将其传送到备用的数据库中,正常情况下,可以做到秒级的数据同步。但如果在主用数据库上执行一个错误的命令,如drop database,则所有备用数据库中的数据也会被删除。

            Oracle DG提供了易于使用的方式来避免这种用户错误。DBA可以在主数据库、备用数据库中同时使用闪回数据库功能,以快速将数据库恢复到一个较早的时间点上,从而取消这个误操作。

           另外,Oracle还提供了延时执行备份数据库同步的功能,这样又是另一种方式防止误操作。

     

    三、Oracle的DG、RAC一般是联合使用

           RAC主要解决系统应用的故障,它不提供数据故障的快速、自动恢复,它还提供数据库应用的伸缩能力,提供应用级的保护。

            DG只提供数据的备份、恢复能力,提供数据级的保护。

    四、建议使用DG做数据实时同步,而不是第三方的磁盘copy工具

          原因三点:

          1、DG具有延时写入数据功能,可以避免误操作,而第三方工具没有。

          2、DG传输的数据量更小,而第三方工具的所需的带宽更高。

          3、实战中的坑:有些第三方工具的磁盘同步最小单元与Oracle的最小磁盘单元不同,造成异常故障时,备份数据库无法启用,这非常吓人。

     

     

    希望以上文章能帮到您。

    更多内容实时更新,请访问公众号。    

     

    点击这里,获取最高¥1888阿里云产品通用代金券

    展开全文
  • oracle dg打开备库为读写数据库,慎重!

    千次阅读 2014-08-01 20:05:14
    --确保standby数据库置于flashback on 状态 --设置闪回恢复区 alter system set db_recovery_dest_size=2g; ...alter system set db_recovery_file_dest='+DATA';...alter database recover managed standby d
    --确保standby数据库置于flashback on 状态


    --设置闪回恢复区
    alter system set db_recovery_dest_size=2g;
    alter system set db_recovery_file_dest='+DATA';


    --取消备库的自动恢复状态
    alter database recover managed standby database cancel;


    --创建一个还原点
    create restore point restore_point_test


    --在主库归档当前日志,确保前一步创建还原点的scn的归档日志已经传到备库
    alter system archive log current;


    --将主库到备库的归档目的地状态设置为defer
    alter system set log_archive_dest_state_2=defer;


    --激活备库到read/write状态
    alter database activate standby database;
    alter database open;


    --在备库上创建数据
    create table t1 as select * from dba_objects where rownum<=10;
    drop table t1;


    --将数据库flashback回原来保存的还原点
    startup mount force;
    flashback database to restore point restore_point_test;
     
    --转换成备库
    alter database convert to physical standby;


    --将备库至于自动恢复状态
    startup mount force;
    alter database recover managed;


    --将主库到备库的归档目的地状设置为enable
    alter system set log_archive_dest_state_2=enable;


    --检查主库状态
    select dest_name,status from v$archive_dest;


    --检查备库状态
    select process,status from managed_standby;
    展开全文
  • Oracle 11g 透明网关

    万次阅读 2015-04-24 20:41:25
    Oracle11g通过透明网关访问SQLServer2008数据

    项目开发中,需要调用SQLServer2008中某张表,如果用ETL工具,感觉没有必要,就想通过透明网关,创建dblink链接去读取数据。

    第一步:下载透明网关文件win32_11gR2_gateways,并安装,安装步骤这边就省略了,装不好的问百度。

    第二步:配置透明网关

                    安装过程中,将透明网关与Oracle数据文件安装在同台服务器上了,在这大家要注意下:

                    1)Oracle安装时监听器默认的端口是1521,透明网关监听器在安装时默认端口也是1521,这就导致端口冲突,报ORA-28545: 连接代理时 Net8 诊断到错误Unable to retrieve text of NETWORK/NCR message 65535ORA-02063: 紧接着 2 lines (起自 dg4msql)。将透明网关监听端口1521改为1522就OK了。

                    2)透明网关文件配置,需要用到文件为dg4msql(参数文件)和network(网络监听配置文件)

                           

                           dg4msql:参数文文件

                           

                          initdg4msql.ora参数文件,里面配置数据库配置信息,此文件命名格式为:init<sid>.ora,此示例采用默认文件名

                        

                         数据库配置路径采用:http://IP//数据库名称,有的数据库可能不识别localhost,只能用.代替,不然会报:ORA-28500: 连接 ORACLE 到非 Oracle 系统时返回此信息: 
    [Oracle][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝 {08001,NativeErr = 17}[Oracle][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). {01000,NativeErr = 53}[Oracle][ODBC SQL Server Driver]无效的连接字符串属性 {01S00}
    ORA-02063: 紧接着 2 lines (起自 DG4MSQL)

                         listener.ora.sample:透明网关监听器配置模板

                        

                        tnsnames.ora.sample:Oracle数据库tns配置模板

                        

                        network:文件

                        需要在listener.ora配置信息

                        

    第三步:重启透明网关监听器

                      

       点击 LSNRCTL.exe文件,进入下面界面:

                       

    第四步:Oracle数据文件配置

                    找到Oracle tns配置文件,进行一下配置:

                    

    第五步:创建dblink 语法如下:

                    

    create database link dg4msql --dblink名称
    connect to sa --用户名
    identified by "scsoft"  --密码,用引号括起来
    using 'dg4msql'; --服务名称

    第六步:数据查询,语法如下:

    select * from 表明@dg4msql;


    展开全文
  • 不同Oracle数据库之间的数据同步

    万次阅读 2017-04-19 15:11:55
    对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的方式。 Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或

    方法一:通过快照来实现

    1 创建dblink 2 创建快照


    Oracle快照原理及实现总结
    Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的方式。

    Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。也就是说快照根本的原理就是将本地或远程数据库上的一个查询结果保存在一个表中。
    以下是我建立的Snapshot,目的是从业务数据库上将数据Copy到处理数据库上,是不同的两个服务器之间对数据copy。
    第一步:在处理服务器上的Oracle终端,建立database link,业务数据库服务器SID为TEST
    create database link TEST_DBLINK.US.ORACLE.COM
    connect to AMICOS identified by AMICOS
    using 'test';
    第二步:在业务数据库上对应的表建立快照日志
    Create snapshot log on A_Table;
    第三步:建立Snapshot 快照名称为:Test_SnapShot
    Create snapshot Test_SnapShot
    REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24
    as select * from A_Table@TEST_DBLINK
    说明:REFRESH是刷新方法
    刷新方式有:COMPLETE和FAST两种,而START WITH是说明开始执行的时间。
    Next是下次执行的时间
    而AS以后是构成快照的查询方法。
    相关的方法:
    更改快照
    ALTER SNAPSHOT Test_SnapShot
    REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;
    手动刷新快照 在命令界面执行:
    EXEC DBMS_SNAPSHOT.REFRESH('Test_SnapShot ','C');
    第一个参数是要刷新的快照名
    第二个参数是刷新的方式,F----FAST, C---COMPLETE
    查看快照最后刷新的日期
    SELECT NAME,LAST_REFRESH
    FROM ALL_SNAPSHOT_REFRESH_TIMES;
    最后非常的方案:
    1:为需要做Snapshot的表建立Snapshot日志
    create snapshot log on t1 with rowid; 这里使用ROWID建立日记的参数
    2:采用Fast的方式建立快照,使用rowid做为参考参数
    create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440 as select * from fb_test_b@my_dblink;
    最好能按照rowid来建立快照。要不然就必须要为表建立Primary Key。

    方法二:通过dataguard来实现

    全库同步,并且备库不能进行操作


    DataGurd:

    主要备库的方式,就是数据库对数据库的备份方式,主要是解决容灾的。

    流复制:

    主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。可以复制到表,用户,数据库级别。

    高级复制:

    主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据库级别的对象复制,只能做些表、索引和存储过程的复制。

    如果出于容灾整个数据库的考虑,高级复制相当复杂,而且并不一定能做好,流复制的配置相对简单。流复制是后来产生的复制技术,是基于日志挖掘技术实现的,对数据库的影响较低。但在稳定性方面较差,实时性没有高级复制强(因为高级复制是基于触发器的)。如果系统意外的话,流复制的恢复将会需要较长时间,特别是意外时间越长,恢复时间成倍增长。
    从ORACLE9i开始,Oracle standby database改成DATA GUARD,在这种模式中,开始支持三种不同的数据保护模式,并开始采用LGWR 对数据的传送而不是以往的ARCH,而且增加了一个新的后台进程叫DMON 监控数据的同步,在11g之前最多支持9个节点的同时复制,从Oracle 9.2.0开始,开始支持逻辑standby。
    11g能够支持多少备库,通过下面的sql你就能知道了:
    SQL> show parameter log_archive_dest
    Data guard是软件级别的冗余,不需要额外购买任何组件,因此能在对主数据库影响很小的情况下,实现主备数据库的同步,而主备机的数据差异只在在线日志部分,所以被不少企业作为了数据容灾方案。到了oracle 11g版本,备库可以直接已read only方式打开。 这样可以做一些查询工作,减轻出库的压力。
    使用Data Guard技术有如下好处:
    (1)DG是一种有效的disaster recovery 和high availability的解决方案。 可以很容易的在主库和备库之间进行switchover 和 failover的切换。 如果主库出现特殊情况,也能将停机时间降到最小。
    (2)在最大保护的级别下,可以做到零数据丢失的保护,即使是一些不可预知的灾难。 并且standby 数据库也可以提供一种预防data corruption 和用户误操作的安全保护。
    (3)DG 提供了3种级别的保护:maximum protection,maximum availability,maximum performance。 用户可以根据数据保护级别的需要和性能需求综合考虑选择对应的模式。
    (4)如果主库和备份之间的的连接通信中断,比如网络故障,那么主库的归档日志就不能传送到备库。 一旦主备库之间通信重新连接,那么这些丢失的归档文件就是GAP。 DG 会自动检测GAP,如果发现有GAP,会自动把这些丢失的归档传送到备库,实现主备库的同步,这一切操作都不需要DBA的参与,自动实现。
    (5)当启用fast-start failover后,如果primary 出现故障,那么DG broker会自动把standby 转换成primary。这个过程自动实现,无需要DBA 干预。

    (6)Data Guard broker技术提供了一个用户图形界面和命令界面来自动管理和配置DG

    方法三:通过godengate来实现

    1 两个数据库同时安装godengate软件 2 配置参数


    Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle Golden Gate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。
    和传统的逻辑复制一样,Oracle GoldenGate实现原理是通过抽取源端的redo log或者archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。
    利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGate TDM自定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;
    目标系统接受数据变化并缓存到GoldenGate TDM队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;
    GoldenGate TDM投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。
    由此可见,GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGate TDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,GoldenGate TDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的
    GoldenGate TDM提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构.
    GoldenGate TDM 可以提供可靠的数据复制,主要体现在下面三点:
    保证事务一致性
    GoldenGate TDM 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。
    检查点机制保障数据无丢失
    GoldenGate TDM的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGate TDM进程故障重启后数据无丢失。
    可靠的数据传输机制
    GoldenGate TDM 用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能。
    GoldenGate TDM 可以提供可靠的数据复制,主要体现在下面三点:
    保证事务一致性
    GoldenGate TDM 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。
    检查点机制保障数据无丢失
    GoldenGate TDM的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGate TDM进程故障重启后数据无丢失。
    可靠的数据传输机制
    GoldenGate TDM 用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能。
    Oracle 公司的GoldenGate产品,可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate可以支持几乎所有常用操作系统如和数据库平台.
    但是成本相对上面来说比较高,具体的第二和第三种方法的配置等百度上太多就不赘述了.
    展开全文
  • 在使用ORACLE 的 utl_file 包,把数据写到文件中。 看到是逐条数据写入文件。速度比较慢。所以想到python来进行处理。写完后,速度有所改观。 在写成BOLG时,SQL 代码有所修改。 以下是两种方法。 一、...
  • Oracle 19c 新特性一览

    万次阅读 2019-02-14 14:33:42
    文章目录Oracle 19c 新特性一览可用性一般简化了 DG Broker中对于数据库参数的管理动态修改Fast-Start Failover (FSFO)目标库Broker的FSFO支持仅观察模式当主库闪回时,备库也会跟着闪回将主库还原点传播DG多实例...
  • 测试例子:通过Oracle的GateWay,访问SQLServer的数据Oracle 信息: Oracle所在机器的IP : 192.168.2.28 oracle SID :test Oracle 版本: 11.2.0.4 SQL Server 信息: SQL Server所在机器的IP : 192.168...
  • Oracle GoldenGate 详解

    万次阅读 2019-06-21 10:18:42
    一、Oracle GoldenGate介绍  GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。 1、...
  • Oracle数据库--读写分离架构

    万次阅读 2016-09-24 18:29:25
     采用Oracle读写分离的思路,Writer DB和Reader DB采用日志复制软件实现实时同步; Writer DB负责交易相关的实时查询和事务处理,Reader DB负责只读接入,处理一些非实时的交易明细,报表类的汇总查询等。同时,...
  • ORACLE通过odbc数据源连接sqlserver

    千次阅读 2013-04-28 13:55:17
    ms server 2003 oracle 10.2.0.1.0连接ms sql server 2005 1、控制面板--管理工具--obbc数据源管理器 系统DSN 中增加名称为 sjck 的DSN,并测试成功。 2、复制F:\oracle\product\10.2.0\db_1\hs\admin\inithsodbc....
  • CentOS7安装Oracle11G完整版图文教程

    万次阅读 2019-09-09 08:39:09
    Oracle版本:Oracle Database 11g R2 注意事项:安装的过程可能遇到假死现象,直接回车即可 如果遇到中文乱码: 新建一个目录,上传字体包zysong.ttf到新建的目录,命令如下: #mkdir –p /usr/share/fonts/zh_...
  • 1.1 Oracle DataGuard技术 注:因为Logical Standby受支持数据类型,以及日志分析效率等影响很少用于实际应用,所以这里不做比较。以下比较的均为Physical Standby(1)DataGuard 的异步模式是将Archived Redo Log...
  • oracle的透明网关是oracle直接访问异构数据库的利器。在9i中,透明网关是包含在数据库安装程序中的,在安装数据库软件过程中可以选择;10g中,oracle把透明网关独立出来,需要单独下载安装。 本文主要讨论在oracle...
  • Excel文档的数据如何读取Oracle数据库一直是值得深究的问题。 目前相信大部分程序员都是直接用工具将Excel的数据读取Oracle数据库的。例如Toad,PL/SQL Developer的Excel数据导入功能。 也有一部分程序开发的...
  • 使用不同颜色标识后台进程 全面了解oracle 备份和恢复机制, 参照oracle体系结构图解析进程(机构图文章有)
  • Redhat linux下安装oracle 10g 安装redhat5时要独立分配磁盘给SWAP,空间大小应该是内存大小*2,最好使用内存>1G的机器。 系统检查命令: # grep MemTotal /proc/meminfo ――检查内存大小 # grep SwapTotal /proc/...
  • UNDO表空间的作用和管理

    万次阅读 2017-09-21 17:21:50
    一、UNDO的作用 二、UNDO参数的解析 三、UNDO段的分类和管理 四、利用dba_undo_extents数据字典查找undo段记录的原数据
  • 数据库笔试面试题库(Oracle、MySQL等) ⊙ 【DB笔试面试67】在Oracle中,关于表分区下列描述不正确的是() ⊙ 【DB笔试面试65】在Oracle中,哪一种表分区方式建议的分区数是2的幂(2、4、8等),以获得最平均的...
1 2 3 4 5 ... 20
收藏数 2,074
精华内容 829
关键字:

dg能读数据吗 oracle