- 浏览: 276240 次
- 性别:
- 来自: 北京
最新评论
-
gotosuzhou:
好的 谢谢分享
Spring 事务异常回滚 -
cd249745647:
哈哈
Spring MVC REST 例子 -
向日葵上的小蜜蜂:
代码都差不多贴出来了,为啥不直接提供下载呢
Spring MVC REST 例子 -
he3109006290:
我猜它应该有个算法,当出现长时间处理的情况的,它自动会启动另外 ...
netty 疑惑 -
yanghoho6:
很好, 学习了,
oracle基本的索引概念.doc
1.1 ORACLE数据库简介
Oracle简称甲骨文,是一家名声不像微软、IBM那样显赫,但在IT软件业,则是仅次于微软公司的世界第二大软件公司,该公司名称就叫Oracle。该公司成立于1979年,是加利福尼亚州的第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的一家软件公司。Oracle不仅在全球最先推出了RDBMS,并且事实上掌握着这个市场的大部分份额。现在,他们的RDBMS被广泛应用于各种操作环境:Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。事实上,Oracle已经成为世界上最大的RDBMS供应商,并且是世界上最主要的信息处理软件供应商。由于Oracle公司的RDBMS都以Oracle为名,所以,在某种程度上Oracle己经成为了RDBMS的代名词。
Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。
Oracle数据库是基于“客户端/服务器”(Client/Server)模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。
Oracle数据库有如下几个强大的特性:
支持多用户、大事务量的事务处理
数据安全性和完整性的有效控制
支持分布式数据处理
可移植性强
Oracle体系庞大,对于初学者来说,大体上要明白定位思想:
Oracle大体上分两大块,一块是应用开发,一块是系统管理。
开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力。管理则需要对Oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会丢失整个数据库,相对前者来说,后者更看重经验。
因为数据库管理的责任重大,很少公司愿意请一个刚刚接触Oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。
Oracle的几个专业性网站:
http://www.oradb.net/default.asp(Oracle技术网)
http://www.cnoug.org/index.php (ORACLE技术中国用户讨论组)
1.2 ORACLE数据库的体系结构
数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制
1.2.1 ORACLE服务器
Oracle服务器由Oracle数据库和Oracle实例组成。Oracle数据库是一个数据的集合,该集合被视为一个逻辑单元。在一个装有Oracle数据库的服务器上,必须运行一系列进程来管理该数据库。这些进程使用大块的内存,这些内存块分别具有与特定任务相关的用途。
后台进程和内存结构的集合称为Oracle实例。如果要访问数据库中的数据,就需启动该实例。每一个运行的Oracle数据库都与一个Oracle实例相联系。
1.2.2 ORACLE组件
实例、用户进程和服务器进程驻留在内存中,而所有其他文件都存储在硬盘上。
Oracle实例:
Oracle实例是后台进程和内存结构的集合。必须启动实例才能访问数据库中的数据。Oracle实例启动时,将分配一个系统全局区(SGA)并启动一系列Oracle后台进程。每一个后台进程在数据库中执行不同的任务。一个实例只能打开并使用一个数据库。
Oracle数据库:
Oracle数据库由操作系统文件组成,这些文件也称为数据库文件,为数据库信息提供实际物理存储区。Oracle数据库包括逻辑结构和物理结构。数据库的物理结构包含数据库中的一组操作系统文件。数据库的逻辑结构是指数据库创建之后形成的逻辑概念之间的关系,如表、视图、索引等对象。
会话:
会话是用户与Oracle服务器的单个连接。当用户与服务器建立连接时创建会话。当用户与服务器断开连接时关闭会话。当一个数据库用户同时用多个不同的应用程序或从多个终端连接数据库时,则为该用户创建多个并行会话。
Oracle实例内存结构:
Oracle的内存结构包含以下两个内存区:
系统全局区:(SGA):实例启动时分配该内存区。
Oracle实例的SGA(System Global Area)又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。当数据库实例启动时,SGA的内存被自动分配。SGA是数据库中占用服务器内存最大的一个区域,同时也是影响数据库性能的一个重要指标。SGA按其作用不同,可以分为共享池、数据缓冲区及日志缓冲区。
共享池
共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
共享池由库缓存和数据字典缓存组成。
共享池的大小直接影响数据库的性能。
数据缓冲区
用于存储从磁盘数据文件中读入的数据,所有用户共享。
服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。
数据缓冲区的大小对数据库的读取速度有直接的影响。
日志缓冲区
日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。相对来说,日志缓冲区对数据库的性能影响较小。
程序全局区:(PGA):服务器进程启动时分配该内存区。
程序全局区PGA(Program Global Area)包含单个服务器进程或单个后台进程所需的数据和控制信息。PGA是在用户进程连接到数据库并创建一个会话时自动分配的,该区内保留每个与Oracle数据库连接的用户进程所需的内存。PGA为非共享区,只能单个进程使用,当一个用户会话结束后,PGA释放。
Oracle实例进程结构:
用户进程:
用户进程是一个需要与Oracle服务器进行交互的程序。此进程在数据库用户请求连接Oracle服务器时启动。如用户启动数据库客户端工具SQL *Plus时,系统自动建立一个用户进程。
服务器进程:
服务器进程用于处理连接到该实例的用户进程的请求。此进程在用户建立会话并连接Oracle实例时启动。服务器进程直接与Oracle数据库交互,实现调用和返回结果。
后台进程:
在Oracle数据库中,为了使系统性能最好和协调多个用户,实例系统中使用一些附加进程,称为后台进程。这些后台进程存在于服务器操作系统中,在实例启动时自动启动。
常用的几个后台进程如下所示:
进程监控:(PMON)
在用户进程出现故障时执行进程恢复。(常见任务见书7)
系统监控:(SMON)
在实例启动时执行实例恢复。(常见任务见书7)
数据写入进程:(DBWR)
将所有修改后的缓冲区数据写入数据文件。(常见任务见书8)
日志写入进程:(LGWR)
将日志缓冲区中的日志数据信息写入日志文件中。
检查点:(CKPT)
保证所有修改过的数据库缓冲区数据都被写入数据库文件中。
归档进程:(ARCH)
当数据库运行在归档模式下时,产生该进程,用于写归档日志文件。
1.2.3 ORACLE的物理组件
数据库的物理组件是指从物理角度分析数据库的组成,也就是Oracle数据库创建后使用的操作系统物理文件。Oracle数据库的物理文件可分为三类,即数据文件、日志文件和控制文件。
数据文件:(SYSTEM01.DBF/SYSTEM01.ORA)
数据文件(Data Files)用于存储数据库数据的文件。如表、索引等数据都是存储在数据文件中。每个Oracle数据库有一个或多个物理数据文件。一个数据文件只能与一个数据库关联。
日志文件:(REDO01.LOG)
日志文件(Redo Log Files)用于记录对数据库所进行的修改。日志文件主要用于在数据库出现故障时实施数据库恢复。
控制文件:(CONTROL01.CTL)
控制文件(Control Files)用于记录数据库物理结构的二进制文件。该文件包含维护和验证数据库完整性的必要信息。
1.2.4 ORACLE的逻辑组件
数据库的逻辑组件是从逻辑的角度分析数据库的组成。Oracle对于逻辑结构的描述是通过数据字典存储完成的。Oracle数据库的逻辑组件包括
表空间、段、区、块和用户模式等。
表空间(TABLESPACE):
表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数据库至少包含一个表空间。每个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。
在每一个数据库中都有一个名为SYSTEM的表空间,即系统表空间,该表空间是在创建数据库或数据库安装时自动创建的,用于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。
创建表空间的语法如下:
扩展数据文件的语法如下:
段(SEGMENT):
一个表空间包含一个或多个段。段是一种指定类型的逻辑存储结构一个段由多个区组成。如常用的4类段结构:
(数据段——索引段——回滚段——临时段)
区(EXTENT):
区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区为段分配空间,它由连续的数据块组成。一个区由多个数据块组成,块是进行数据读写操作的最小单元。
数据块(DATA BLOCK):
数据块是数据库中最小的数据组织单位与管理单位,Oracle数据库中的数据存储于数据块中。数据块的取值范围在2KB~64KB之间。
模式(SCHEMA):
模式是对用户所创建的数据库对象的总称,在Oracle数据库中任何数据库对象都属于一个特定用户,一个用户及其所拥有的对象即称为模式。模式对象包括表、视图、索引、同义词、序列、过程和程序包等。一个用户与相同名称的模式相关联,所以又称为用户模式。
1.3 登陆到ORACLE
在Oracle产品安装完成后,客户端为了与数据库服务器连接进行数据访问,必须进行网络连接配置,网络配置包括服务器端配置和客户端配置。
服务器配置:(监听器)
服务器端配置,是指配置一个监听器。用于监听客户端发过来的连接请求。
监听器配置包括监听协议、地址以及其它相关的信息参数。
监听器配置存储在一个名称为listener.ora的配置文件中。
该文件位于D:\oracle\ora90\network\ADMIN\listener.ora
默认的监听器监听以下TCP/IP协议地址。
在安装Oracle数据库软件时,安装程序自动配置一个名称为LISTENER的监听器。监听器对应于windows服务OracleOraHome92TNSListener
客户端配置:(服务名)
客户端要与服务器连接请求,则须创建一个网络服务名,该服务名与远程或本地的监听器建立连接,客户用它向服务器端发出连接请求。
要在一台没有安装Oracle数据库服务器的工作站上连接Oracle服务器,必须单独安装Oracle客户端软件。在客户端创建服务名时,需要指定网络协议、与协议相关的信息和数据库的SID(全局数据库名)。这些配置信息都存储在tnsnames.ora文件中,保存位置与listener.ora相同。
该文件位于D:\oracle\ora90\network\ADMIN\ tnsnames.ora
※: [ Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名 ]
1.4 ORACLE的应用工具
Oracle查询工具:(Oracle Query Tools)
SQL *Plus
Isql *Plus
PL/SQL
Oracle企业管理器:(Oracle Enterprise Manager)
1.5 用户管理
在Oracle中,为了加强数据的安全性,用户必须拥有相应的帐号及其权限才可访问Oracle数据库。数据库管理员可以创建允许访问数据库的用户账号,并授予其访问权限,帐号创建后,用户就能根据管理员授予的权限访问Oracle数据库了。
在Oracle中创建用户:
当创建一个新数据库时,Oracle将创建一些默认数据库用户及其相应模式。默认使用的用户有如下几个:
1. SYS:超级用户:——(password: changle_on_install)
数据库中所有数据字典和视图都存储在SYS模式中。该用户主要用来维护系统信息和管理实例。在Oracle9i版本中,SYS用户只能以SYSOPER或SYSDBA角色登录系统。
2. SYSTEM:系统管理员:——(password: manager)
SYSTEM用户是Oracle中默认的系统管理员,它拥有DBA权限。通常用于管理数据库的用户、权限和存储等,不建议在该用户模式中创建用户表。
3. SCOTT:示范帐号:——(password: tiger)
该用户在Oracle安装时自动创建。一般作测试和示范用,其有4个示范表。
Oracle中的CREATE USER命令用于创建新用户。每个用户都有一个默认表空间和一个临时表空间。如果创建时没有指定,Oracle就将SYSTEM设为默认表空间,将TEMP设为临时表空间。
创建Oracle用户及其权限的语法如下:
为Oracle用户授权/撤消:
1:grant——授权
grant select, insert on tbtest to user1;
2: grant——with grant option授权并使该用户可以授这些权给其他用户
grant select, insert on tbtest to user1 with grant option
3: revoke——撤消
revoke select, insert on tbtest from user1;
修改用户口令:
Oracle中的ALTER USER命令可用于更改口令。
删除用户:
删除一个用户时,若用户模式中包含有模式对象,则所有这些对象也将立即删除。Oracle中的DROP USER命令可用于删除用户,当用户拥有模式对象时必须使用CASCADE选项以删除所有模式对象。
1.6 ORACLE的安装与卸载
(详见Oracle安装图解.xls 与 NT下如何彻底删除Oracle.htm)
1.7 ORACLE的各种服务
在windows中Oracle的每个实例都作为一项服务来启动。服务是在
windows注册表中注册的可执行进程,由windows操作系统管理。
windows服务对话框中的各项 Oracle 服务如图所示:
发表评论
-
ORACLE 中 SQL语句优化总结
2010-02-23 19:54 1032ORACLE 中 SQL语句优化总结 ... -
有用的v$视图脚本
2010-01-10 16:15 12031、基本的数据库信息 版本信息: select * f ... -
runstart脚本 测试两个SQL性能
2010-01-10 11:58 1249grant select on sys.v_$time ... -
spfile总结 转
2010-01-10 10:27 1364pfile(Initialization Paramete ... -
Oracle数据库字符集问题解析(转)
2010-01-07 21:50 1466Oracle数据库字符集问题解析 经常看到一些朋友问ORAC ... -
分析函数
2010-01-07 09:53 1100--row_number() SELECT ... -
Oracle常用SQL脚本
2009-12-29 22:54 1286测定数据的命中率 sel ... -
explain plan,autotrace,tkprof
2009-12-29 18:56 1823explain plan,autotrace,tkpr ... -
Oracle创建用户、表空间、导入导出 删除命令
2009-12-29 18:54 1708创建临时表空间 create temporary tab ... -
oracle分区
2009-12-22 23:27 2219分区有利于管理非常大 ... -
oracle数据类型
2009-12-22 22:35 1757oracle数据类型 Oracl ... -
oracle索引
2009-12-22 22:23 1272什么情况下应该使用B* ... -
数据库表(临时表)
2009-12-17 23:05 2247Oracle中的段(segment)是占用磁盘上存储空间的一个 ... -
redo和undo(部分引用别人)
2009-12-17 20:34 1712redo重做信息是oracle在在线重做日志文件中记录的信息, ... -
java调用存储过程
2009-12-17 19:11 997这段时间开始学习写存 ... -
Oracle Triggers
2009-12-17 19:08 1279Controlling When a Trigger Is F ... -
Oracle中更新语句的重启动
2009-12-16 22:50 2139Oracle中更新语句的重启动 考虑一个简单的update语句 ... -
oracle深入体系结构 笔记
2009-12-16 22:48 1640... -
oracle各参数
2009-12-16 19:30 1207名称 类型 类别 ... -
pl/sql例子
2009-12-16 19:24 22811、使用游标、loop、%type、%rowtype DE ...
相关推荐
本"Oracle入门教材合集"旨在为初学者提供全面、深入的Oracle学习资源,帮助你快速掌握Oracle的基础知识和实践技能。 Oracle 9.0是Oracle数据库的一个重要版本,虽然现在已经有了更新的版本,但其基本原理和操作方式...
Oracle入门教程是一套专为初学者设计的28本完整教程集合,旨在帮助读者逐步掌握Oracle数据库的基础知识和操作技能。Oracle,作为全球最广泛使用的数据库管理系统之一,其功能强大,适用范围广泛,从中小型企业到大型...
《Oracle 入门心得》这本书可能是为了帮助初学者理解和掌握Oracle数据库的基础知识和操作技巧而编写的。下面将根据标题和描述,深入探讨Oracle数据库的一些核心概念和关键知识点。 1. **Oracle数据库基础**:Oracle...
这个"Oracle入门到精通OCP认证教学视频"集合应该是一个全面的教育资源,帮助学习者从基础到高级掌握Oracle数据库技术,并为通过OCP认证考试做好准备。 首先,让我们详细了解一下Oracle数据库的基础知识。Oracle...
"Oracle入门与精通"这套教程旨在帮助你从零开始,逐步深入地了解并熟练运用Oracle。 首先,Oracle入门阶段,你需要理解数据库的基本概念,如数据库是什么,为什么需要数据库,以及Oracle数据库与其他数据库系统的...
"Oracle入门很简单03.zip"这个压缩包显然旨在为初学者提供一个轻松上手Oracle的学习资源,通过"03.wmv"这个视频文件,我们可以预期它将深入浅出地讲解Oracle的基本概念和操作。 Oracle数据库的核心概念包括数据库...
Oracle入门很简单[张朝明].part2.共2部分,这是第2部分。 本书从初学者的角度出发,由浅入深、循序渐进地介绍了oracle数据库开发的基础知识。书中对数据库基本理论及其在数据库开发过程中的应用也有详细介绍。书中也...
"Oracle入门很简单06.zip"这个压缩包显然旨在帮助初学者快速理解和掌握Oracle数据库的基础知识,特别是关于字符型数据类型及其处理方法。 在Oracle数据库中,字符型数据类型主要包括VARCHAR2、CHAR、NVARCHAR2和...
Oracle入门是IT领域初学者经常会接触的一个主题,Oracle是一种广泛使用的数据库管理系统,尤其在企业级应用中占据着重要地位。这篇学习笔记将带你逐步走进Oracle的世界,了解其基本概念、安装配置、SQL语言以及...
"Oracle入门很简单07.zip"这个压缩包文件显然聚焦于介绍Oracle数据库中的数值型数据类型及其处理方法,这通常是初学者掌握Oracle基础知识的关键部分。 在Oracle中,数值型数据类型主要包括以下几种: 1. **NUMBER*...
以下是一些关于Oracle入门的重要知识点: 1. **Oracle基础概念**: - **数据库**:Oracle数据库是一个存储和管理数据的系统,支持各种数据类型,如数字、文本、图像等。 - **表空间**:存储数据的逻辑单位,由一...
《Oracle入门很简单》的教材PPT 本书带课件。 浅显易懂,零门槛Oracle学习,真的很简单 亲切自然,老鸟带领菜鸟,快速掌握Oracle数据库 15.5小时多媒体语音视频讲解(视频在优酷上有!)
教程名称:“Oracle入门很简单”视频教程与源文件(全22集)课程目录:【】Oracle入门很简单-源文件【】Oracle入门很简单【】Oracle入门很简单01-05集【】Oracle入门很简单06-10集【】Oracle入门很简单11-15集【】...
这份"Oracle入门资料"涵盖了初学者需要了解的基础知识,对于那些希望通过学习Oracle数据库技术开启IT职业生涯的人来说,是一份非常有价值的资源。 首先,Oracle数据库的核心概念包括数据模型、SQL语言和数据库管理...
资源名称:Oracle 入门必看的10篇文档资源目录:【】AIX下Oracle10GRAC超详细实施文档【】CentOS7.3环境下Oracle安装手册【】Oracle Database 11g RMAN备份与恢复【】Oracle11gSQL性能优化完美攻略【】Oracle11g官方...
本文将作为Oracle入门教程,介绍如何创建用户、角色以及授权,并探讨数据库管理的一些基本概念。 首先,Oracle数据库中有三个默认用户:sys、system和sott(在9i版本中默认密码为'tiger')。sys用户是最高级别的...
本文将围绕"Oracle入门心得"这一主题,详细讲解Oracle体系结构、数据库以及逻辑结构,帮助你更好地理解Oracle的核心知识点。 首先,让我们了解Oracle的体系结构。Oracle数据库系统由多个组件组成,包括服务器进程、...