当前位置:首页 » 操作系统 » oracle数据库总结

oracle数据库总结

发布时间: 2023-08-29 05:51:33

⑴ 学习Oracle数据库的心得体会

学习数据库对我来说是一直都计划学的 没接触的时候总是觉得它比较深奥或是不可接近的电脑知识 尽管自己对电脑非常感兴趣 其实还是有些心理上的陌生感 学习电脑就和我们平时的其它科目学习一样感觉它有永无止境的知识 在这从初接触电脑时连个电脑的键盘都不敢动到现在连硬盘都也修理 其中的过程是多么长啊 数据库是我在高中时候听过 到了大学渐渐了解了些 但就其原理性的内容还不知道 也就是根本就不清楚什么是数据库 只是知道一个所谓的中国字典里的名词 我认识它是从我接触网页制作开始的 初用FrontPage做网页也就是弄几个框图 没什么东西但还觉得不错 后来听朋友说这是最简单最普通的东东 朋友告诉我真真的网页起码也用到数据库这些东西了 有什么前台的后台的 听我的都晕头转向了 感觉自己是一个长不大的菜鸟了 之后我就去查找相关资料发现在数据库有很多种 这才对它有所了解 大一 大二的时候想学可不知道怎么学 从什么地方学起 当时也没注意选课本上有这类的课程 到了大三正式的课程也轻松些了 仔细观摩了选修课发现有数据库 有数据库原理和Oracle数据库 当时感觉Oracle数据库既然是单独一门课程一定会讲的比较细 也能学到真正实用的内容 选上了这门课以后发现和我想的基本是一样的 老师对学生也比较和蔼可亲 对我们要求也不是很紧 让每个人都觉得轻轻松松就能把这门课程学完 没有多么紧张的作业 也没有太苛森销刻的要求 当老师在最后说这个课程结束了 回顾一下以前老师给我们讲过的东西 真的有很多是我们应该去注意的 学习完Oracle数据库后感觉Oracle可分两大块 一块是开发 一块是管理 开发主要是写写存储过程 触发器什么的 还有就是用Oracle的Develop工具做form 有点类似于程序员 当然我可不是什么程序员 有几个程序员朋友他们是我的偶像 开发还需要有较强的逻辑思维和创造能力 自己没有真正做过 但感觉应该会比较辛苦 是青春饭 管理则需要对Oracle数据库的原理有深刻的认识 有全局操纵的能力和紧密的思维 责任较大 因为一个小的失误就会down掉整个数据库 相对前者来说 后者更看重经验 这些东西都是从老师哪里和朋友的讨论中得到的心得 也希望其他朋友能多多向老师和朋友请教 如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难 现在基本上都是团队类型的 而且他们的效率高开发的周期也快 在烟台的 NET俱乐部认识几个比较历害的人 他袜或们的团队精神我比较佩服 像我这样一个大学生和他们说起来此好游太菜了 由于数据库管理的责任重大 很少公司愿意请一个刚刚接触Oracle的人去管理数据库 对于我们这些初出茅庐的新手来说 个人认为可以先选择做开发 有一定经验后转型 去做数据库的管理 当然 这个还是要看人个的实际情况来定 其实在烟台大学里学生中有做的好的也是有 只不过通常象这些兄弟们我觉得很少能发现在 因为我只知道一个 在烟雨楼台的BBS版块里有个程序版块 这位版主以前就是学校网络中心的牛人 他曾告诉我学习的方法就是 看书 思考 写笔记 做实验 再思考 再写笔记 我觉得说的很对 对于新手来说就要这样 不断的去努力奋斗 最后一定能得到自己想要的成果 对于学习Oracle数据库从网络上找资料我认为是比较好的 现在的网络又这么的发达应该去充分利用 我知道Oracle的官方网站 这里有Oracle的各种版本的数据库 应用工具和权威的官方文档 虽然我是个新手 但是常到哪些相关的数据库论坛或是网站觉得每次的收获都不小 网络对我来说可是个重要的东西 除了Oracle数据库对于其它的一些电脑知识都从网络里学习了不少 我常用的一个搜索网站就是大家都熟悉的网络了() 以前没接触过它 现在认识了它才知道Oracle的体系很庞大 要学习它 首先要了解Oracle的框架 它有物理结构(由控制文件 数据文件 重做日志文件 参数文件 归档文件 密码文件组成) 逻辑结构(表空间 段 区 块) 内存分配(SGA和PGA)算机的实际内存中得以分配 如果实际内存不够再往虚拟内存中写 后台进程(数据写进程 日志写进程 系统监控 进程监控 检查点进程 归档进程 服务进程 用户进程) SCN(System Change Number) 这些东西感觉都比较专业 我对它们也就是个知道 想要真真去认识我还得努力去做 虽然懂得还不是很多 起码会了基本的软件操作 老师说我们用的都是客户端 服务端看不到 也不知道服务端是什么样的 只知道客户端就挺多东西的 没有真正的去学习利用是很难掌握的 Oracle数据库的学习使我对数据库的有了新的进步 以后再看到也就不至于什么也不懂 其实那么多数据库我觉得学好一门就行 只是他们的语言可能不大一样 学好一门后就可去认识其它的 这样应该有事半功倍的效果 就像我学习C语言 当时不能说是学习的棒 但不算差 所以我对以后的语言感觉都不是很困难 了解了VB C++还有网页中用的Html语言 asp语言都能看懂 起码可以对别人的东西进行了一下修改 因此 我感谢Oracle数据库老师给了我有用的知识 以便我在以后学习或认识更多的内容能有新的方法和思维 也能更加有效和快速的去消化吸收新的东西 希望在今后中 Oracle能给我更多帮助 让我在我熟悉的VB中运用上去 我以前的一个目标是要为学校的选课做一个选课助手来帮助大学 就用我的VB 不过因为种种原因一直没有完成 也包括我对数据库的不了解 因为学了Oracle以后知道第一项内容是通过sql查询后得到的 如果去把它们联系起来还不是真正明白 不过我相信我的目标能在学习Oracle后得到进展 lishixin/Article/program/Oracle/201311/18934

