oracle迁移性能对比,如何对比迁移前后的Oracle数据库性能

有越来越多的数据库都需要要迁移。如何衡量前后的数据库性能成了一个难点。本文使用AWR Compare Report来解决这个问题。

以下皆为测试库内容

环境描述

SID

DBID

OS

描述

finally

4033498616

windows 7 x64

假设为迁移后的数据库

zhadanren

97461353

Solaris Sparc 6 x64

假设为迁移前的数据库

过程

详细过程如下

导出snapshot数据

注意:

这里导出的snapshot最好包含业务最忙时的时间段,以便于更准确的衡量迁移前后的数据库性能。

相关sql:

create directory dpdir as '&dir_path' ;

@?/rdbms/admin/awrextr.sql

步骤:

1、创建directory

SQL> create directory dpdir as '/u01/dpdir' ;

Directory created.

2、执行相应的sql

SQL> @?/rdbms/admin/awrextr.sql

以下需要输入几个参数具体包括:

输入要导出snapshot的dbid,这里使用默认回车即可

Enter value for dbid:

snapshot的列表日期范围,默认只保留8天,可以全部列出,再具体找要导出的snapshot number。

Enter value for num_days:100

要导出的开始snapshot number

Enter value for begin_snap:271

要导出的截止snapshot number

Enter value for end_snap: 280

到导出文件的directory(其实awrextr.sql也是基于datapump的)

Enter value for directory_name: DPDIR

导出文件的名称

Enter value for file_name: zhadanren1026

然后就开始了导出过程。最后会在定义的directory下生成dump文件以及log日志。可以查看log日志,看是否正常导出。

Using the dump file prefix: zhadanren1026

|

| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| The AWR extract dump file will be located

| in the following directory/file:

| /u01/dpdir

| zhadanren1026.dmp

| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

|

| *** AWR Extract Started ...

|

| This operation will take a few moments. The

| progress of the AWR extract operation can be

| monitored in the following directory/file:

| /u01/dpdir

| zhadanren1026.log

|

End of AWR Extract

导入snapshot数据

相关SQL:

create directory dpdir as '&dir_path' ;

@?/rdbms/admin/awrload.sql

步骤:

1、创建directory(源库也是使用datapump的方式导入的)

sys@FINALLY>create directory dpdir as 'd:\apps\dpdir' ;

目录已创建。

2、然后将导出的dump文件上传到迁移后的数据库服务器相应的新创建的directory下。

3、执行相应的sql

sys@FINALLY>@?/rdbms/admin/awrload.sql

以下需要输入几个参数具体包括:

输入 directory_name 的值: DPDIR

这里注意不要包含文件后缀名。

输入 file_name 的值: zhadanren1026

这是临时使用schema,导入过程完成以后会自动删除。

输入 schema_name 的值: AWR_STAGE

临时schema 的 默认表空间

输入 default_tablespace 的值: SYSAUX

临时schema的默认临时表空间

输入 temporary_tablespace 的值: TEMP

然后就开始了导入过程。最后会在定义的directory下生成导入log日志。可以查看log日志,看是否正常导入。

... Creating AWR_STAGE user

|

| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| Loading the AWR data from the following

| directory/file:

| d:\apps\dpdir

| zhadanren1026.dmp

| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

|

| *** AWR Load Started ...

|

| This operation will take a few moments. The

| progress of the AWR load operation can be

| monitored in the following directory/file:

| d:\apps\dpdir

| zhadanren1026.log

|

... Dropping AWR_STAGE user

End of AWR Load

生成AWR Compare report

经过上面的步骤,源库的snapshot信息已经导入到迁移后的数据库finally中了,下面我们可以使用AWR Compare report来衡量迁移前后的数据库性能。

相关sql:

查看snapshotSQL

select t.dbid, t.snap_id, to_char(begin_interval_time, 'yyyymmddhh24miss') begin_time, to_char(end_interval_time, 'yyyymmddhh24miss') end_time from DBA_HIST_SNAPSHOT t order by 1, 4 desc;

生成报告SQL

spool awr_compare_report.html

set echo off;

set veri off;

set feedback off;

set head off set verify off set lines 8000 select * from TABLE(DBMS_WORKLOAD_REPOSITORY.awr_diff_report_html(4033498616,1,315,316, 97461353,1,80,81));

spool off

步骤

1、 先找到迁移前数据库snapshot业务忙的时段相应的 snapshot id。

比如我们选择2016.10.26 7点到8点这个时间段。那么相应的snap_id起始为279截止为280。

select t.dbid, t.snap_id, to_char(begin_interval_time, 'yyyymmddhh24miss') begin_time, to_char(end_interval_time, 'yyyymmddhh24miss') end_time from DBA_HIST_SNAPSHOT t where dbid=97461353 order by 1, 4 desc;

0818b9ca8b590ca3270a3433284dd417.png

2、 找到迁移后数据库snapshot业务忙的时段相应的 snapshot id。

需要有对比性,所以一般选择相同时段来作为比较。不一定要同一日期,但是至少要选择有代表性的时间段。迁移后的数据库7点到8点时间段的snap_id 起始为412,截止为413。

select t.dbid, t.snap_id, to_char(begin_interval_time, 'yyyymmddhh24miss') begin_time, to_char(end_interval_time, 'yyyymmddhh24miss') end_time from DBA_HIST_SNAPSHOT t where dbid=4033498616 order by 1, 4 desc;

0818b9ca8b590ca3270a3433284dd417.png

根据上面的信息我们就可以使用DBMS_WORKLOAD_REPOSITORY.awr_diff_report_html来生成compare report了。

spool awr_compare_report.html

set echo off;

set veri off;

set feedback off;

set head off

set verify off

set lines 8000

select * from TABLE(DBMS_WORKLOAD_REPOSITORY.awr_diff_report_html(

97461353,1,279,280, 4033498616,1,412,413));

spool off

示例内容如下:

物理配置对比

0818b9ca8b590ca3270a3433284dd417.png

负载对比这个比较重要,也是衡量迁移前后性能的重要指标(但是要谨慎选择好时间点,保证时间段内迁移前后数据库承载的业务量一致)

0818b9ca8b590ca3270a3433284dd417.png

report里面内容很多,还包括了初始化参数的对比等,大家自行生成以后可以多看看。具体指标内容这里不再详述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值