oracle 11g 我已经安装完毕 就是刚接触oracle 不懂他的那些组件是干嘛用的,有没有高手来指导一下。。。

oracle 11g 我已经安装完毕 就是刚接触oracle 不懂他的那些组件是干嘛用的,有没有高手来指导一下。。。,第1张

你全部不用管~~~~~~

先学会建数据库,建用户,建表,视图,触发器,存储过程等等,

这些都学会了你再问那些组建是干嘛也不迟

事实上,我用了这么就oracle,这些组件也很少去关心,都是oracle运行依赖的东西,一般人按默认的安装就可以了,不宴缺用在这方面耗晌穗辩太多功族饥夫

一. Oracle OLAP 组件 说明

有关Oracle 的所有组件的说明,参考:

Oracle8i/9i/10g/11g 组件(Components) 说明

联机分析处理OLAP(On-Line Analytical Processing), 也称DSS决策支持系统。OLAP是数据仓库系统的主要应用,支持复杂的分析 *** 作,侧重决策支持,并且提供直观易懂的查询结果。

OLAP是Oracle数据库企业版的一个亮耐多维分析引擎,采用oracle数据库来存储OLAP数据和元数据。

在OLAP中,语句的执行量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。

更多内容参考:

OracleOLAP 与 OLTP 介绍

在添加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 Catalog11.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 Catalog10.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 Spatial11.2.0.3.0 VALID

ORDIM Oracle Multimedia 11.2.0.3.0 INVALID

XDB Oracle XML Database11.2.0.3.0 INVALID

CONTEXT Oracle Text11.2.0.3.0 VALID

ODMOracle 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

JAVAVM JServer JAVA Virtual Machine 11.2.0.3.0 VALID

XML Oracle XDK 11.2.0.3.0 VALID

CATJAVA Oracle Database Java Packages 11.2.0.3.0 VALID

APS OLAP Analytic Workspace11.2.0.3.0 INVALID

XOQ Oracle OLAP API11.2.0.3.0 VALID

17 rows selected.

环境:64bit win 7旗舰版 sp1补丁

win64 oracle11g ---- win64_11gR1_database_1013.zip1、安装过程中出现的一个问题:即系统自检提升系统环境不符合要求解决办法:

首先凳历念找到路径:

"E:/Oracle Enterprise_Standard Edition_11.1.0.6/database/烂和stage/prereq/db/refhost.xml“。

在找到”refhost.xml“文件后,如果你没有安装XML软件,就以记事本的方式打开该文件,在打开之后我们找到如下节点:

{

<!--Microsoft Windows Vista-->

<OPERATING_SYSTEM>

<VERSION VALUE="6.0"/>

}

把上述节点替换为以下节点:

{

<!--Microsoft Windows 7-->

<OPERATING_SYSTEM>

<VERSION VALUE="6.1"/>

</OPERATING_SYSTEM>

}

2、安装完成后的访问问题, PLSQL无法访问本机64位Oracle问题描述:无法找到oci.dll错误

问题原因:Oracle是64位的,oci.dll自然也是,而PLSQL_Developer是32位的,无法加载64位的DLL。

解决方法:

1. 下载32位Oracle InstantClient,并展开到某目录,例如D:/oracleclient/instantclient_11_2;2. 将系统的tnsnames.ora拷贝到该目录下;

3. 在PLSQL Developer中设置Oracle_Home和OCI Library,如下图所示:

4. 在PLSQL Developer目录下编辑如下bat文件枣困,替换其快捷方式,启动PLSQL Developer:

@echo off

set path=C:/oracle/instantclient_10_2

set ORACLE_HOME=C:/oracle/instantclient_10_2set TNS_ADMIN=C:/oracle/instantclient_10_2sset NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

start plsqldev.exe

3、在进行后续的asp.NET开发时,在进行数据库访问时,发生错误。

为了发布时调用部分32位的DLL,在IIS 应用进程池中配置-常规-启用32位应用程序-True错误描述:"尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。"解决方法如下:

实际上,System.Data.OracleClient所指向的是PATH环境变量下的oci.dll。因此,我们只要让程序能够找到64位的oci.dll就可以了。方法如下:

1. 下载instantclient-basic-win-x86-64-11.1.0.6.0.zip,并解压,如C:/instantclient-basic-win-x86-64-11.1。

2. 在系统的环境变量PATH中加入以上路径。

之后重启 *** 作系统,程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11968299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存