⑵ Oracle数据库视图管理经验技巧

视图 对于数据库来说 是一个最基本的 也是最重要的功能之一 数据库视图设计的好坏 直接跟数据库的性能相关 而且 在大型数据库设计中 大家分工合作 基础表的设计与报表视图的设陆和计往往由不同的人负责 所以 视图的设计管理跟基础表的设计管理一样 都有很大的学问 在这篇文章中 笔者将结合自己在视图设计管理方面的工作经验 谈谈在这方面的一些鲜为人知的技巧

技巧一 把基础表与视图脱离开来

一般来说 视图都是在基础表的上面建立起来的 也就是说 要先有基础表 而后有视图 但是 在大型数据库的设计过程中 出于项目时间的考虑 往往基础表与视图的设计是同时进行的 如一些人负责基础表的建立 另一些人则负责视图的设计与建立等等 在这个过程中 往往基础表不存在的时候 就需要建立一些视图 以加快项目的进度

为了使得基础表的创建和修改与视图的创建于修改没有必然的联系 以便于员工之间工作的同步 提高工作效率 所以 在Oracle数据库中提出了信宏一个 强制创建视图 的概念 也就是说 正常情况下 如果基本表不存在 则创建视图就会失败 但是 我们可以在创建视图的过程中 加入一个参数 只要创建视图的语法没有错误的话 即使基础表不存在 仍然可以建立这张表格 这个有用的参数就是force选项 如我们建立视图时 CREATE FORCE VIEW TEXT 只需要在关键字VIEW之前加入FORCE参数即可 如此的话 系统在编译视图的时候 就不会去考虑基础表是否存在

不过这里要注意一点 若基础表不存在的话 则编译后该视图的状态为 无效 不能再这个视图的基础上执行一些操作 如查询操作等等 当下次访问这个视图的时候 则数据库会对这个视图进行重新编译 若此时基础表存在了 则该基础表就会变为有效;若基础表不存在 则这视图就会失效

