SAP与Oracle索引管理深度解析:从基础到实战问题

版权申诉
0 下载量 76 浏览量 更新于2024-07-16 收藏 2.14MB PPT 举报
在ERP信息化的专业领域,SAP系统中的Oracle Indexing是数据管理的关键组成部分,尤其是在BW (Business Warehouse) 2.x和3.x版本中。这个PPT文档详细探讨了索引在SAP BW中的应用、处理方法以及常见问题。 首先,文档概述了索引在SAP Portals 2002中的重要性,尤其是在BW星型架构中的应用。星型架构由事实表(Fact Table)、维度(Dimensions)和时间相关的及不相关的SID(System-Independent Dimension)组成,例如城市(City)、人口(Population)等。索引类型包括位图索引(Bitmap Index)、B-Tree索引(既有唯一索引也有非唯一索引)以及针对事务性Infocube的"P-index"。 在索引处理方面,文档介绍了几个关键工具和界面,如RSA1(报告服务)、RSRV(资源服务)、SE14(数据库查询)以及DB02(数据库管理器)。ABAP报告也被用于索引管理和查询优化。这些工具在创建索引时会被用到,例如为城市和人口这两个维度建立索引,以便快速查找特定数据。 然而,索引过程中可能会遇到一些问题,比如: 1. ORA-600[2008x]:这可能表示一个内部错误或故障。 2. ORA-28604:可能是与索引相关的错误,可能是由于索引结构损坏或配置不当导致的。 3. ORA-12801:可能涉及连接问题,可能与网络或资源冲突有关。 4. ORA-1418:通常表示试图对已经存在的索引执行操作,可能需要检查索引设置。 5. ORA-1408 – already indexed:表明索引已存在,避免重复创建。 6. ORA-60 – deadlock:索引操作可能导致并发控制问题,需要排查并发访问冲突。 7. OSS notes:文档还提到OSS(Oracle Support Services)笔记,这是获取官方解决办法和更新的重要资源。 在SAP Portals 2002的Part1中,具体讲解了如何为Infocube的星型模型建立索引,包括使用事实表(FactTable)和不同类型的索引策略。对于事务性Infocube,P-index被用来压缩、合并或减少数据存储需求,特别是针对那些包含大量线性维度的查询场景。 这个PPT文档深入剖析了SAP BW中的Oracle Indexing,包括索引创建、管理以及在实际操作中可能出现的问题和解决方案,为ERP专业人士提供了宝贵的参考资料。通过理解这些内容,用户可以更有效地优化查询性能,确保数据仓库系统的高效运行。

帮我解释一下错误:KeyError Traceback (most recent call last) File ~\anaconda3\lib\site-packages\pandas\core\indexes\base.py:3802, in Index.get_loc(self, key, method, tolerance) 3801 try: -> 3802 return self._engine.get_loc(casted_key) 3803 except KeyError as err: File ~\anaconda3\lib\site-packages\pandas\_libs\index.pyx:138, in pandas._libs.index.IndexEngine.get_loc() File ~\anaconda3\lib\site-packages\pandas\_libs\index.pyx:165, in pandas._libs.index.IndexEngine.get_loc() File pandas\_libs\hashtable_class_helper.pxi:5745, in pandas._libs.hashtable.PyObjectHashTable.get_item() File pandas\_libs\hashtable_class_helper.pxi:5753, in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'is_acc' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) Cell In[2], line 2 1 import statsmodels.api as sm ----> 2 y = data['is_acc'] 3 X = data[['ST_MP', 'Length', 'NLane', 'LaneWidth', 'LShoulderWidth', 'RShoulderWidth', 'AADT']] 4 X = sm.add_constant(X) File ~\anaconda3\lib\site-packages\pandas\core\frame.py:3807, in DataFrame.__getitem__(self, key) 3805 if self.columns.nlevels > 1: 3806 return self._getitem_multilevel(key) -> 3807 indexer = self.columns.get_loc(key) 3808 if is_integer(indexer): 3809 indexer = [indexer] File ~\anaconda3\lib\site-packages\pandas\core\indexes\base.py:3804, in Index.get_loc(self, key, method, tolerance) 3802 return self._engine.get_loc(casted_key) 3803 except KeyError as err: -> 3804 raise KeyError(key) from err 3805 except TypeError: 3806 # If we have a listlike key, _check_indexing_error will raise 3807 # InvalidIndexError. Otherwise we fall through and re-raise 3808 # the TypeError. 3809 self._check_indexing_error(key) KeyError: 'is_acc'In [ ]: ​

2023-06-01 上传

Traceback (most recent call last): File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexes\base.py", line 3081, in get_loc return self._engine.get_loc(casted_key) File "pandas\_libs\index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc File "pandas\_libs\index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc File "pandas\_libs\hashtable_class_helper.pxi", line 1625, in pandas._libs.hashtable.Int64HashTable.get_item File "pandas\_libs\hashtable_class_helper.pxi", line 1632, in pandas._libs.hashtable.Int64HashTable.get_item KeyError: 0 The above exception was the direct cause of the following exception: Traceback (most recent call last): File "D:\PyCharm\learning\1\BPmain.py", line 28, in <module> if test_output.loc[i, 0] == y_pred[i, 0]: File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexing.py", line 889, in __getitem__ return self._getitem_tuple(key) File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexing.py", line 1060, in _getitem_tuple return self._getitem_lowerdim(tup) File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexing.py", line 831, in _getitem_lowerdim return getattr(section, self.name)[new_key] File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexing.py", line 895, in __getitem__ return self._getitem_axis(maybe_callable, axis=axis) File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexing.py", line 1124, in _getitem_axis return self._get_label(key, axis=axis) File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexing.py", line 1073, in _get_label return self.obj.xs(label, axis=axis) File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\generic.py", line 3739, in xs loc = index.get_loc(key) File "D:\anaconda\envs\mytest\lib\site-packages\pandas\core\indexes\base.py", line 3083, in get_loc raise KeyError(key) from err KeyError: 0

2023-07-16 上传

Traceback (most recent call last): File "D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 3802, in get_loc return self._engine.get_loc(casted_key) File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc File "pandas\_libs\index.pyx", line 165, in pandas._libs.index.IndexEngine.get_loc File "pandas\_libs\hashtable_class_helper.pxi", line 5745, in pandas._libs.hashtable.PyObjectHashTable.get_item File "pandas\_libs\hashtable_class_helper.pxi", line 5753, in pandas._libs.hashtable.PyObjectHashTable.get_item KeyError: 'A' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "e:\Mydata\py\提取指定范围excel数据.py", line 7, in <module> data = df.loc[0:9, 'A':'B'] # 例如提取第1行到第10行,第1列到第3列的数据 File "D:\Anaconda\lib\site-packages\pandas\core\indexing.py", line 1067, in __getitem__ return self._getitem_tuple(key) File "D:\Anaconda\lib\site-packages\pandas\core\indexing.py", line 1256, in _getitem_tuple return self._getitem_tuple_same_dim(tup) File "D:\Anaconda\lib\site-packages\pandas\core\indexing.py", line 924, in _getitem_tuple_same_dim retval = getattr(retval, self.name)._getitem_axis(key, axis=i) File "D:\Anaconda\lib\site-packages\pandas\core\indexing.py", line 1290, in _getitem_axis return self._get_slice_axis(key, axis=axis) File "D:\Anaconda\lib\site-packages\pandas\core\indexing.py", line 1324, in _get_slice_axis indexer = labels.slice_indexer(slice_obj.start, slice_obj.stop, slice_obj.step) File "D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 6559, in slice_indexer start_slice, end_slice = self.slice_locs(start, end, step=step) File "D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 6767, in slice_locs start_slice = self.get_slice_bound(start, "left") File "D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 6686, in get_slice_bound raise err File "D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 6680, in get_slice_bound slc = self.get_loc(label) File "D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 3804, in get_loc raise KeyError(key) from err KeyError: 'A'

2023-07-16 上传

TypeError Traceback (most recent call last) D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 3628 try: -> 3629 return self._engine.get_loc(casted_key) 3630 except KeyError as err: D:\Anaconda\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() D:\Anaconda\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc() TypeError: '(slice(None, None, None), 0)' is an invalid key During handling of the above exception, another exception occurred: InvalidIndexError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_5316\790738290.py in <module> ----> 1 target=wine_data[:,0] 2 data=wine_data[:,1:] D:\Anaconda\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 3503 if self.columns.nlevels > 1: 3504 return self._getitem_multilevel(key) -> 3505 indexer = self.columns.get_loc(key) 3506 if is_integer(indexer): 3507 indexer = [indexer] D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 3634 # InvalidIndexError. Otherwise we fall through and re-raise 3635 # the TypeError. -> 3636 self._check_indexing_error(key) 3637 raise 3638 D:\Anaconda\lib\site-packages\pandas\core\indexes\base.py in _check_indexing_error(self, key) 5649 # if key is not a scalar, directly raise an error (the code below 5650 # would convert to numpy arrays and raise later any way) - GH29926 -> 5651 raise InvalidIndexError(key) 5652 5653 @cache_readonly InvalidIndexError: (slice(None, None, None), 0)

2023-05-31 上传