当前位置:  数据库>oracle
本页文章导读:
    ▪SQLPlus 在连接时通常有四种方式 - 与时俱进      1. sqlplus / as sysdba    操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入    sqlplus,然后通过s.........
    ▪3、使用Oracle Logminer同步Demo - shishanyuan      使用Oracle Logminer同步Demo1 Demo介绍1.1 Demo设想前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用LogMiner进行数据同步,实现从源目标数据库到目标数据.........
    ▪2、Oracle Logminer性能测试 - shishanyuan      Oracle Logminer性能测试1 测试介绍1.1 测试目的通过模拟不同环境下LogMiner解析联机/归档日志文件运行情况,通过测试所获取的数据分析,通过对以下两点的验证来确定通过LogMiner技术技术可行性.........

[1]SQLPlus 在连接时通常有四种方式 - 与时俱进
    来源:    发布时间: 2013-10-29
1. sqlplus / as sysdba
    操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入
    sqlplus,然后通过startup命令来启动。
2. sqlplus username/password
    连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。
3. sqlplus usernaem/password@orcl
    通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下 
  a. 查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME  
  b. 查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name  
  c. 如果服务器listener进程没有问题的话,建立与listener进程的连接。  
  d. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端
            就连接上了数据库的server process。
  e. 这时连接已经建立,可以操作数据库了。