Oracle数据库之所以如此设置 主要是出于在数据库设计过程中协同办公的需要 有了这个功能之后 则在数据库建立的过程中 只要把数据库基础表与视图设计好之后 大家就可以分工合作 在数据库中建立相关的对象 不然的话 要等基础表建立好之后再建立视图 如此就会明显的影响数据库建立的进度 所以 在数据库建立的过程中 特别是中大型的数据库系统 这是一个很实用的功能

技巧二 创建视图的理想步骤

无论是简单视图 还是比较复杂的视图 笔者觉得数据库管理员在创建视图的时候 最好能够遵循一定的步骤 这一方面是因为视图的更改相对来说 是一件比较麻烦的工作 所以 我们在建立视图的时候 要确保视图的准确性 另一方面 视图是基础表的一个体现形式 若不按步骤来做的话 有可能就不能够达到我们预计的需求

当然这个步骤没有官方的版本 完全是数据库管理员根据实际的经验总结出来的 这个步骤不仅对Oracle数据库有效 对于其他数据库来说 也是类似的道理

一般来说 视图创建可以分为五步走

第一步 先考虑Select语句的编写 我们知道 视图其实就是一个Select语句的集合 所以 我们建立视图的第一步 就是考虑这个Select语句该如何编写 这个Select语句编写的是否合理 执行效率的高低直接影响着这个视图的性能 另外 在Select语句中 可能还会有格式的控制 内容的编排等等 如在Select语句中 可以把一些字段合并成一个字段;也可以把相关的内容进行倒置等等 这些功能都是Select语句完成的 所以可以这么说 Select语句的编写是视图建立的基础

第二步 对这个Select语句进行测试 当我们编写好Select语句之后 就需要在数据库中执行这条语句 看其能否查询到我们想要的值 在对Select语句进行测试的时候 需要注意一个问题 有时候Select查询语句可以查到准确的数据 但是在以这条语滑悉册句建立视图的时候 可能就会通不过 如在一些表之间的连接查询的时候 如果两个表中有个字段名相同 是可以的 因为他们除了字段名字之外 还有表名一起来定义这个字段 如A name与B name 这是不算重名的 但是 若在建立视图的时候 这就会被认为是重复的列明 需要对其中的一个列名进行重定义 这一点在数据库视图建立的时候 要特别的注意

第三步 考虑查询结果的准确性 通过查询语句把我们想要的结果查询出来后 我们就需要看看这个结果是否满足我们的需要 在这个过程中 我们主要注意两点 一是形式字段是否齐全 在一些应用系统中 若数据库的视图要能够被前台的应用程序调用的话 则必须包含一些形式字段 如笔者以前在设计一个ERP系统的时候 若前台系统要调用数据库中的视图的时候 必须包含记录更新时间 更新者 记录创建时间 创建者等相关信息 若缺乏这些信息的话 则前台调用这张视图的时候 就会出现错误 故在考虑查询结果准确性的问题的时候 就要考虑到前台应用程序的需要 看看这些形式字段是否齐全 二是实体内容的完整性 我们到底需要显示表中的哪些字段呢 这个我们在这里要确认清楚 若显示内容太多的话 则会影响视图的执行效率 而且也会降低视图的安全性作用;但是 若字段内容显示不足的话 则以后要添加字段的话 会比较麻烦 有一定的工作量 所以在这个检验的时候 需要根据视图的实际功用 确定视图需要显示的内容

第四步 视图的修饰 有时候 为了阅读的方便 我们需要对查询结果进行一些修饰 如现在有两张表 一张是员工基本信息表 这表中有员工姓名 员工职位编号等等;另一张表是职位基本信息表 在这表中有职位编号 职位名称 我们希望在视图中能够如下显示 职位 员工名字 如数据库工程师 Victor 也就是说 把两个字段合并起来 并且在中间加入一个冒号 这些格式性的内容都是在查询的时候实现的 所以 我们确认查询的结果没有错误之后 接下来就要确认格式问题 若能够在视图中规范这些格式问题 则前台的程序设计就会相对来说比较简单

