精华内容
下载资源
问答
  • ORACLE数据库复制

    2011-07-04 11:46:14
    ORACLE数据库自身提供有复制功能,只需要进行配置即可实现。 ORACLE提供有三种复制技术: 高级复制(Advanced Replication) 流复制(Streams Replication) 备库(Dataguard) 备库的方式,就是数据库对...
  • Oracle数据库容灾备份中的流复制技术研究.pdf
  • 通过Oracle流复制实现数据库之间的同步
  • Oracle流复制技术在数据库系统容灾备份中的构建过程进行了详细介绍,通过对Oracle容灾备份技术的分析,引入流复制技术至电子商务数据库系统中,研究怎样通过Oracle流复制技术在数据库数据共享中的应用,实施容灾备份...
  • ORACLE流复制技术在数据库容灾备份上的应用.pdf
  • 前言 Oracle 数据库是目前应用广泛的大型商用关系数据库产品,因此掌握基本的 Oracle ...Oracle数据库特点 Oracle 数据库经过数十年发展,功能丰富,性能优越,可以满足企业级的数据密集型业务处理需求,它有如下...

    前言

    Oracle 数据库是目前应用广泛的大型商用关系数据库产品,因此掌握基本的 Oracle 数据库知识也成了每个开发人员的必须要求,本文是笔者对 Oracle 数据库的一些浅薄理解,希望能通过写博客在提高自己的同时也能帮助更多人,如有错漏,还望包涵指教。

     

    Oracle数据库特点

    Oracle 数据库经过数十年发展,功能丰富,性能优越,可以满足企业级的数据密集型业务处理需求,它有如下主要特点

     (1)可移植性强

     (2)支持多用户以及高并发事务

     (3)具有高度可扩展能力,提高大规模数据的处理能力

     (3)安全性能优越

     (5)支持多种标准操作接口以及编程规范

     

    Oracle 数据库体系结构

    Oracle 数据库具有复杂的体系结构,包括数据库实例和数据库文件两大组成部分。其中数据库实例包括内存结构和各种后台进程;数据库文件包括数据文件、控制文件以及重做日志文件等多种文件类型

     

    数据库实例

    数据库实例内存结构包括

    (一)SGA(系统全局区):由所有服务器进程和后台进程共享。SGA 各个主要组成部分如下

            (1)数据高速缓存:缓存频繁访问的数据,提高数据读写效率

            (2)重做日志缓存:缓存重做日志,通过批量写入磁盘的方式提高重做日志的保存效率

            (3)共享池:缓存已执行的SQL语句的编译方案和执行计划

            (4)大型池:缓存大型 I/O 数据的可选区域,支持并行查询、数据备份以及恢复操作

            (5)Java 池:内嵌的 Java 存储过程或其他 Java 程序运行时需要的内存

            (6)流池:缓存流进程在数据库间移动或复制数据时使用的队列消息,采用队列结构存储

    (二)PGA(程序全局区):由各个服务器进程和后台进程专用

            (1)排序区:存放排序操作所产生的临时数据

            (2)会话区:存放用户会话所具有的角色、权限以及性能统计

                   (3)游标区:存放执行游标操作时产生的数据​

                   (4)堆栈区:存放用户会话过程产生的程序变量和会话变量数据

    数据库实例后台进程:数据库服务器接受用户请求后,会调用相关后台进程进行数据库操作。包括 DBWR,LGWR 等等

            (1)DBWR:数据库写入进程,负责把数据高速缓存中的被修改的数据写入磁盘文件,从而保证数据高速缓存中有足                                         够的空闲空间 

            (2)LGWR:重做日志写入进程,把重做日志缓存中的日志内容写入联机的重做日志文件中,从而释放重做日志缓存                                         空间

            (3)RECO:分布式事务恢复进程,可以用于自动解决分布式数据库环境中出现的事务故障

            (4)CKRT:检查点进程,用于执行数据库检查点事件,触发 DBWR 和 LGWR 进程保存数据,可以维护数据库的一                                        致性状态

            (5)SMON:系统监控进程,负责在实例启动时对数据库进行恢复,并用于清理不再使用的临时空间

            (6)PMON:进程监控进程,在用户进程出现故障时执行进程恢复,并负责清理内存储区和释放该进程所使用的资源

            (7)ARCH:日志归档进程,用于将写满的在线日志文件复制到指定的存储位置,实现重做日志文件的在线备份

            (8)LCKn:锁进程,用于实例间的封锁,在具有并行服务器选项环境下使用,可最多建立 10 个进程

     

    数据库文件

    用于实际保存各类数据,实际上构成数据库的物理结构

    (1)数据文件:存储数据库的所有数据

    (2)控制文件:用户记录数据库的物理存储结构信息

    (3)重做日志文件:保存用户对数据库的操作记录

    (4)归档日志文件:保存已写满的重做日志文件,是历史重做日志文件的备份

    (5)参数文件:保存数据库启动时需要的初始化参数值

    (6)备份文件:进行数据库备份操作时产生的文件

    (7)其他文件:包括跟踪文件、口令文件和警告文件等

     

     

     

     

     

    展开全文
  • Oracle数据库同步---流复制实现数据库之间的同步 Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。Oracle Stream利用高级队列技术,通过解析归档...

    Oracle数据库同步---流复制实现数据库之间的同步

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

    一、步骤

    -以下均为源和目标数据库的sys用户执行的操作:

    1、将源和目标数据库设置为归档模式

    2、启动源和目标全局数据库名,并设置全局数据库名

    3、创建源和目标的stream管理员表空间、用户、并授权

    4、创建logmnr表空间,并将logminer的数据字典转移到新建的表空间

    5、创建测试用户

    以下为stream管理员在源数据库上的操作:

    6、stream管理员创建数据库链接

    7、创建Master流队伍

    8、创建捕获进程

    10、创建传播进程

    11、修改propagation休眠时间为0,表示实时传播LCR

    以下为stream管理员在目标数据库上的操作:

    9、实例化复制数据库应当在目标库上完成

    12、创建backup流队列

    13、创建应用进程

    14、启动应用进程

    15、启动捕获进程。

    二、详细步骤

    以下以system as sysdba身份登录

    查看是否归档模式的SQL语句

    select log_mode from v$database;

    初始化数据库参数

    alter system set global_names=true scope=both;

    alter system set undo_retention=3600 scope=both;

    alter system set job_queue_processes=4 scope=both;

    alter system set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' scope=spfile;

    alter system set Open_links=4 scope=spfile;

    alter system set Aq_tm_processes =4;

    创建流管理用户的表空间,数据文件,用户授权

    create tablespace stream_admin datafile 'C:\app\Administrator\oradata\source\stream_admin01.dbf' size 512M;

    create user stream_admin identified by stream_admin default tablespace stream_admin;

    grant dba to stream_admin;

    grant create session to stream_admin;

    grant aq_administrator_role to stream_admin;

    grant unlimited tablespace to stream_admin;*/

    流管理用户的授权

    BEGIN

    DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(

    grantee=>'stream_admin',

    grant_privileges=>true);

    END;

    创建流用户的表空间,数据文件,用户授权

    create tablespace stream datafile 'C:\app\Administrator\oradata\source\stream01.dbf' size 1G;

    create user stream identified by stream default tablespace stream;

    grant resource to stream;

    grant create session to stream;

    grant unlimited tablespace to stream;*/

    以下是以流管理用户身份登录源数据库

    创建流队列

    begin

    dbms_streams_adm.set_up_queue(

    queue_table => 'stream_admin.stream_source_queue_table',

    queue_name => 'stream_admin.stream_source_queue');

    end;

    创建dblink

    create database link target.net connect to stream_admin identified by stream_admin using 'target';

    查看dblink

    select sysdate from v$database@target.net;

    创建捕获进程

    begin

    dbms_streams_adm.add_schema_rules(

    schema_name => 'stream',

    streams_type => 'capture',

    streams_name => 'stream_source_capture',

    queue_name => 'stream_admin.stream_source_queue',

    include_dml => true,

    include_ddl => true,

    include_tagged_lcr => false,

    source_database => 'source.net',

    inclusion_rule => true);

    end;

    创建传播作业

    begin

    DBMS_STREAMS_ADM.ADD_SCHEMA_PROPAGATION_RULES(

    schema_name => 'stream',

    streams_name => 'stream_source_propagation',

    source_queue_name => 'stream_admin.stream_source_queue',

    destination_queue_name => 'stream_admin.stream_target_queue@target.net', ----目标数据上的队列名称

    include_dml => true,

    include_ddl => true,

    include_tagged_lcr => false,

    source_database => 'source.net',

    inclusion_rule => true);

    END;

    实例化SCN

    CREATE OR REPLACE PROCEDURE INIT_SCN

    IS

    v_scn number(30);

    BEGIN

    v_scn:=dbms_flashback.get_system_change_number();

    dbms_apply_adm.set_schema_instantiation_scn@target(

    source_schema_name =>'stream',

    source_database_name =>'source',

    instantiation_scn =>v_scn,

    recursive=>true );

    END INIT_SCN;

    启动 Capture捕获进程

    begin

    dbms_capture_adm.start_capture(

    capture_name => 'stream_source_capture');

    end;

    以下是以流管理用户身份登录目标数据库

    创建dblink

    create database link source.net connect to stream_admin identified by stream_admin using 'source';

    查看dblink

    select sysdate from v$database@source.net;

    创建流队列

    begin

    dbms_streams_adm.set_up_queue(

    queue_table => 'streamadmin.stream_target_queue_table',

    queue_name => 'streamadmin.stream_target_queue');

    end;

    创建应用作业

    begin

    dbms_streams_adm.add_schema_rules(

    schema_name => 'stream',

    streams_type => 'apply',

    streams_name => 'stream_ target _apply',

    queue_name => 'stream_admin.stream_target_queue',

    include_dml => true,

    include_ddl => true,

    include_tagged_lcr => false,

    source_database => 'target.net',

    inclusion_rule => true);

    end;

    启动 Apply应用进程

    begin

    dbms_apply_adm.start_apply(

    apply_name => 'stream_ target _apply');

    end;

    三、常用SQL

    查询用户

    select * from dba_users;

    select * from user$ where name='STREAMADMIN';

    删除用户

    drop user stream_admin;

    select username from dba_users;

    查询表空间

    select * from dba_tablespaces;

    删除表空间

    drop tablespace stream_admin;

    查询队列

    select * from dba_queues;

    查询属于某个用户下的队列

    select * from dba_queues where owner='STREAMADMIN';

    查询应用进程

    select * from dba_apply;

    察看Appy进程是否运行正常

    SELECT apply_name, apply_captured, status FROM dba_apply;

    select * from dba_apply_object_dependencies;

    查询

    select * from link$ where name='TARGET.NET';

    512M;

    展开全文
  • Oracle Sreams 流复制技术是一种数据库复制技术。利用数据流可实现数据库 之间或数据库内部的数据和事件的共享。Oracle Streams 是提高数据库可用性, 构建灾难备份系统以及实现数据库分布的理想的技术解决方案。...
  • SharePlex® 是业界最成熟的高性能/高可用性数据复制解决方案。具有网络占用少、配置灵活、准实时复制等特点,可以... 通过Redo Log俘获数据变化用户对数据对象的更新,一旦写入Oracle日志,就可被SharePlex的俘获机

    SharePlex® 是业界最成熟的高性能/高可用性数据复制解决方案。具有网络占用少、配置灵活、准实时复制等特点,可以解决关键应用的多种可用性问题。推出五年来,该产品技术已经被世界各地大量的用户成功实施,成为企业应用底层最成熟、最领先的高可用性数据复制解决方案。

    l??????? 通过Redo Log俘获数据变化

    用户对数据对象的更新,一旦写入Oracle日志,就可被SharePlex的俘获机制快速捕捉,即使该事务可能尚未执行。SharePlex实现了复制速度和数据准确性的完美统一。它完全遵从读一致性原则,目标例程是源数据库的精确展现。没有任何其它逻辑复制方案可以不等待事务执行完毕就开始数据复制。

    l??????? 网络占用少

    SharePlex 不通过Oracle 引擎俘获数据变化,而是直接读取和分析Oracle 日志,找出需复制的内容。SharePlex 只复制数据变化,降低了带宽占用。通过持续低负荷的数据流, SharePlex 能将大量的数据复制到目标系统,降低了网络带宽需求

    l???????

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    SharePlex 组合方案

    SharePlex 是唯一能够满足24X7严格高可用需求的复制方案。SharePlex 的事务级复制可与热备份(hot backup)的物理刷新相结合,实现生产系统不停机数据同步,这是SharePlex for Oracle标准配置中的专利技术

    l??????? 广泛的异构环境支持

    SharePlex 支持多平台上大多数的Oracle版本,而且是目前唯一支持RAC OPS 在线redo log的复制方案。SharePlex for RAC/OPS 既是SharePlex for Oracle的集群选项,也是针对Oracle集群技术的独立产品。SharePlex 支持多种数据类型,包括BLOB CLOBLONG RAWLONG 和用户定义类型,并支持不同数据库版本间的互操作性。这意味着用户可以从Oracle 7.3.4 复制数据到 AIX上的RAC 9.2,反之亦然

    ??? Oracle利用redo log记录数据的变化和更新,SharePlex 俘获进程则监控redo log,以捕捉复制目标的这种变化,更新信息通过源系统和目标系统上的SharePlex 队列来传递,可不受数据库版本、操作系统及硬件平台类型影响。若复制失败,SharePlex 既可将事务记录到队列中延时执行,也可配合archive log作必要的处理。更新信息发送到目标系统后,立刻被提交进程接管,以生成SQL语句的方式,在目标系统中完成对源系统的复制。

    ? 其最大的特点,就是2边的主机数据库都是启动的,可以同时工作,确保了备份容灾数据库的可靠性。而且复制数据量少,对网络消耗很低。支持异构硬件,软件环境,兼容不通版本数据库。

    ?

    展开全文
  • Oracle11g复制数据库

    2018-10-10 11:40:36
    oracle11g数据库,如何复制数据库。详细解说。RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库。分别进行测试
  • oracle导出步骤: 1、点击“开始”--“运行”--输入“cmd” 回车 2、输入“exp” 回车 3、输入“xxx/yyy@xlpt239” 回车 //这里xxx为要导出数据库的用户名,yyy为要导出数据库的用户密码,xlp239为该数据库的...

    oracle导出步骤:
      1、点击“开始”--“运行”--输入“cmd” 回车
     2、输入“exp” 回车
     3、输入“xxx/yyy@xlpt239” 回车  //这里xxx为要导出数据库的用户名,yyy为要导出数据库的用户密码,xlp239为该数据库的连接字符串
     4、输入“e:/database.dmp” 回车,注意:这里是把导出的数据库放在e盘,取名为database.dmp。
     5、一直回车,到要求输入用户名:输“test” 回车,注意:test为刚刚创建的数据库用户名。
     6、回车,开始导出数据。


    oracle导入步骤:
     1、点击“开始”--“运行”--输入“cmd” 回车
     2、输入“imp” 回车
     3、输入“test1/pwd@xlpt238” 回车,注意:test1为238数据库中的用户名。
     4、输入“e:/database.dmp” 回车,注意:这里指要导入数据库的文件路径及文件名。
     5、一直回车,到要求输入用户名:输“test” 回车,注意:test为该数据库文件的前用户名,即此数据库导出时的用户。
     6、回车,开始导入数据。

    快速清空表内容:truncate  table xxxx     /    truncate table user.xxxx     注:user为数据库的用户,就是清空user用户的xxxx表内容。

    复制一个表中的数据到另外一个表:create table yyy as select * from uuu。即把uuu表中的数据复制到yyy中。

    同样可以复制到同服务器上的oracle中的其他用户里(用user为例):create table user.yyy as select * from uuu

    创建用户代码:

     string sql = "create user " + usename + " identified by " +pwd+"  default tablespace users Temporary TABLESPACE USERS";   //创建

    string sql2 = "grant connect,resource,dba to "+usename;//授权

    删除用户:

    string sql = "drop user "+usename+"  cascade";

    展开全文
  • Oracle 数据库体系结构

    2018-11-17 15:52:03
    数据库与实例 数据库存储结构 数据库实例结构 应用及网络体系结构 文章翻译源于 Oracle Database Database Concepts, 18c。 数据库服务器是现代信息系统中的一个关键组件。
  • Oracle数据库10g-网格数据库;网格的理念;网格即将流行;问题当前的 IT 基础架构;网格与商业计算;Oracle 10g 网格计算;Oracle 存储网格;自动存储管理;Oracle 数据库网格;集成的集群件;静态分配 CPU;基于策略的 CPU ...
  • Oracle数据库入门(使用参考)

    千次阅读 2021-03-06 22:54:01
    Oracle数据库入门(使用参考) 零、简介 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上...
  • Oracle数据库深入学习

    万次阅读 多人点赞 2019-01-03 22:52:43
    oracle数据可系统是美国oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器或B/S体系结构的数据库之一,oracle数据库时目前世界上使用最为广泛的数据库管理系统,作为一个...
  • oracle数据库使用

    千次阅读 2019-12-05 20:45:45
    当我们安装完oracle数据库之后,我们会想着用可视化工具连接,navicat是我们常用的可视化连接数据库的工具,先把相应的服务启动 保证这两个服务是启动状态的,没有启动的话就手动启动一下 找到\app\...
  • ORACLE流复制

    千次阅读 2009-05-11 10:49:00
    ORACLE流复制 Author: Rainny Date:2009-5-3 ORACLE流复制(Stream Replication)是9I以后推出的,在银行,电信等大型系统中...原因如下: (1)相当于实体化视图和高级复制,流复制对于PRIMARY数据库性能的影响更小 (2)流复
  • Oracle数据库的基础使用

    万次阅读 多人点赞 2016-11-10 16:37:30
    oracle数据库的基础使用
  • ORACLE数据库基本概念

    2019-07-29 14:37:47
    ORACLE数据库基本概念 Sqlplus登录方法 ➢系统用户登录: sqlplus username/password@serviceName as sysdba ➢普通用户登录: sqlplus username/password@serviceName SQLPlus下的常用命令 数据库启动的三个...
  • 不同Oracle数据库之间的数据同步

    万次阅读 2017-04-19 15:09:02
    Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的...
  • Oracle流复制

    2015-01-20 21:03:28
    流复制(Stream replication)只是基于它的一个数据共享技术,也可以被用作一个可灵活定制的高可用性方案。 它可以实现两个数据库之间数据库级,schema级,Table级的数据同步,并且这种同步可以是双向的。 Or
  • Oracle流复制技术的应用.pdf
  • 1.2 Oracle数据库特性

    千次阅读 2017-03-09 12:48:40
    1.2 Oracle数据库特性 1、性能和可伸缩性概述  1.1、并发  管理数据并发的办法是让每个用户轮流操作数据。  应用程序开发人员应该在设计事务时充分发挥其中的并发、完整性等特性。  1.2、读完整性 [连贯性,...
  • ORACLE数据库简介

    2008-04-21 19:33:00
    ORACLE 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。 二、特点 1、ORACLE7.X...
  • Oracle数据库的介绍(部分)

    千次阅读 2008-04-10 20:15:00
    1 Oracle数据库的介绍这章内容提供了Oracle数据库服务器的概述。这个主题包括:l Oracle 数据库体系机构l Oracle 数据库特征l Oracle 数据库应用开发Oracle 数据库体系机构Oracle数据库被视为一个单元,是数据的...
  • Oracle数据库基础知识

    千次阅读 2015-01-07 16:12:33
    Oracle基础知识
  • JDBC连接Oracle数据库步骤

    千次阅读 2018-10-23 23:27:02
    1,数据库建立表(此处省略) 2,将数据库连接的Jar包导入项目的lib包中 3,创建编写db.properties配置文件 ...drivername=oracle.jdbc.driver.OracleDriver //(驱动名,直接复制) url=jdbc:...
  • Oracle数据库健康检查

    千次阅读 2009-06-09 19:25:00
    Oracle数据库健康检查一、概述随着企业信息化建设不断发展和壮大,业务支撑系统的数据,成为企业的决策分析,指导企业发展的核心命脉。数据所依赖的数据库系统的健康、高可用运行,是企业正常运营的基础保证,因此...
  • 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 数据库管理系统(dbms)  1.4 关系数据库的概念(rdbms)  1.4.1 关系数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,071
精华内容 13,628
热门标签
关键字:

oracle数据库流复制