cancel
Showing results for 
Search instead for 
Did you mean: 

关于DB(Oracle) 抽取数据的问题

Former Member
0 Kudos

大家好:

不知道大家有没有遇到过我通过DB抽取数据,应为数据量非常大大概有上亿条数据的样子,我们是通过view做的数据源。我已经通过infopackage 把数量限制在一个月大小的数据量,通过漫长的数据抽取还是能够进行数据抽取。但是问题发生在某一天的晚上,DB数据库貌视发生了错误,导致我们BW的数据访问在 11点20分无法访问到DB数据库,第二天我在BW服务器里面去检查数据上载的情况,发现:

情况1、如果是在DB数据库发生问题时刻之前的数据上载没有发生问题DTP 也很正常的进入到了DSO。

情况2、如果是数据量稍微大一点的数据,当执行infopackage数据上载的过程中DB数据库无法访问了,而且后续进程如果是DTP的话,我发现DTP是自动会继续进行的,不会报错,而且infopackage 上载了多少条DB的数据,DTP就能够把那些数据都正常的上载到BW DSO

情况3、如果是处理链中后续的操作也同样是 infopackage uploading DB 的话,那么就会报错,说无法访问到DB数据库,然后整条链都会断掉,最后的DTP也不会执行。

我的问题1是;这样的机制是否是SAP标准的处理方式么?如果是以后我在上载数据的过程中同样遇到了这样的问题怎么办呢?应为涉及到的数据量非常大,系统性能也会受到很大的影响。还有就是我无法定位BW从DB里面抽取到了那一条数据,我如果要重新抽取的话那么是相当耗时的工作。

问题2 ,还有是不是基于DB的数据源做的 infopackage 是不是无法通过前台的 immediately 的方式来执行 infopackage 呢? 还是系统的原因? 我在前台 直接点击immediately 的方式执行 的时候 当前的屏幕就 锁死在那里了,但是通过新登录的方式进入系统 还是能在 SM50里面发现 我执行的进程,说明 还是能够执行,但是一直是锁死的状态。我想问问这个是 系统的 bug 还是 SAP 就是这样的,用 DB connect 的时候 无法自动的跳转到 monitor 的界面。

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi,

"问题2 ,还有是不是基于DB的数据源做的 infopackage 是不是无法通过前台的 immediately"

当然可以的. 数据量大,一般情况下定义background job去执行. 使用前台进程去执行,可能会超时,屏幕锁死等. 你也可以设置超时时间.

";这样的机制是否是SAP标准的处理方式么?如果是以后我在上载数据的过程中同样遇到了这样的问题怎么办呢?"

你的这种情况,应该从下面几个方面考虑:

1, oracle view.

view作为bw datasource, view本身的性能, 也就是SQL优化. 比如你的view里面关联几个table等.

2,定义合适的psa数据包大小,调整ods激活进程数等参数.

3,检查"DB数据库无法访问"日志.

4, 使用delta更新.

5.优化你的模型和ETL处理流程.

从根本上解决问题.

thanks,

xwu.

Edited by: xwu wu on Sep 18, 2009 7:45 AM

Answers (1)

Answers (1)

Former Member
0 Kudos

第三方数据源的连接存在很多影响性能的因素,比如对方数据库的性能,view的写法(有时SQL中调一句话就能天翻地覆的改进),BW本身DBconnect的特性等等。

建议你用专业的ETL工具进行3rd数据源的数据抽取,再连接BW进行抽取。