Oracle通过LogMiner实现数据同步迁移_oracle

来源:脚本之家  责任编辑:小易  

oracle实例就是一些能支撑数据库运行的数据库程序。它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问。Oracle 用一个个实例来管理数据库访问。用户如果要存取数据库(也就是硬盘上的文件)里的数据,必须通过Oracle实例才能实现,不能直接读取硬盘上的文件。实际上,Oracle 实例就是平常所说的数据库服务(service)。在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC)。扩展资料oracle数据库的特点:1、完整的数据管理功能:1)数据的大量性2)数据的保存的持久性3)数据的共享性4)数据的可靠性2、完备关系的产品:1)信息准则-关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;2)保证访问的准则3)视图更新准则-只要形成视图的表中的数据变化了,相应的视图中的数据同时变化4)数据物理性和逻辑性独立准则3、分布式处理功能:ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。4、用ORACLE能轻松的实现数据仓库的操作。参考资料来源:百度百科—实例参考资料来源:百度百科—Oracle数据库www.zgxue.com防采集请勿采集本网。

写在前面

通过Oracle Net Configuration Assistant(oracle网络配置助手),配置本地网络服务名,从而实现连接oracle数据库 工具/原料 plsql win 8 方法/步骤 按Windows徽标键,进入开始界面,找到

最近在研究如何实现Oracle数据库之间的数据同步,网上的资料确实比较少。最好用的Oracle数据库同步工具是:GoldenGate ,而GoldenGate是要收费的。那么还有什么好的办法来同步Oracle的数据吗?没错,就是使用LogMiner来实现Oracle数据同步迁移。

分两种方法: 1、在命令窗口通过如下语句: desc 表名;2、用语句: select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from user_tab_cols where table_name='TEST';

实现过程

select*from table 什么条件都不加,就是查询所有数据 你非要加等于号的话 select*from table where 1=1

1.创建目录

字符串连接,相当于 mssql中的+ 比如: ‘abc’|'def' 结果为:'abcdef' 相当于 ‘abc’+'def'

在服务器上创建/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR目录来存储数据库的字典信息,如下所示。

ocm的考试只能oracle公司上海和北京,一次最多10人,每年1次,也就是说,ocm到现在也就5年,绝不多于100人。以前都只能香港考,更少了。含金量不可否认。哦 看样子搞错了 每个月一次。那么就会多

mkdir -p /home/oracle/tools/oracle11g/oradata/orcl/LOGMNR

2.配置LogMiner

以oracle用户身份登录服务器,并以DBA身份登录Oracle数据库,如下所示。

sqlplus /nologconn / as sysdba

接下来,创建字典文件夹配置,如下所示。

CREATE DIRECTORY utlfile AS '/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR';alter system set utl_file_dir='/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR' scope=spfile;

注意:由于utl_file_dir只存在于文件当中,所以scope是以文件方式"spfile"写入,而不是both。

3.开启日志追加模式

alter database add supplemental log data;

4.重启数据库

SHUTDOWN IMMEDIATE; STARTUP;

5.创建数据同步用户

创建数据同步用户,如果已经有可以跳过,直接赋予权限。

create user SYNC identified by SYNC; #如果存在用户,则不需要再次创建,直接授权即可GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;

6.创建数据字典

切换到要同步数据的用户,以DBA身份登录,创建数据字典文件,如下所示。

conn SYNC/SYNC@orcl as sysdba; EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR');

创建数据字典的命令也可以通过Java代码来实现,如果使用Java代码实现的话,首先可以通过JDBC连接到Oracle数据库,然后执行如下命令。

BEGINdbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR'); END;

7.加入需要分析的日志文件

此步骤可以在Oracle命令行执行,也可以使用Java代码实现。

使用SQL语句实现如下所示。

EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO01.LOG',options=>dbms_logmnr.NEW); EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO02.LOG',options=>dbms_logmnr.ADDFILE); EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO03.LOG',options=>dbms_logmnr.ADDFILE);

使用Java代码分析时,使用的SQL语句如下所示。

BEGIN dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO01.LOG',options=>dbms_logmnr.NEW); dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO02.LOG',options=>dbms_logmnr.ADDFILE); dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO03.LOG',options=>dbms_logmnr.ADDFILE); END;

8.查看正在使用的日志文件

SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORDER BY first_change#;

status为CURRENT的为当前正在使用的日志文件

9.使用Lominer分析日志

EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR/dictionary.ora');

使用Java代码分析时,使用的SQL语句如下所示。

BEGINdbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR/dictionary.ora'); END;

10.查看分析结果

SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='EMP' AND seg_owner='SYNC';

注意:视图v$logmnr_contents中的分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个会话的生命期中存在,如果要查看新的日志,需要再重新加入分析日志文件、使用LogMiner分析。

11.常见问题

(1)如果出现“必须声明标识符 'SYS.DBMS_LOGMNR'”异常,则需要在创建用户后,为用户赋予EXECUTE_CATALOG_ROLE权限,如下所示。

GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;

(2)当在查询v$logmnr_logs时提示“表或视图不存在”,是因为没有查询v$logmnr_logs的权限。此时在查询语句中需要为seg_owner指定相应的用户,例如,我这里使用SYNC用户通过LogMiner进行分析,则需要将seg_owner指定为SYNC用户,如下所示。

SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='EMP' AND seg_owner='SYNC';

以上就是Oracle通过LogMiner实现数据同步迁移的详细内容,更多关于Oracle数据同步迁移的资料请关注真格学网其它相关文章!

(+)就是连接譬如SELECT a.*,b.*from a(+)=b就是一个右连接,等同于select a.*,b.*from a right join bSELECT a.*,b.*from a=b(+)就是一个左连接,等同于select a.*,b.*from a left join b即"(+)"所在位置的另一侧为连接的方向,通常将全量集合与部分集合连接时,在部分集合的列后面带上(+),以达到没有匹配时,也要显示出一个null的效果内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • oracle 日志挖掘(logminer)使用详解
  • oracle logminer的使用实例代码
  • 理解和使用oracle 8i分析工具logminer
  • oracle数据迁移到db2数据库的实现方法(分享)
  • mysql数据迁移到oracle的正确方法
  • 直接拷贝数据文件实现oracle数据迁移
  • oracle数据库升级或数据迁移方法研究
  • oracle 数据库数据迁移解决方案
  • linux系统(x64)安装oracle11g完整安装图文教程另附基本操作
  • oracle批量插入数据的三种方式【推荐】
  • oracle日期函数简介
  • oracle计算时间差为毫秒的实现代码
  • oracle 合并查询 事务 sql函数小知识学习
  • oracle 11g数据库安装与卸载的方法图解
  • sqlplus登录\连接命令、sqlplus命令的使用大全
  • oracle表空间中空表统计方法示例介绍
  • 在命令行下进行oracle用户解锁的语句
  • oracle使用to_date查询一周的第一天日期
  • 如何通过oracle
  • 什么是oracle的实例
  • oracle中:=与=:的区别??
  • 如何通过oracle
  • 怎么通过命令查看oracle数据库
  • oracle怎么通过sql查看表的结构
  • 如何通过oracle
  • oracle中||是什么
  • 国内多少人通过oracle的OCM认证
  • oracle通过判断来进行查询
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页oracle 日志挖掘(logminer)使用详解oracle logminer的使用实例代码理解和使用oracle 8i分析工具logmineroracle数据迁移到db2数据库的实现方法(分享)mysql数据迁移到oracle的正确方法直接拷贝数据文件实现oracle数据迁移oracle数据库升级或数据迁移方法研究oracle 数据库数据迁移解决方案linux系统(x64)安装oracle11g完整安装图文教程另附基本操作oracle批量插入数据的三种方式【推荐】oracle日期函数简介oracle计算时间差为毫秒的实现代码oracle 合并查询 事务 sql函数小知识学习oracle 11g数据库安装与卸载的方法图解sqlplus登录\连接命令、sqlplus命令的使用大全oracle表空间中空表统计方法示例介绍在命令行下进行oracle用户解锁的语句oracle使用to_date查询一周的第一天日期oracle 查看表空间的大小及使用情linux系统(x64)安装oracle11g完oracle数据库下载及安装图文操作oracle存储过程基本语法介绍oracle 10g 安装教程[图文]oracle 如何查询被锁定表及如何解基于ora-12170 tns 连接超时解决oracle数据库tns配置方法详解oracle中to_date详细用法示例(ororacle 创建表空间详细介绍access2000迁移到oracle9i要点oracle的out参数实例详解oracle逗号分隔列转行实现方法如何解决ora-01843与nls_date_format问题oracle学习笔记(六)oracle 细粒度审计(fga)初步认识oracle 10g client 安装图解教程oracle9i的全文检索技术开发者网络oracleoracle 11g密码180天过期后的修改方法如何将oracle的一个大数据表快速迁移到 s
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved