您的位置:首页 > 数据库 > Oracle

Oracle OLAP 组件 重建 说明

2012-03-05 16:14 309 查看

一. Oracle OLAP 组件 说明

有关Oracle 的所有组件的说明,参考:
Oracle8i/9i/10g/11g 组件(Components) 说明
/article/1449230.html

联机分析处理OLAP(On-Line Analytical Processing), 也称DSS决策支持系统。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLAP是Oracle数据库企业版的一个多维分析引擎,采用oracle数据库来存储OLAP数据和元数据。
在OLAP中,语句的执行量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。

更多内容参考:
OracleOLAP 与 OLTP 介绍
/article/1449273.html

在添加OLAP 组件的情况下,如果我们做32到64位的DB迁移,都会需要重建OLAP 组件,否则就会导致大量的无效对象的存在。 而这个重建工作又需要近40分钟,所以是个很耗时间的过程。

Oracle OLAP是Oracle企业版的一个可选件,由于将OLAP引擎完全集成进了Oracle数据库,所以,所有数据和元数据都是从Oracle数据库内部进行存储和管理的,以提供高度可伸缩性、强健的管理环境及工业级可用性和安全性。

1.1 OLAP 组件

可以使用如下SQL 查看OLAP组件的状态和版本信息:
SQL> column comp_name format a35
SQL> col version for a15
SQL> set wrap off
--Oracle11g:
SQL> select comp_name, version, statusfrom dba_registry where comp_name like '%OLAP%';

COMP_NAME VERSION STATUS
-------------------------------------------------- ----------------------
OLAP Analytic Workspace 11.2.0.3.0 INVALID
Oracle OLAP API 11.2.0.3.0 VALID
OLAP Catalog 11.2.0.3.0 VALID

--Oracle 10g:
SYS@ wangou > select comp_name, version,status from dba_registry where comp_name like '%OLAP%';

COMP_NAME VERSION STATUS
-------------------------------------------------- ----------------------
OLAP Analytic Workspace 10.2.0.5.0 VALID
Oracle OLAP API 10.2.0.5.0 VALID
OLAP Catalog 10.2.0.5.0 VALID


Oracle OLAP主要包括以下组件:

(1)OLAP Analytic Engine
Oracle的OLAP分析引擎是一个基于多维模型的MOLAP引擎,运行在Oracle内核中,因此拥有良好的性能。
(2)Analytic Workspace
分析工作区中实际存储多维模型的数据。一个Analytic Workspace存储为一个关系表,分析工作区中的不同对象存储为表中的一行(LOB格式)。分析工作区甚至可以存储在分区表中,以提供更好的并发性能。
(3)OLAP DML
OLAP DML是Analytic Workspace的原始操作语言,包括关于Analytic Workspace的数据定义语言(DDL)和数据操作语言(DML)。对于Analytic Workspace的所有操作方式,比如GUI工具,java和SQL等方式,最终都要转化为Oracle DML语言。
(4)SQL Interface to OLAP
提供使用SQL操作AnalyticWorkspace的接口,该接口使用PL/SQL实现。
(5)Analytic Workspace Java API
提供使用Java操作AnalyticWorkspace的接口。在GUI工具Analytic Workspace Manager中使用的就是该接口。
(6)OLAP API
Oracle OLAP的一个Java编程接口,支持OracleBI Bean。

1.2 Oracle OLAP的两个客户端工具:

(1)Analytic Workspace Manager
这是Oracle提供的一个操作AnalyticWorkspace的一个图形工具。使用该工具可以快速的完成诸如定义数据的逻辑多维模型、创建多维数据到关系数据的映射、装载和聚合数据等任务。
(2)OLAP Worksheet
OLAP Worksheet提供了操作Analytic Workspace的一个交互式环境。有点类似于Oracle数据库的SQLPLUS工具。

1.3 Active Catalog View(活动目录视图)

Active CatalogView,活动目录视图,是Oracle为OLAP用户提供的一系列动态视图,用于提供分析工作区(Analytic Workspace)中的对象信息。Analytic workspace是用户session和Oracle OLAP引擎交互所必须的接口,也是dimension,cube的对象的容器。

在Oracle OLAP中,Analytic workspace的概念有点类似与数据库中的schema,也是一组相关对象的集合。但是Analytic workspace会使用一个名为aw$name的table来实际的存储analyticworkspace中的对象(dimension,cube,level,attribute等)。有时候,我们可能需要将一个analytic workspace从一个系统迁移到另外一个系统,也可能需要将一个analytic workspace的内容迁移到另外一个analytic workspace中,利用Analytic Workspace Manager可以在图形界面下完成该任务,首先将一个aw导出为EIF文件,然后将EIF导入到另外一个aw即可。

OLAP多维模型中的一些主要对象,如dimension(维度),measure(度量),cube(数据立方体),hierarchy(层次),level(层),attribute(属性)等,都有对应的活动目录视图,根据视图的名字基本可以判断该视图中的内容,Oracle10g所有的活动目录视图都以ALL_OLAP2_AW开头:
(1) ALL_OLAP2_AWS
(2) ALL_OLAP2_AW_ATTRIBUTES
(3) ALL_OLAP2_AW_CATALOGS
(4) ALL_OLAP2_AW_CATALOG_MEASURES
(5) ALL_OLAP2_AW_CUBES
(6) ALL_OLAP2_AW_CUBE_AGG_LVL
(7) ALL_OLAP2_AW_CUBE_AGG_MEAS
(8) ALL_OLAP2_AW_AGG_OP
(9) ALL_OLAP2_AW_CUBE_AGG_SPECS
(10) ALL_OLAP2_AW_CUBE_DIM_USES
(11) ALL_OLAP2_AW_CUBE_MEASURES
(12) ALL_OLAP2_AW_DIMENSIONS
(13) ALL_OLAP2_AW_DIM_HIER_LVL_ORD
(14) ALL_OLAP2_AW_DIM_LEVELS
(15) ALL_OLAP2_AW_PHYS_OBJ
(16) ALL_OLAP2_AW_PHYS_OBJ_PROP


除了活动目录视图,Oracle也提供了几个动态性能视图,用于展示OLAP对象的一些统计信息,这些DynamicPerformance View都以V$AW开头:
(1) v$aw_aggregate_op
(2) v$aw_allocate_op
(3) v$aw_calc
(4) v$aw_longops
(5) v$aw_olap
(6) v$aw_session_info

以上理论知识转自ningoo的blog:
http://www.ningoo.net/html/2007/introduction_of_oracle_olap_component.html

二. 添加删除OLAP 组件

MOS: How To Remove Or To Reinstall TheOLAPOption To 10g And 11g [ID 332351.1]

这里提供了2种解决方法:

2.1 在ORACLE_HOME 级别重建

2.1.1 删除OLAP

备份DB和oraInventory,在关闭ORACLE_HOME上的所有Instance,使用Universal Installer (OUI) 移除ORACLE_HOME的OLAP 选项。在OUI 中选择升级已经存在的db,在selectoptions 选项可以控制是否启用OLAP。如下图:




在Unix 和Linux 平台上,也可以直接relink olap_off 的方式来删除,这样就避免使用OUI。
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk olap_off
make -f ins_rdbms.mk ioracle

非注册的OLAP将不在db 的banner 中限制,同时v$option 也会显示为FALSE.

2.1.2 重新安装OLAP

1)在OUI中添加OLAP 组件,参考上图。
2)添加完毕之后执行如下脚本,在db 级别进行添加。
sqlplus /nolog
SQL> conn /as sysdba
SQL> spool add_olap.log
SQL> @?/olap/admin/olap.sql SYSAUX TEMP;
SQL> @?/rdbms/admin/utlrp.sql
SQL> spool off

2.2 在Database 级别重建

2.2.1 删除OLAP

--在dbserver 上开一个session,设定相关的变量,并用sys 用户执行如下脚本:
ORACLE_HOME=your_oracle_home
ORACLE_SID=your_db_sid
PATH=$ORACLE_HOME/bin:$PATH
sqlplus /nolog
SQL> conn / as sysdba

----> Remove OLAP Catalog
SQL> @?/olap/admin/catnoamd.sql

----> Remove OLAP API
SQL> @?/olap/admin/olapidrp.plb
SQL> @?/olap/admin/catnoxoq.sql

----> Deinstall APS - OLAP AW component
SQL> @?/olap/admin/catnoaps.sql
SQL> @?/olap/admin/cwm2drop.sql

----> Recompile invalids
SQL> @?/rdbms/admin/utlrp.sql

catnoamd.sqlusedabove will drop the OLAPSYS schema (which is completely OLAP specific).
--catnoamd.sql 脚本用来drop OLAPSYS 用户。

cwm2drop.sqlneedsto be run only in 11g. In 10g, catnoamd.sql already calls it.
--cwm2drop.sql 只需要在11g中执行。在10g中,catnoamd.sql脚本中已经包含了该脚本,所以不用执行。

If you connectto the database in SQLPLUS, the banner still shows the OLAPoption,this happensbecause the Oracle executable is still aware of OLAP, it islinked with OLAP, andalso the OLAP files are still present in the ORACLE_HOME.

