Oracle数据库管理简介
Oracle数据库管理简介
1.1 目标
从本章中,你应该能够:
- 描述关系型数据库的结构和使用SQL
- 分辨Oracle实例与数据库的组件
- 描述Oracle DBA需执行的基本工作
- 定义用来管理Oracle数据库的工具
- 使用My Oracle Support (Oracle Metalink)来研究问题并上报服务要求(SR)
1.2关系型数据库: 介紹
关系型数据库是关系和二维表的组合。
Oracle数据库是一种关系型数据库管理系统(RDBMS), 所以在使用Oracle Database建立的数据库就是关系型数据库。关系型数据库使用关系(Relation) 或者二维表格(Two-dimensional table)来存储数据。
关系型数据库: 专有名词
关系型数据库可包含一个或多个表。表(Table)是RDBMS中的基本存储结构。表格中存放的是现实世界中某个事物的所有必要资料,例如员工、发票或顾客。
图片中显示的是Employees表或关系(Relation)的内容。下列专有名词在图中会以图来说明:
- 表中的单一数据行(Row),用来代表一名特定员工的相应资料。表中每个数据行都必须由一个主索引键加以识别,它保证了其不允许有重复的数据行。数据行的顺序实际上并不重要;通常是在查询数据时才指定数据行的顺序。
- 单一包含员工编号的数据列(Column)或称为属性。员工编号能用来在Employees表格中识别唯一的员工。在这个范例中,包含员工编号的Employee_ID资料栏,会被指定为主索引键(Primary Key)。主索引键必须包含一个值,而且这个值必须是唯一的。
- 非键值的数据列。数据列代表表格中的一种资料;举例来说,像所有员工的薪资。数据列顺序在存储资料时并不重要;通常是在抓取数据的时候指定数据列的顺序。
- 包含部门编号的数据列,它也是外键(Foreign Key)。外键是用来定义表之间相互关系的数据列。外键索引会参照相同或不同表中的主键或唯一键。在此图例,Department_ID能唯一识别Departments表中的一个部门。
- 可以在数据表的一个行和一个列的交会处定位其栏位(Field), 栏位中只能指定一个数值。
- 有些栏位可能没有值,称之为空值。在Employees表中,只有拥有业务业务代表角色的员工,在COMMISSION_PCT栏位中才有值。
1.4 让多个表格产生关联
- 表中每个数据行都由一个主键(PK)唯一识别。
- 可使用外键索引(FK)建立多个表格数据之间的逻辑关系。
每个表的数据都要能明确描述一个实体(Entity), 例如Employees表中就包含了员工的相关信息。因不同实体的信息是存储在不同的表格中,有时您可能需要将两个或两个以上的表结合起来,以回答特定查询。在RDBMS中,你可以使用外键将一个表中的数据和另一个表总的数据相关联。外键是一个或一组数据列,用来参考相同表或另一个表中的主索引键。
你可以将表中的数据与另一个表中的数据做关联,以个别独立、可管理的方式来组织您的信息。员工信息可按逻辑存放在另一个表中,与部门资料分开保存。
1.5 什么是SQL?
结构化查询语句(SQL, Structured Query Language):
是一种用于Oracle数据库中存取信息的命令语句。
所有程序与使用者均可利用SQL来存取Oracle数据库中的信息。应用程序及Oracle工具通常都会让使用者无需直接使用SQL, 即可存取数据库;不过这些应用程序在执行使用者的要求时还是会使用SQL。
您可以利用SQL在逻辑层处理信息。例如,如果要从表中查询一组数据行,定义一个条件来筛选数据,然后在单一步骤中抽取满足条件的数据列,接着当作另一个单位传送给应用程序或其他SQL语句。您不需要知道数据行实际上是如何存储如何抽取。所有SQL语句都使用Oracle Database的最佳化处理程序组件来决定特定数据最有效的存取方式。
SQL提供下列不同工作的语句,包括:
- 查询信息
- 在表格中插入、更新与删除数据行
- 建立、取代、变更与删除表
- 控制对数据库及其表的存取
- 确保数据库的一致性及完整性
如需关于SQL的详细咨询,请参阅Oracle Database SQL Reference.
1.6 SQL语句
Oracle SQL符合业界普遍采用的标准。Oracle公司主动延揽了美国国家标准机构(ANSI)及国际标准组织(ISO)等SQL标准委员会中的重要人员来参与数据库语言的开发研讨,以确保未来仍能与发展中标准相容。
1.7 Oracle 实例与数据库:简介
Oracle实例是由称为系统全局区(SGA)的内存结构以及Oracle后台进程所组成。
而一个Oracle数据库是由数据文件、重做日志文件以及控制文件所组成。
1.8 使用SQL来存取数据库
可以使用SQL来和Oracle数据库进行“沟通”。SQL语句透过使用者输入以程序执行。命令语句会经过处理,然后将资料转给使用者。
1.9 Oracle数据库管理员的一般工作
- 安装和更新Oracle数据库软件。
- 建立数据库。
- 执行数据库与软件的升级作业。
- 启动和关闭实例。
- 管理数据库的存储架构。
- 管理使用者与安全性。
- 管理方案(Schema)。
- 必要时进行备份与恢复。
- 积极主动地监督数据库,并在必要时采取预防性或修正性动作。
- 监督和性能调整。
若是小型或中型数据库环境,以上相关工作的执行可能全由一人包揽。若是大企业环境,这些工作通常分给几位DBA来处理,而每个DBA都有其专精领域,如数据库安全性管理员或数据库性能调校专家。
1.10 管理Oracle数据库的工具
管理Oracle数据库的工具有:
Oracle Universal Installer
数据库配置助手
数据库升级助手
Oracle Net Manager
Oracle Enterprise Manager
SQL*Plus与iSQL*Plus
Recovery Manager
Data Pump数据泵
SQL*Loader
您可以使用下列工具来安装和升级数据库:
Oracle Universal Installer (OUI): 此工具会替你安装Oracle软件及选项。它可以自动启动数据库配置助手来建立数据库。
Database Configuration Assistant (DBCA): 数据库配置助手会使用Oracle提供的模板来建立数据库,或是您也可以建立自己的数据库。DBCA能让你复制预先设定的内建数据库。
Database Upgrade Assistant: 数据库升级助手, 此工具会带领你将现有的数据库升级到新的Oracle版本。
您可以使用Oracle Net Manager来设定Oracle Net网络。
下列工具用于管理您的Oracle 实例及数据库:
Oracle Enterprise Manager (EM): 此工具结合了一个圆形化主控台、代理程序、一般服务及工具,为Oracle产品提供一个整合和全方位的系统管理平台。在您安装Oracle软件、建立或升级数据库及设定好的网络之后,可使用Oracle Enterprise Manager做为管理数据库的单一界面。除了提供Web形式的使用者界面来执行SQL命令之外,EM还能和其他用来管理数据库的Oracle组件密切组合,例如Recovery Manager如Scheduler。您所有管理工作都必须使用Enterprise Manager来执行。
SQL*Plus: 此工具为数据库标准命令行界面。
iSQL*Plus: 此为读取Oracle数据库数据的一个浏览器界面。
Recovery Manager (RMAN): 一种Oracle工具,能提供整个数据库或数据库文件备份、还原恢复需求的完成解决方案。
Data Pump: 数据泵能让数据库之间的数据进行高速传输。例如: 你可能需要抽取出一份表数据,然后将表数据导入另一个数据库中。
SQL*Loader: 此公用程序可将外部文件数据载入Oracle数据库中。有许多Oracle公用程序可用来将资料载入数据库表中,SQL*Loader便是其中之一。
1.11 使用Oracle客户服务支援
Oracle Support Service (OSS)提供全年午休的解决方案支持服务。
目前提供的支援方式如下:
- My Oracle Support (MOS, 过去称为Metalink)网站
- 电话
- Oracle Direct Connect (ODC)远端诊断工具
客户支援ID(CSI)号码会用来追踪授权给每位客户的软件与支持。
使用Oracle客户服务支持:
Oracle Support Service (OSS)为全球的Oracle客户提供全天候的解决方案支持。OSS在全球都设有支持中心,这些支持中心每年365天都会在您需要的时候为您服务。
客户购买Oracle软件后,Oracle会提供客户一组客户支持ID (CSI)号码。这组号码是用来追踪授权给每位客户的软件及支持。CSI号码可用来获取Metalink上所有可用的修正程序、文件。
注意:服务要求(Service Request: SR)之前称为“技术协助要求”(TAR)。
1.12 使用MOS (Metalink)
如果要注册使用MOS,请访问https://support.oracle.com/网站。在第一此登陆时,需要你在提示对话框中输入您的CSI号(Support Identifier), 然后回答几个基本问题。完成审批后,你就可以使用MOS了。
请注意,每个CSI号码有一个客户指定的管理员,这位管理员控制了新使用者对于MOS的访问。客户必须指定这位管理员,接下来新的使用者必须透过这位管理员来审批建立新账户,并由管理员来授予适当的MOS访问权限。
MOS上的各种工具及解决方法可用来研究问题。
透过标准与高级的搜索引擎,在MOS找寻答案变得简单明了。下列几个简单的步骤,可协助提升搜寻结果与品质:
1)执行搜寻时,请使用完整且精准的错误信息文字。例如,”ORA-1400: mandatory (NOT NULL) column”会比”ORA-1400”传回更精准的答案。
2)在研究E-Business Suite中的错误时,输入程序名作为搜寻条件的一部分。例如,输入”APXINWKB ORA-1400: mandatory (NOT NULL) column”所传回的搜寻结果,会少于只提供错误信息所传回的结果。
如果你比较喜欢使用逐层分析,而不是用关键字在搜寻信息,那么您可以使用Top Tech Docs。Top Tech Docs提供简单易用的逐层分析方式来存取Oracle Support Service中最常用到的技术内容。
可以在Top Tech Docs页面找到下列信息:
使用者手册
电子技术参考手册(eTRM)
常见问题(FAQ)
教学课程清单
自助式工具程序(SSTK)
商业流程
问题解决流程
MOS论坛能让您和Oracle其他客户互动,一起分享一键或是讨论Oracle产品。您可以使用MOS论坛来找出其他客户如何执行复杂的工作,或是利用Oracle产品来达成各种商业需求。不过,论坛不应该取代SR。
客户可以使用修正程序引擎,用各种方法来搜寻修正程序。下列是最常用的修正程序搜寻方法:
- 修正程序编号(Patch Number): 如果您知道修正程序编号,可直接输入。
- 最新整合的修正程序(Latest Consolidated Patch): 当进行升级作业时,您可使用此方法来判定所使用产品的最新修正程序为何。
- 包含文件(Includes File): 通常在特定一段程序代码中所遭遇的问题,都会有修正程序可用。所以,技术支持人员通常会建议客户套用修正程序,将他们的程序码升级到产品的最新版本。
找出程序码的名称及版本,然后使用修正程式搜寻公用程序找出是否有更新版本的程序代码,就可以找到Oracle软件的最新版本并加以套用。
注意:如果关于执行这些搜寻的更详细信息,请阅读MOS技术文档: 166650.1
在研究问题时,您可以使用BUGs连接来搜寻BUG信息库。有多种不同的方法可用来搜寻BUG信息库。
1.13 研究问题
使用MOS执行下列步骤来研究问题:
- 执行关键字搜寻。
- 查阅文件。
- 使用自助式工具程序。
- 使用自动化诊断测试与商业流程。
- 搜寻试用的修正程序。
- 录入服务要求(SR)。
MOS提供了数种可用来研究问题的资源。下列说明为一些实用MOS资源进行基本疑难排解的技巧:
- 关键字搜寻: 大部分问题都可通过使用MOS的关键字搜寻功能,轻松快速地解决。有效的搜寻可以针对特定问题及问题的解决方法提供许多有用的信息。
- 文件: 如果关键字搜寻无法找到解决方案,你应该查阅相关文件,先确定设定的问题并非根本原因。因为在所有服务要求中, 设定问题占了三分之一以上,所以,在疑难排解过程中,最好先复查设定这部分。透过基本和高级搜寻项来进行搜寻,可以找出一些常见的问题。不过在执行搜寻时,可能找不到较少见的问题,因此才建议您查阅相关文件,相关文件包含pdf格式的使用者指南与实行手册,以及html格式的产品阅读档案及安装注意事项。在MOS上同时提供了这两种文件类型,你可以透过每套产品的自助式工具来获取。
- 自助式工具(Self-Service Toolkit): 自助式工具程序(SSTK)提供关于每套产品的丰富信息。一般来说,自助式工具程序包含了常见问题、修正程序清单以及其他有用信息,可以协助你研究所面临的问题,并进行疑难排解。SSTK包含每套产品最长使用的内容,应该定期参考SSTK,了解已知问题,避免在自己的环境中重蹈覆辙。
- 诊断与流程: 最近Oracle客户服务部大部分的变革,都与自动化诊断测试和商业流程(Business Flows)的内容有关。现在已经建立了一些商业流程与诊断测试,可以让您用来检查系统设定或手机问题的相关资讯。至于诊断测试,则可透过执行JAVA或SQL命令来完成。这些测试的结果能协助您解决问题,而且如果有必要登陆服务需求时,也能协助Oracle客户服务部找出导致问题的原因。
- 修正程序与程序错误(BUG): 有时在Oracle产品中会发现程序错误,此时需要修正程序来解决问题。所以在对问题进行疑难排查时,应该检视您的系统,看看是否有发行产品较新的修正程序。然后使用修正程序搜寻工具,搜寻包含特定文件的修正程序。请搜寻最新的程序代码,将您的环境更新到最新的版本,尽可能消除现在的错误,因为这些错误可能是您所遭遇问题的原因,借此改进疑难排解处理作业。您也应该利用错误搜寻引擎来检视您的问题是否已经被登陆为尚未修正的错误。
录入服务要求(SR): 所有自助式选项都失败时,就必须要有一位技术支持人员协助您解决问题。
1.14 提交服务要求
在MOS中你可以提交服务需求(SR)。
MOS会根据CSI号码与SR设定来执行搜寻。
提交服务要求时,请提供下列信息:
- 解释问题,并提供错误信息。
- 对问题进行疑难排解所采取的步骤。
- 软件版本。
- 重现此问题所需的步骤。
- 此问题对于企业的影响。
你可以在MOS上研究问题,但不一定能找到解决方案。在这样的情况下,你应该透过MOS来提交服务要求(SR)。建立服务要求的第一步是选择CSI号与SR设定。选择需要的设置信息后,MOS会收集一些与问题相关的特定信息,包括问题类型、错误信息、问题的简短摘要以及偏好的语言。MOS会使用这些信息进行搜寻,尝试找出解决方案。
如果搜寻结果无法解决问题,那么回继续建立SR,它会提出以下问题,要求你输入相关信息。回答完后,会议电子形式将SR传送给技术支持人员,让他们进一步分析问题。任何文件、截图或者其他额外信息,都必须在提交SR后,透过MOS的SR提供的上传方式进行上传。
你必须确定你已经清楚地将下列信息写在SR中。透过你所提供的信息,技术支持人员就能后效地排定问题有限顺序并解决问题。
- 对问题的清楚解释,包括确切的错误信息在内
- 解释对问题进行疑难排解所采取步骤与发现的问题。
- 软件的确切版本。
- 重现问题所需要的步骤。
- 这个问题对商业活动的影响,包括里程碑、时间及成本。
每个SR都会有唯一的ID, 称为SR号码。提交服务要求时,MOS会提供一个SR号,如果您是通过电话来提交服务要求的,则会由技术支持人员提供您SR号码。Oracle客户服务部是透过自动化分配程序,来分配所有电话及来自网页来源的服务要求,技术支持人员随后会在他/她的调度中收到服务要求。这项自动化的程序能确保所有SR都是分配给擅长处理此类问题的技术支持人员。
注意:如需详细讯息,请阅读MOS技术文档: 166650.1
1.15总结
在本章节中,你应该已了解:
描述关系型数据库的结构和如何使用SQL
分辨Oracle实例与数据库的组件
描述Oracle DBA需执行的基本工作
定义用来管理Oracle数据库的工具
使用MOS来研究问题和提交服务要求(SR)
Comment