4.sqlplus username/password@//host:port/sid
  用sqlplus远程连接oracle命令(例:sqlplus risenet/1@//192.168.130.99:1521/risenet)

本文链接:http://www.cnblogs.com/top5/p/3143554.html,转载请注明。


    
[2]3、使用Oracle Logminer同步Demo - shishanyuan
    来源:    发布时间: 2013-10-29
使用Oracle Logminer同步Demo

1 Demo介绍

1.1 Demo设想

前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用LogMiner进行数据同步,实现从源目标数据库到目标数据库之间的数据同步。由于LogMiner支持的版本是8.1及以上,所以进行数据同步的Oracle数据库版本也必须是8.1及以上。

当然在本文中介绍的是LogMiner进行数据同步例子,也可以利用LogMiner进行数据审计、数据操作追踪等功能,由于这些从操作原理来说是一致,在本文不做讨论。

1.2 框架图

1.3 流程图

l 配置阶段

1、 控制端:指定源端、目标端数据库信息、LOGMINER同步时间等配置信息;

l 获取源端同步数据

2、 控制台:通过定时轮询的方式检测是否到达数据同步时间,如果是则进行数据同步,否则继续进行轮询;

3、 源数据库:定时加载数据库归档日志文件到动态表v$logmnr_contents中;

4、 源数据库:根据条件读取指定sql语句;

l 目标端数据入库

5、 源数据库:执行sql语句。

2 代码分析

2.1 目录及环境配置

在该Demo项目中需要引入Oracle JDBC驱动包,具体项目分为四个类:

1. Start.java:程序入口方法;

2. SyncTask.java:数据同步Demo核心,生成字典文件和读取日志文件、目标数据库执行SQL语句等;

3. DataBase.java:数据库操作基础类;

4. Constants.java:源数据库、目标数据库配置、字典文件和归档文件路径。

2.2 代码分析

2.2.1 Constants.java

在该类中设置了数据同步开始SCN号、源数据库配置、目标数据库配置以及字典文件/日志文件路径。需要注意的是在源数据库配置中有两个用户:一个是调用LogMiner用户,该用户需要拥有dbms_logmnr、dbms_logmnr_d两个过程权限,在该Demo中该用为为sync;另外一个为LogMiner读取该用户操作SQL语句,在该Demo中该用为为LOGMINER。

package com.constants;

/**
* [Constants]|描述:Logminer配置参数
* @作者: ***
* @日期: 2013-1-15 下午01:53:57
* @修改历史:
*/
public class Constants {

/** 上次数据同步最后SCN号 */
public static String LAST_SCN = "0";

/** 源数据库配置 */
public static String DATABASE_DRIVER="oracle.jdbc.driver.OracleDriver";
public static String SOURCE_DATABASE_URL="jdbc:oracle:thin:@127.0.0.1:1521:practice";
public static String SOURCE_DATABASE_USERNAME="sync";
public static String SOURCE_DATABASE_PASSWORD="sync";
public static String SOURCE_CLIENT_USERNAME = "LOGMINER";

/** 目标数据库配置 */
public static String SOURCE_TARGET_URL="jdbc:oracle:thin:@127.0.0.1:1521:target";
public static String SOURCE_TARGET_USERNAME="target";
public static String SOURCE_TARGET_PASSWORD="target";

/** 日志文件路径 */
public static String LOG_PATH = "D:\\oracle\\oradata\\practice";

/** 数据字典路径 */
public static String DATA_DICTIONARY = "D:\\oracle\\oradata\\practice\\LOGMNR";
}

2.2.2 SyncTask.java

在该类中有两个方法,第一个方法为createDictionary,作用为生成数据字典文件,另外一个是startLogmur,该方法是LogMiner分析同步方法。

/**
* <p>方法名称: createDictionary|描述: 调用logminer生成数据字典文件</p>
* @param sourceConn 源数据库连接
* @throws Exception 异常信息
*/
public void createDictionary(Connection sourceConn) throws Exception{
String createDictSql = "BEGIN dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'"+Constants.DATA_DICTIONARY+"'); END;";
CallableStatement callableStatement = sourceConn.prepareCall(createDictSql);
callableStatement.execute();
}

 

/**
* <p>方法名称: startLogmur|描述:启动logminer分析 </p>
* @throws Exception
*/
public void startLogmur() throws Exception{

Connection sourceConn = null;
Connection targetConn = null;
try {
ResultSet resultSet = null;

// 获取源数据库连接
sourceConn = DataBase.getSourceDataBase();
Statement statement = sourceConn.createStatement();

// 添加所有日志文件,本代码仅分析联机日志
StringBuffer sbSQL = new StringBuffer();
sbSQL.append(
    
[3]2、Oracle Logminer性能测试 - shishanyuan
    来源:    发布时间: 2013-10-29
Oracle Logminer性能测试

1 测试介绍

1.1 测试目的

通过模拟不同环境下LogMiner解析联机/归档日志文件运行情况,通过测试所获取的数据分析,通过对以下两点的验证来确定通过LogMiner技术技术可行性:

1、在日志文件不同大小、不同数据压力情况下对数据库服务器内存、CPU的影响;

2、并通过查询LogMiner的动态表和实际物理表中数据数目是否一致,验证其准确性。

1.2 测试环境

用途及说明

硬件配置

软件配置

其它说明

数据库服务器

型号:T420i

处理器:Intel(R)core(TM) i5 CPU M430

主频:2.2G

内存:2G

硬盘:300G

操作系统:WindowXP

数据库及版本:Oracle10.2g

IP地址:10.88.54.83

 

测试机

型号:T420i

处理器:Intel(R)core(TM) i5 CPU M430

主频:2.2GHz

内存:1.8 GB

显示器:1280*800 宽屏

操作系统:windows xp

浏览器及版本:ie8

 

1.3 测试方案

1.3.1 性能影响(针对目标一)

为了模拟实际运行环境,加入了Logminer运行背景环境,分别测试数据库在无操作、300个插入/秒操作、500个插入/秒操作情况下运行情况,并且对比日志文件50M、100M大小下运行情况

1.3.2 准确性(针对目标二)

1、数据类型

序号

数据类型

是否支持

问题处理

1

BINARY_DOUBLE

8.1及以上

 

2

BINARY_FLOAT

8.1及以上

 

3

CHAR

8.1及以上

 

4

DATE

8.1及以上

需设置时间格式,否则只能同步日期

alter system set nls_date_format='yyyy-MM-dd HH24:mi:ss' scope=spfile;

5

INTERVAL DAY

8.1及以上

 

6

INTERVAL YEAR

8.1及以上

 

7

NUMBER

8.1及以上

 

8

NVARCHAR2

8.1及以上

 

9

RAW

8.1及以上

 

10

TIMESTAMP

8.1及以上

 

11

TIMESTAMP

WITH LOCAL

TIME ZONE

8.1及以上

 

12

VARCHAR2

8.1及以上

 

13

LONG

9.2及以上

 

14

CLOB

10.1及以上

需要设置如下:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

插入时分为两条语句,另外插入二进制数据未进行测试

15

BLOB

10.0及以上

2、DDL语句测试(未测试完毕)

序号

类型

是否支持

1

创建表(Create table)

支持

2

删除表(Drop table)

支持,出现两个语句,首先修改表名为临时表名,然后删除该临时表

监控该类型需要进行合并处理

3

创建作业(Create job)

不支持

4

创建序列(Create sequence)

支持

5

创建存储过程(Create pocedure)

支持

6

增加字段(alter table TABLE add column)

支持

7

删除字段(alter table emp drop column)

支持

8

修改字段(alter table emp modify column)

支持

9

修改列名(alter table rename column)

支持

10

修改表名(rename emp to TABLE)

支持

11

清除表数据(truncate table TABLE)

支持

12

删除表(drop table TABLE)

支持

13

恢复被删除的表(Flashback table TABLE to before drop)

支持

14

NOT NULL约束(alter table TABLE modify COLUMN not null)

支持

15

UNIQUE约束

支持

16

PRIMARY KEY约束

支持

17

FOREIGN KEY 约束

支持

18

CKECK 约束

支持

19

禁用/激活约束

支持

20

删除约束

支持

21

创建不唯一索引

支持

22

创建唯一索引

支持

23

创建位图索引

支持

24

创建反序索引

支持

25

创建函数索引

支持

26

修改索引

支持

27

合并索引

支持

28

重建索引

支持

29

删除索引

支持

30

创建视图(CREATE VIEW)

支持

31

修改视图(CREATE OR REPLACE VIEW)

支持

32

删除视图(DROP VIEW)

支持

33

创建序列(CREATE SEQUENCE)

支持

34

修改序列(ALTER SEQUENCE)

支持

35

删除序列(DROP SEQUENCE)

支持

3、其他问题测试

序号

问题

现象及处理方式


    
最新技术文章:
▪current online redo log缺失后的恢复
▪ORA-600 2662错误解决实例
▪ORA-00600 2662错误解决方法
▪Oracle Hidden Parameter:_allow_resetlogs_corruption
▪Oracle诊断事件列表
▪Oracle 隐含参数 _disable_logging 详解
▪ORA-00600 [2662]错误解决过程
▪Oracle里常见的执行计划
▪Oracle里另外一些典型的执行计划
▪Oracle服务器自动备份
▪Oracle固定SQL的执行计划(一)---SQL Profile
▪Oracle固定SQL的执行计划(二)---SPM
▪同一环境下新建Standby RAC库
▪Oracle快速克隆安装
▪Oracle单实例启动多个实例
▪Oracle的PLSQL别名中文出现乱码解决方法
▪ORA-00379: no free buffers available in buffer pool DEFAULT ...
▪RMAN-06023: no backup or copy of datafile 16 found to restor...
▪RMAN还原数据库报错问题解决案例
▪OEL6.8_X86平台部署Oracle 10gR2检测失败问题
▪Oracle 性能优化建议
▪Oracle SQL语句优化心得
▪Oracle慢SQL监控脚本实现
▪Oracle dblink 查询 tns:无法解析指定的连接标识...
▪Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结...
▪Linux6.6及以上版本配置Oracle ASM共享储存-UDEV
▪Oracle 12C 开启数据库归档模式
▪Solairs系统中配置Oracle 12c 开机启动
▪重建DBMS_STATS解决ORA-31626 ORA-21633以及ORA-04063 ORA...
▪Oracle ASMM 与AMM之间相互切换
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3