lishixin/Article/program/Oracle/201311/17034

⑶ Oracle数据库概述及特点

Oracle数据库概述及特点

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories)。

ORACLE数据库概论

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的`一种中间件。

ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

ORACLE数据库特点

1、完整的数据管理功能:

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

2、完备关系的产品:

1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

2)保证访问的准则

3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

4)数据物理性和逻辑性独立准则

3、分布式处理功能:

ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。

4、用ORACLE能轻松的实现数据仓库的操作。

这是一个技术发展的趋势,不在这里讨论。

优点

■ 可用性强

■ 可扩展性强

■ 数据安全性强

■ 稳定性强

;

⑷ oracle 数据库 是什么结构

Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。

1. 物理结构

物理数据库结构是由构成数据库肢掘的操作系统文件所决定,Oracle数据库文件包括:

数据文件(Data File)
数据文件用来存储数据库中的全部数据,例如数据库表中的数据和索引数据.通常以为*.dbf格式,例如:userCIMS.dbf 。

日志文件(Redo Log File)
日志文件用于记录数据库所做的全部变更(如增加、删除、修改)、以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。

控制文件(Control File)
每个Oracle数据库都有相应的控制文件,它们是较小的二进制文件,用于记录数据库的物理结构,如:数据库名、数据库的数据文件和日志文件的名字和位置等信息。用于打开、存取数据库。名字通常为Ctrl*ctl 格式,如Ctrl1CIMS.ctl。

配置文件
配置文件记录Oracle数据库运行时的一些重要参数,如:数据块的大小,内存结构的配置等。名字通常为init*.ora 格式,如:initCIMS.ora 。

2 逻辑结构

Oracle数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数据。逻辑结构包括表空间、段、区、数据块和模式对象。数据库的逻辑结构将支配一个数据库如何使用系统的物理空间.模式对象及其之间的联系则描述了关系数据库之间的设计.

一个数据库从逻辑上说是由一个或多个表空间所组成,表空间是数据库中物理编组的数据仓库,每一个表空间是由段(segment)组成,一个段是由一组区(extent)所组成,一个区是由一组连续的数据库块(database block)组成,而一个历颤核数据库块对应硬盘上的一个或多个物理块。一个表空间存放一个或多个数据库的物理文件(即数据文件).一个数据库中的数据被逻辑地存储在表空间上。

表空间(tablespace)
Oracle数据库被划分为一个或多个称为表空间的逻辑结构,它包括两类表空间,System表空间和非System表空间,其中,System表空间是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触洞兆发器的定义以及系统回滚段。除此之外,还能包含用户数据。。

一个表空间包含许多段,每个段有一些可以不连续的区组成,每个区由一组连续的数据块组成,数据块是数据库进行操作的最小单位。

每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间。

数据库块(database block)
数据库块也称逻辑块或ORACLE块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db-block-size(在文件init.ora中)决定,典型的大小是2k。Pckfree 和pctused 两个参数用来优化数据块空间的使用。

区(extent)
区是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位。

段(segment)
段是一个或多个不连续的区的集合,它包括一个表空间内特定逻辑结构的所有数据,段不能跨表空间存放。Oracle数据库包括数据段、索引段、临时段、回滚段等。

模式对象(schema object)
Oracle数据库的模式对象包括表、视图、序列、同意词、索引、触发器、存储.过程等,关于它们将重点在后面章节介绍。

3.Oracle Server系统进程与内存结构

当在计算机服务器上启动Oracle数据库后,称服务器上启动了一个Oracle实例(Instance)。ORACLE 实例(Instance)是存取和控制数据库的软件机制,它包含系统全局区(SGA)和ORACLE进程两部分。SGA是系统为实例分配的一组共享内存缓冲区,用于存放数据库实例和控制信息,以实现对数据库中数据的治理和操作。

进程是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务.对ORACLE数据库治理系统来说,进程由用户进程、服务器进程和后台进程所组成。

当用户运行一个应用程序时,系统就为它建立一个用户进程。服务器进程处理与之相连的用户进程的请求,它与用户进程相通讯,为相连的用户进程的ORACLE请求服务。

为了提高系统性能,更好地实现多用户功能,ORACLE还在系统后台启动一些后台进程,用于数据库数据操作。

系统进程的后台进程主要包括:
SMON 系统监控进程:(system monitor)负责完成自动实例恢复和回收分类(sort)表空间。
PMON 进程监控进程:(PRocess monitor)实现用户进程故障恢复、清理内存区和释放该进程所需资源等。
DBWR 数据库写进程:数据库缓冲区的治理进程。
在它的治理下,数据库缓冲区中总保持有一定数量的自由缓冲块,以确保用户进程总能找到供其使用的自由缓冲块。
LGWR 日志文件写进程:是日志缓冲区的治理进程,负责把日志缓冲区中的日志项写入磁盘中的日志文件上。每个实例只有一个LGWR进程。
ARCH 归档进程:(archiver process)把已经填满的在线日志文件拷贝到一个指定的存储设备上。仅当日志文件组开关(switch)出现时,才进行ARCH操作。ARCH不是必须的,而只有当自动归档可使用或者当手工归档请求时才发出。
RECO 恢复进程:是在具有分布式选项时使用的一个进程,主要用于解决引用分布式事务时所出现的故障。它只能在答应分布式事务的系统中出现。
LCKn 封锁进程:用于并行服务器系统,主要完成实例之间的封锁。
内存结构(SGA)
SGA是Oracle为一个实例分配的一组共享内存缓冲区,它包含该实例的数据和控制信息。SGA在实例启动时被自动分配,当实例关闭时被收回。数据库的所有数据操作都要通过SGA来进行。

SGA中内存根据存放信息的不同,可以分为如下几个区域:Buffer Cache:存放数据库中数据库块的拷贝。它是由一组缓冲块所组成,这些缓冲块为所有与该实例相链接的用户进程所共享。缓冲块的数目由初始化参数DB_BLOCK_BUFFERS确定,缓冲块的大小由初始化参数DB_BLOCK_SIZE确定。大的数据块可提高查询速度。它由DBWR操作。

b. 日志缓冲区Redo Log Buffer:存放数据操作的更改信息。它们以日志项(redo entry)的形式存放在日志缓冲区中。当需要进行数据库恢复时,日志项用于重构或回滚对数据库所做的变更。日志缓冲区的大小由初始化参数LOG_BUFFER确定。大的日志缓冲区可减少日志文件I/O的次数。后台进程LGWR将日志缓冲区中的信息写入磁盘的日志文件中,可启动ARCH后台进程进行日志信息归档。

c. 共享池Shared Pool:包含用来处理的SQL语句信息。它包含共享SQL区和数据字典存储区。共享SQL区包含执行特定的SQL语句所用的信息。数据字典区用于存放数据字典,它为所有用户进程所共享。

Cursors:一些内存指针,执行待处理的SQL语句
其他信息区:除了上述几个信息区外,还包括一些进程之间的通讯信息(如封锁信息);在多线索服务器配置下,还有一些程序全局区的信息,请求队列和响应队列等。 本文来自: http://hi..com/ipbun/blog/item/3f75d7230a7f5ee698250a7c.html

热点内容
我的世界领域服务器 发布:2025-02-01 07:30:06 浏览:156
线性表有哪两种存储结构 发布:2025-02-01 07:30:04 浏览:216
坡向压缩机 发布:2025-02-01 07:09:10 浏览:410
夏新手机初始密码是什么 发布:2025-02-01 06:58:23 浏览:790
ppt存储路径 发布:2025-02-01 06:55:06 浏览:115
aspx脚本 发布:2025-02-01 06:44:13 浏览:999
访问策略更新 发布:2025-02-01 06:39:29 浏览:498
pythoneditplus 发布:2025-02-01 06:31:57 浏览:275
bmp转png源码 发布:2025-02-01 06:30:08 浏览:470
魔兽联盟人多的服务器是什么 发布:2025-02-01 06:25:25 浏览:41