Once runningthedeinstall scripts, the utlrp.sql could report invalid objects with SYSandPUBLIC owners. If so, the following SQL can be used to report more detailsonthat:
--删除之后,可能导致一些无效的对象,可以使用如下SQL 来查看具体信息:

SQL> select owner,object_name,object_type, status from dba_objects where status='INVALID';

You could getsome invalid objects under SYS and PUBLIC owner, and they are the oldduplicate OLAPSYS objects copied under these schemas when Olap has beeninstalledpreviously.
Generally,the Olap objects are named with context like %OLAP%, %AWM%, or other Olap wordkeys intheir "object_name" field, however, if it needs a help torecognizethem, then please contact Oracle Support and create a ServiceRequest toget assistance for this question.

Notethat catnoadm.sql could fail from 10.1.0.5 to 11.1.0.7 release.

Due to the fact that it refers to three scripts which don't get shipped until 11.2this scriptwill fail.
Besides that it will error on 7 non-existing synonyms to drop.

Prior 11.2, execute thesethree drop synonym statements:
--在11.2 之前,需要执行如下脚本:
SQL> drop public synonym OlapFactView;
SQL> drop public synonym OlapDimView;
SQL> drop public synonym DBMS_ODM;

If therearefurther invalid OLAP specific objects after the above removal steps,pleaseconsult Note1060023.1, Note565773.1
If you do notwant to install OLAP into a newly created database, then in theDatabaseConfiguration Assistant (dbca), select a custom database template anduncheckOracle OLAP in the Database Components wizard step.

2.2.2 添加OLAP

Assuming that youcreated your database manually or via DBCA, add the OLAP option to anexistingEnterprise Edition Database.
--假设我们在ORACLE_HOME级别添加了OLAP。

Then openaterminal session on the database server machine, set ORACLE_HOME,ORACLE_SIDenvironment variables, and execute some script as user SYS AS SYSDBA,detailsbelow:
--在dbserver 端用SYS 用户执行如下脚本,来创建olap。

ORACLE_HOME=your_oracle_home
ORACLE_SID=your_db_sid
PATH=$ORACLE_HOME/bin:$PATH
sqlplus /nolog
SQL> conn /as sysdba
SQL> @?/olap/admin/olap.sql SYSAUX TEMP;
--这个脚本需要30+分钟

三. 验证无效对象和组件状态

SQL> select count(*) from dba_invalid_objects;

COUNT(*)
----------
67

如果有无效对象,使用如下脚本编译:
SQL> @?/rdbms/admin/utlrp.sql

SQL> col comp_id for a15
SQL> col version for a15
SQL> col comp_name for a30
SQL> select comp_id,comp_name,version,status from dba_registry;

COMP_ID COMP_NAME VERSION STATUS
--------------------------------------------- --------------- -----------------
EM Oracle Enterprise Manager 11.2.0.3.0 VALID
AMD OLAP Catalog 11.2.0.3.0 VALID
SDO Spatial 11.2.0.3.0 VALID
ORDIM Oracle Multimedia 11.2.0.3.0 INVALID
XDB Oracle XML Database 11.2.0.3.0 INVALID
CONTEXT Oracle Text 11.2.0.3.0 VALID
ODM Oracle Data Mining 11.2.0.3.0 VALID
EXF Oracle Expression Filter 11.2.0.3.0 VALID
RUL Oracle Rules Manager 11.2.0.3.0 VALID
OWM Oracle Workspace Manager 11.2.0.3.0 VALID
CATALOG Oracle Database Catalog Views 11.2.0.3.0 VALID

COMP_ID COMP_NAME VERSION STATUS
--------------------------------------------- --------------- -----------------
CATPROC Oracle Database Packages and T11.2.0.3.0 INVALID
J******M JServer J***A Virtual Machine 11.2.0.3.0 VALID
XML Oracle XDK 11.2.0.3.0 VALID
CATJ***A Oracle Database Java Packages 11.2.0.3.0 VALID
APS OLAP Analytic Workspace 11.2.0.3.0 INVALID
XOQ Oracle OLAP API 11.2.0.3.0 VALID

17 rows selected.


相关文档:
DBA_REGISTRY Shows Oracle OLAP Componentsin Status REMOVED [ID 1064322.1]



-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Skype: tianlesoftware
Email: tianlesoftware@gmail.com
Blog: http://www.tianlesoftware.com
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware


-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929 DBA5群: 142216823
DBA6 群:158654907 DBA7 群:172855474 DBA总群:104207940
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: