最新Oracle入门使用手册.doc
Oracle使用手册 1 Oracle数据库1.1 Oracle数据库的特点全球化、跨平台的数据库支持多用户、高性能的事务处理强大的安全性控制和完整性控制支持分布式数据库和分布处理1.2 Oracle数据库版本Oracle8i: I internet 表示 Oracle 公司要开始正式进入互联网Oracle9i:与 Oracle8i 相关,性能方面更佳, 管理更人性化Oracle10g: g(grid)网格技术Oracle11g: g(grid)网格技术淘宝网决定采用 Oracle 网格计算(Grid Computing)架构来,采用 Oracle 数据库和 Oracle 真正应用集群来重新打造并强化其基础架构和数据仓库环境1.3 数据库的安装 注意:1、 安装的时候,一定要关掉防火墙。否则可能造成安装不成功2、 全局数据库名 SID,类似于 MYSQL 中常用的 localhost.3、 字符集一定要选择正确。一旦选错,除非更改成该字符集的父类。否则只能重装4、 安装完主要的用户为:a) 普通用户: Scott/tiger(练习常用)b) 普通管理员:System/systemc) 超级管理员:Sys/sys1.4 安装完后的服务配置 (运行中输入:services.msc)1.5 Oracle客户端工具 1)SQLPLUS2)iSqlplus(HTTP) http:/localhost:8080/isqlplus3)PL /SQL Developer 7.14 以上版本,带有自动提示功能4)Object Browser1.6 入门基础1.7 SQL简介1.8 Oracle安装完成后,需要创建数据库安装Oracle完成后,创建数据库使用: Database Configuration Assistant创建一个数据库。1.8.1 数据库安装成功后,现在我们以创建DW数据库为例,使用PL/SQL登录,以系统管理员的身份登录SYSTEM,SYTEM,连接类型选择SYSDBA进入PL/SQL. 【每执行一个DML语句,都要执行Commit语法】1.8.1.1 创建DW数据库的用户账户,并分配权限。 1.8.1.2 以LY账户登录进去,连接类型选择Normal后,进行表的创建(里面涉及到变量的赋值语法,动态执行SQL语句语法,逻辑条件判断语法,转换函数等一些Oracle方面的语法.) 1.8.1.3 视图的创建方法如下1.8.1.4 存储过程过程的创建及运行存储过程方法如下1.8.1.5 函数的创建及运行函数的方法如下:1.8.1.6 数据库的备份与还原2 Oracle常用命令记录2.1 DOS下的命令2.1.1 DOS下SQLPLUS的使用SQLPLUS 进入Oracle数据库。用户名: SYSTEM AS SYSDBA 密码: SYSTEM 进入Oracle数据库。备注以SYSDBA最高的权限进入Oracle数据库里面。EXIT 退出到跟目录CLS 清屏2.1.2 DOS下访问Oracle中TNS的地址,用于远程连接的。2.1.2.1 Tnsping localhost 访问Oracle中TNS中Web.Config路径2.1.2.2 如果要进行远程访问2.2 Oracle语法学习2.2.1 Oracle中三个用户的说明 Normal 普通用户 SysOPer 数据库操作员,主要包括 打开数据库服务器,关闭数据库服务器,备份数据库,恢复数据库,日志归档,会话限制 sysDBA 数据库管理员,打开数据库服务器 关闭数据库服务器,备份数据库,恢复数据库,日志归档, 会话限制,管理功能,创建数据库一般程序员使用 Normal 方式2.2.2 Oracle中登录形式2.2.3 Oracle中语法说明2.3 PL/SQL快捷键设置3 Oracle中OWB介绍3.1 OWB简介 OWB是用来建立数据仓库的工具,顾名思义,数据仓库就是存储很多数据的地方。经过多年信息化的发展,企业已经有很多系统了,如CRM、ERP、OA等,但是每个系统的数据都是独立的而且每个系统的数据都有相关性。如今企业需要拿这些数据来做决策,则出现了把这些数据柔和到一起的想法。此时问题来了,这些数据是多家公司的多个系统做的,很多结构和标准都不一样,怎么柔和,owb则提供了这样的功能,他能把多个业务数据库的数据提取出来,进行整合、优化,之后提供给分析决策系统(如BO)使用。 Oracle Warehouse Builder帮助用户设计、部署与管理数据仓库。是Oracle 用于设计与部署数据仓库解决方案的技术,为设计、部署企业数据仓库数据集市和电子商务智能应用程序的可扩展框架提供集成。展示了OWB在企业级系统中的位置。3.2 OWB组件介绍3.2.1 Design Center Design Center 是一个图形化的工具,良好的图形用户界面,主要用来进行源的定义,目标方案的设计以及ETL过程的处理。我们用Design Center来设计、管理、制定和部署ETL过程。所有设计过程中的元数据都存储在Warehouse Builder repository中。3.2.2 Control Center Manager 我们需要在Control Center Manager管理里进行部署和执行特定的ETL过程,是一个全面的部署发布控制台,我们可以通过Control Center Manager了解到ETL部署发布的过程细节。3.2.3 Target Schema从字面意思上就可以理解,目标方案或者叫做目标模式,是构建数据仓库时,我们要加载数据的目标模式,我们目标就是要把在Design Center中设计的数据对象(比如立方,维度,视图和映射等等)全部加载到目标模式中。Target Schema 不是一个Warehouse Builder的组件,它是数据库中的一个组件,简单的说,就是数据库中的一个模式(schema)。3.2.4 Warehouse Builder Repository 一个Warehouse Builder Repository是由一个repository所有者、一个或者多个 repository用户、一个单独的(可选)Control Center模式组成。Repository 所有者储存所有源、目标以及ETL过程的定义的元数据。除了储存设计时的元数据,还包含由Control Center Manager和Control Center Service产生的运行时元数据。 可以使用Repository Assistant图形工具来定义和管理一个或者多个repositories。一个或者多个Target Schema对应于一个Warehouse Builder Repository。3.2.5 Warehouse Builder Repository Owner/Warehouse Builder Repository UserWarehouse Builder repository由几个部分组成:repository owner, 一个或者多个repository user. repository schema 用来存储所有的源,目标以及ETL过程的定义元数据。一个Repository除了包含设计过程中的元数据卡,还包含由Control Center Manager 和 Control Center Service产生的运行元数据。repository owner拥有所有的管理权限,包括管理repository和显示语言和用户。repository user可以创建一个或者多个,共享一个Repository的元数据来进行各自的功能实现。3.2.6 Repository Browser Repository Browser是一个WEB的接口,通过Repository Browser,我们可以查看查看repository 的元数据,并生成相应的报告,需要配合着application server来使用。3.2.7 Control Center ServiceControl Center Service是Warehouse Builder的一个组件,可以理解为一个服务,有了这个服务,我们才可以注册locations,才可以通过Control Center Manager来发布部署和执行ETL过程等。3.2.8 Mapping用来定义从源数据到目标数据的一个过程,通过这个过程设计,OWB生成相应的过程代码。3.2.9 Deployment是一个部署源代码的过程,这个过程中,OWB复制有关的元数据和生成的mapping代码到目标模式(Target Schema)里,在Target Schema里会执行在Desing Center里设计出来的ETL逻辑。3.3 OWB使用3.3.1 安装基本了解OWB后,下面我们介绍一个OWB的使用。在Oracle的每个版本中,OWB都有变化,本文档结合Oracle11.2来说明。11.2版本安装后会自带OWB客户端,当然也可以单独安装OWB的客户端。此时如果机器上安装的有Oralce别的版本的客户端,则会把别的版本的客户端的监听覆盖掉。单独安装的时候非常简单,只需按照默认的点击下一步直到完成即可。安装文件下载: 192.168.176.2研发内部工具oracle 11g r2for windows32database3.3.2 OWB资料库配置,新建WorkSpace 在运行OWB的Client的时候必须有个前提,要配置OWB的资料库,用来存储创建数据仓库实现ETL的SQL语法,在没有配置OWB的资料库的情况下,OWB不能使用。点击OWB Repository Assistant(图1-1),然后如图,用户必须提供SYS或者SYSTEM的口令,这里面要注意一点就是当你配置了Oracle数据库的资料库以后,尽量不要把OWB的资料库里面的资料配置在OEMREP库中。在配置OWB Repository需要创建一个Repository 的所有者,这个所有者可以是数据库中已有的用户,建议创建一个新的用户用来存储OWB Repository。在进行所有的工作之前,需要新建OWB的用户和workspace,步骤如下:选择Repository Assistant,如下图:此时输入oracle11的连接信息,点击下一步,如下图:默认选择第一个,管理工作区,点击下一步,如下图:默认选择创建新的工作区,点击下一步,如下图:默认选择第一个,为工作区新建一个用户,点击下一步,如下图:如果是在数据库中启用了强口令选项,然后创建OWBSYS后,你需要解除OWBSYS帐户的过期其密码。第二和第三的SQL Plus命令进行解锁OWBSYS帐户,并指定密码也被命名OWBSYS:此时输入刚才连得服务器的DBA的用户信息,点击下一步,如下图:此时填写工作区名称以及工作区用户信息,命名可以参考上图所填写,点击下一步,如下图:此时选择注册为工作区的用户,此时我们可以新建用户,点击“创建新用户”,如下图:输入新建用户的信息,点击确定,如下图:刚才新建的用户已经在右边的所选用户里边了,点击下一步,如下图:该界面列出了所建workspace相关的信息。点击完成,如下图:此时系统正在新建工作区相关内容,完成后会给出提示,点击确定即可。至此,新建workspace相关工作已经完成。同时可以用该步骤管理(新建、删除)工作区以及管理工作区的用户等信息。3.3.3 登录OWB点击开始所有程序,如下图:选择Design Center,如下图:输入刚才新建的workspace的信息,点击确定,如下图:此时OWB默认建好了一个项目。3.3.4 新建项目经过上一步的登陆后,进入OWB客户端软件,选择 文件新建, 如下图所示:选择项目,点击确定,如下图:输入名称,点击确定即可,既能在客户端界面左边的项目导航器里面看到刚才新建的项目。3.3.5 新建数据源做数据仓库,数据源是必须的,而且很多时候数据源都不可能是一个,数据源其实就是连接数据库的信息。点击在上一个步骤新建的project,展开数据库节点,右键oracle,如下图:选择第一个,新建Oracle模块,如下图:可以在该界面看到新建所需的步骤,点击下一步,如下图:输入名称和说明,点击下一步,如下图:点击“位置”后边的编辑按钮,位置是OWB中一个单独的功能或模块,如下图:输入源数据库的连接信息,输入完后点击测试连接测试一下,“方案”和高级里面的“工作方案”都选择和用户名一样即可。点击确定,完成位置的编辑。(其实此时是新建了一个位置信息),如下图所示:因为此时我们是新建的数据源库,所以在上图中我们选中“完成后导入”,即新建完成后我们可以把这个数据库的信息导入到我们的数据源中。(可以不选,之后单独再进行导入),点击下一步,如下图:预览新建的信息,点击完成。此时应该已经结束了新建数据源的工作。但如果选择了完成后导入,则会弹出导入数据库对象界面,此功能详见下一章节“导入数据库对象”。3.3.6 为数据源导入数据库对象(表、视图)选中上一步新建的数据源,右键,如下图:选择导入数据库对象,如下图:这个界面给出了导入步骤的,点击下一步,如下图:选择我们要导入的对象,此时我们选择导入表和视图,点击下一步,如下图:把要选择的表从左边的框里移动到右边即可,点击下一步,如下图:点击完成,即可完成数据项的导入。如下图:此时如果选择导入的对象比较多的话需要等待一段时间。此时点击刚才新建的数据源下边的表,则会看到刚才我们的导入的表的信息,如下图:点击其中一个表,点击右键,选择“数据”,则会在右边显示这个表的数据,如下图:3.3.7 新建数据源和导入表总结经过上面两个步骤新建的数据源并导入了数据。我们可以重复这两个步骤把分布在不同地方的数据信息导入到我们的源数据中。来供我们的目标数据库使用。3.3.8 新建目标库新建目标库的步骤和新建源数据的步骤相同,但目标库库不需要导入数据库对象。本例子新建了一个名称为TAR_146的目标库,过程就不再次累述。下面用一个例子说明新建表和新建映射,表和映射是OWB的基本组成部分。场景:一个用户表、一个角色表、一个用户和角色对应表。即用户和角色是多对多的关系。但是对应表里只有两个字段:用户id、角色id,现在我们新建一个表,除了这两个字段外还有用户名称、角色名称。3.3.9 新建表点击上一步建好的目标库下边的表,右键新建表,输入表名称,如下图:点击确定,如下图:此时工作区域列出的是表的信息,需要我们填写表相关的信息。选择“列“,输入想要的列及数据类型,如下图:在“关键字“系列里填写主键等信息,如下图:其实建表的过程和oracle数据库里建表过程基本一致。此时如果想自己建的表有没有问题,可以在表上右键,选择“验证”,验证一下。验证后可以进行“生成”,在表上右键,选择“生成”即可。如果想把该表建在数据库里,则在表上右键,选择“部署”,部署后即可在目标库中查询到该表的信息。部署后的提示信息,如下图:3.3.10 新建映射基于上个步骤我们新建的表,这个步骤我们建这个表的映射。在映射上面右键,新建映射,如下图:输入映射名称,点击确定。此时工作区显示映射的编辑器。从数据源SRC_36中把secu_t_userrole表拉到编辑器上,拉上后可以看到该表的信息。如下图:此时从右边的“组件调色板”中选择“查找”拉到编辑区域,此时会弹出查找的界面,如下图:此时选择SEC_T_USER,此时会弹出添加查找的向导,如下图:此时可以仔细看一下这个向导中的几个步骤,点击下一步,如下图:输入查找的名称,点击下一步,如下图:此时可以添加输入或输出,默认一个输入和一个输出就够用了。点击下一步,如下图:这个界面显示最开始的时候选择的表,点击下一步,如下图:录入一个输入属性,我们录入一个id,因为我们要根据角色用户关系表中的用户id在用户表中查出对应的用户信息。点击下一步,如下图:此时编辑输出属性,默认所选择的表的所有字段都输出,可以把不需要的字段点右键进行删除,点击下一步,如下图:这个界面我们录入组关联,即我们输入的id和表的那个字段对应。此时查找列选择表中的USER_ID字段,输入属性选择刚才我们录入的ID字段。如下图:点击下一步,如下图:点击下一步,如下图:点击下一步,给出查找个所有属性的一个预览,点击完成即可,完成后编辑器里面会显示刚才新建的“查找”,如下图:此时从SECU_T_USERROLE_1中USERID字段托一条线到SECU_T_USER中的ID字段上。如下图所示:重复这个步骤,再添加一个“查找”,不过此时查找的表是SECU_T_ROLE,让SECU_T_USERROLE_1中的ROLEID和其ID对应。添加后工作区编辑器如下图:此时把第九步新建的表拉到工作区编辑器的最右边,如下图:由于SECU_T_USERROLE的是USERID和ROLEID作为联合主键,所以我们修改一下USER_ROLE删除其id列及其主键。此时把对应的字段拖到USER_ROLE上,如下图:此时在左侧映射MAP_USER_ROLE上点击右键,选择部署,提示如下图:此时在左侧映射MAP_USER_ROLE上点击右键,选择开始,提示如下图:此时在左侧表USER_ROLE上右键,选择数据,会在工作区域显示出来提取出来的数据,如下图:至此,映射已经新建成功。映射模块主要包括两大部分,画映射图和组件调色板。画映射图主要是调试,在映射编辑器的上面,如下图:上面的几个关于调试的按钮。另外一个是组件调色板。里面包括各种可以拖放到映射编辑器里的组件。下面是几个常用的owb中每种操作跟sql的对应关系如下:Owb operatorSql复制器DeduplicatorDistinct过滤器Filterwhere连接器Joinerjoin关键字查找Key lookupjoin移动表头区Pivot一条记录拆分成多条Unpivot与pivot相反映射序列SequenceCurrval,nextval集合运算SetUnion,union all,intersect,minus排序器SorterOrdre by 拆分器SpliterMutiple table where聚集函数AggregatorGroup by,having常数Constant3.3.11 新建维维,简单的理解就是oracle做数据分析的一个角度,如对销售额进行分析的时候可以选择区域、时间、产品作为维。维是立方的基础。还按照刚才新建的例子,我们建一张用户的维。在左侧菜单上选择维、点击右键,选择新建,弹出界面如下:仔细看一下新建维的步骤,点击下一步,如下图:输入名称,点击下一步,如下图:默认选择,点击下一步,如下图:输入USERLOGINID,点击下一步,如下图:输入级别USER,点击下一步,如下图:默认选择即可,点击下一步,如下图:默认选择即可,点击下一步,如下图:点击下一步,如下图:此时创建维和维对应的表结构,点击下一步,如下图:点击完成即可。因为用户维不需要层次,所以要把默认的层次删除掉。如下图:选择层次,把鼠标放到层次列表的第一个层次上,右键,点击删除即可。删除后界面如下:此时可以看一下左侧的菜单,如下图:除了刚才新建的维以外,还自动生成了维对应的表DIMI_USER。3.3.12 新建立方立方是由多个维组成的进行特定数据分析的一个组件。所以其包括维和度量值。还用用户的例子,我们现在需要统计用户的登陆次数,所以维包括用户(还应该包括时间,例子以简单为主,就只选一个维吧),度量是登陆次数。在左侧菜单上选择立方、点击右键,选择新建,弹出界面如下:该界面展示了立方的创建步骤,点击下一步,如下图:输入名称,点击下一步,如下图:默认选择即可,点击下一步,如下图:此时把维移动到右边,此时我们把刚建好的DIMI_USER移动过去,点击下一步,如下图:输入度量的值,我们例子输入次数,点击下一步,如下图:点击完成即可,此时立方已经创建成功。此时可以看一下左侧的菜单,如下图:除了刚才新建的维以外,还自动生成了立方对应的表LOGIN_TIMES_TAB。另外,维和立方都只是把表建好了,还需要建对应的映射关系,只有把映射也建好了,维或立方才会有数据。建映射就不再累述了。3.3.13 新建进程流在映射进行执行的时候,有可能其中一个映射要用到另外的一个映射执行的结果,所以必须控制映射的执行顺序,这就需要进程流了。进程流相关的包括三个概念:进程流模块、进程流程序包、进程流。新建进程流也是比较简单的,在进程流的编辑器上,直接把组件调色板里的组件拉过来就行,类似于visio里的流程图。故在此就不在写具体步骤了。4 Oracle常用网址学习 【Oracle 中normal,sysdba,sysperal等角色的说明】 【Oracle中连接的使用】 【Execute Immediate动态执行SQL语句的使用】 【官方文档,详细介绍每一个模块】 【Oracle 关于OWB 官方教程】 【OWB中常见的问题】 【Oracle之资料库的安装】天道酬勤 第 52 页 共 52 页