我要投稿 投诉建议

oracle学习心得

时间:2021-01-15 10:05:55 心得体会 我要投稿

oracle学习心得

oracle学习心得1

  一个好的程序,必然联系着一个庞大的数据库网路...

oracle学习心得

  今年我们学习了 oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于 oracle数据库的一些知识。

  1.ORACLE的特点:

  可移植性 ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性 由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。

  可联结性 对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。

  2.ORACLE的总体结构

  (1)ORACLE的文件结构 一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。

  数据文件 一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。

  日志文件 须有两个或两个以上,用来记录所有数据库的变化,

  用于数据库的恢复。控制文件 可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件 含有数据库例程起时所需的配置参数。

  (2)ORACLE的内存结构 一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。

  SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。

  PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。

  (3)ORACLE的进程结构ORACLE包括三类进程:

  ①用户进程 用来执行用户应用程序的。

  ②服务进程 处理与之相连的一组用户进程的请求。

  ③后台进程 ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括:

  DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。

  SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON(Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。

  ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB中事务恢复进程RECO和对服务进程与用户进程进行匹配的Dnnn进程等。

  3.ORACLE的逻辑结构

  构成ORACLE的数据库的逻辑结构包括:

  (1)表空间

  (2)5种类型的段(segment)

  ①数据段;②索引段;③回滚(rollbock)段;④临时段;⑤自举(bootstrap)段。

  段的分配单位叫范围(Extent)

  表空间(Tablespace) 一个数据库划分成的若干逻辑部分称为表空间。一个数据库可以有一个或多个表空间,初始的表空间命名为SYSTEM,每一个逻辑表空间对应于一个或多个物理文件。DBA使用表空间做以下工作:

  控制数据库对象,如表、索引和临时段的空间分配。为数据库用户设置空间配额。

  利用个别表空间的在线或离线,控制数据的可用性。后备或恢复数据。

  通过分配空间,以改进性能。

  在每个数据库中都存在SYSTEM表空间,它在建立数据库时自动建立。在该表空间中,包含数据库的数据字典,其中存储全部数据库对象的名字和位置。

  SYSTEM表空间总是在线的,像其它表空间一样,可以通过增加新的数据库文件来扩大。一个表空间可包含许多表和索引。但一个表和索引不能跨越表空间,可跨越组成表空间的文件。在DB的打开的情况下,DBA利用ALTER TABLESPACE语句,可以实施表空间的在线或离线。SYSTEM表空间必须在线。表空间离线有下列原因:

  一般为了使部分数据库不能使用,而允许正常存取数据库其余部分。执行表空间离线备份。

  一个离线的表空间,不能被应用用户读或编辑。

  可以增加数据文件扩大已有的表空间,也可增加新的表空间使数据库容量增大,或分配空间给某个应用。使用ALFER TABLESPACE ADD FILE语句将另一个数据文件加入到已存在表空间中。使用CREATE TABLESPACE语句可建立一个新的表空间。段(segment) 表空间中的全部数据存储在以段划分的数据库空间中。一个段是分配给数据库用于数据存储的范围的集合。数据可以是表、索引或RDBMS所需要的临时数据。段是表空间的下一个逻辑存储的级别。一个段不能跨越一个表空间,但可跨越表空间内的文件。一个数据库最多需要五种段类型:

  数据段 一个包含一个表(或聚集)的全部数据,一个表(或聚集)总有一个单个数据段。

  索引段 一个索引段包含对一个表(或聚集)建立的一个索引的全部索引数据。一个表可以有一个、多个或者没有索引段,取决于它所拥有的索引个数。一个聚集必须至少有一个索引段,即在聚集码上

  建立聚集索引。

  回滚段 每个DB有一个或多个回滚段。一个回滚段是DB的一部分,它记录在某一情况下被撤消的动作。回滚段用于事务控制和恢复。

  临时段 在处理查询时,ORACLE需要临时工作空间,用于存储语句处理的中间结果,这个区称为临时段。

  自举段 自举段在SYSTEM表空间中,在数据库建立时建立。它包括数据字典定义,在数据库打开时装入。

  4.用户数据库对象

  由用户建立的对象驻留在表空间中,含有真正的数据。数据库对象有表、视图、聚集、索引、伪列和序号生成器。

  (1)聚集(Cluster) 聚集是存储数据的一种可选择的方法。聚集包括存储在一起的一组表,它们共享公共列并经常一起使用。由于内容相关并且物理地存储在一起,存取时间得到改进,存储空间可以减少。聚集是一种优化措施。

  聚集对性能的改进,依赖于数据的分布和SQL操作的内容。特别是使用聚集对连接非常有利。可以明显地提高连接的速度。建立聚集命令的基本格式:

  SQL>CREATE CLUSTER〈聚集名〉(列定义[,…]);利用聚集建立表命令基本格式:

  SQL>CREATE TABLE〈新表名〉(列定义[,…]CLUSTER〈聚集名〉(聚集列);

oracle学习心得2

  一、定位

  oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。

  因为数据库管理的'责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。

  二、学习方法

  我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记

  看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。

  学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。

  学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了

  很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性,没有钻研的学习态度,不管学什么东西,都不会成功的。

  三、oracle的体系

  oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。

  1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)

  控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件

  数据文件:存储数据的文件

  重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件

  参数文件:定义Oracle例程的特性,例如它包含调整SGA中一些内存结构大小的参数

  归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。密码文件:认证哪些用户有权限启动和关闭Oracle例程

  2、逻辑结构(表空间、段、区、块)

  表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。段:是对象在数据库中占用的空间区:是为数据一次性预留的一个较大的存储空间块:ORACLE最基本的存储单位,在建立数据库的时候指定

  3、内存分配(SGA和PGA)

  SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

  PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反PGA是只被一个进程使用的区域,PGA在创建进程时分配在终止进程时回收

  4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)

  数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件

  系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控:负责在一个Oracle进程失败时清理资源

  检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。

  归档进程:在每次日志切换时把已满的日志组进行备份或归档服务进程:用户进程服务。

  用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询数据。

  5、oracle例程:Oracle例程由SGA内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。

  6、SCN(SystemChangeNumber):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。

  四、深入学习管理:可以考OCP证书,对oracle先有一个系统的学习,然后看OracleConcepts、oracleonlinedocument,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。

  开发:对于想做Oracle开发的,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分。PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。Oracle的开发工具主要就是Oracle自己的DeveloperSuite(OracleFormsDeveloperandReportsDeveloper这些),学会如何熟练使用这些工具。

【oracle学习心得】相关文章:

Oracle面试试题06-22

oracle论文开题报告07-05

Oracle DBA面试试题06-17

Oracle面试试题题库06-17

Oracle面试题库06-19

oracle论文的参考文献11-24

某公司的Oracle面试题大全06-22

英语的学习心得04-27

小学英语学习心得04-25

美术培训学习心得04-15