oracal从入门到精通(一)

2023-11-15


1.1了解最新版本Oracle 11g
可以在Oracle的官方网站www.oracle.com获取Oracle的版本信息。
本书中要讲解的是Oracle 11g的第1版,所以在这里只对Oracle 11g的各版本做以说明。Oracle 11g分为Oracle 11g 11.1.0.7.0和Oracle 11g 11.1.0.6.0两个版本。其中,Oracle 11g 11.1.0.7.0版本主要安装在Windows Server 2008系统中使用。Oracle 11g 11.1.0.6.0版本中所支持的操作系统比较广泛,主要有:
❑ Microsoft Windows(32位)
❑ Microsoft Windows(x64)
❑ Linux x86
❑ Linux x86-64
❑ Solaris(SPARC)(64位)
❑ AIX(PPC64)
❑ HP-UX Itanium
❑ HP-UX PA-RISC(64位)
安装到Windows 2003系统或者Windows XP系统中时,使用Microsoft Windows(32位)即可。在第2章中将具体讲述Oracle的安装过程。
1.1.3 Oracle与SQL Server
1. 对操作系统的支持
Oracle数据库对操作系统的支持比SQL Server数据库更多。Oracle可以支持的操作系统有Windows系统、Linux系统、苹果的操作系统等;而SQL Server由于是微软研发的,所以目前支持的操作系统只有Windows操作系统。另外,对于SQL Server数据库,通常只能在Windows Server系列的操作系统上安装企业版,而普遍使用的Windows XP系统只能安装SQL Server的个人版或开发版。因此,当数据库服务器是非Windows系统时,只能使用Oracle数据库;当数据库服务器是Windows操作系统时,才可以考虑使用SQL Server数据库。
2. 数据库的架构
在Oracle数据库中,一个实例只能管理一个数据库,只有数据库在集群的环境下才能实现多个数据库被一个实例管理;而SQL Server数据库是一个实例管理多个数据库
3. 数据库的安全性
SQL Server系统数据库没有通过安全性认证,而Oracle数据库是获得ISO安全认证的数据库,所以说Oracle的安全性更好一些。
4. 内存分配
Oracle的内存分配大部分是由INIT.ORA来决定的,而SQL的内存分配主要有动态内存分配和静态内存分配
1.2 回忆Oracle的产品版本
Oracle发展到目前的Oracle 11g版本,是历经30多年努力实现的成果。
❑ 最早的Oracle版本是在1979年的夏季发布的,该版本在Oracle出品时被称为Oracle的第2版,这也是出于营销的考虑。这个数据库产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。
❑ 1983年3月,Oracle发布了第3版。该版本是使用C语言重新编写第2版得到的,这也是为什么Oracle的可移植性非常好的主要原因。
❑ 1984年10月,Oracle发布了第4版,产品的稳定性得到很大的提高。
❑ 1985年,Oracle发布了第5版。该版本的稳定性又有了很大的提高,这也是首批可以在C/S模式下运行的数据库产品。
❑ 1988年,Oracle发布了第6版。在发布第6版之前,Oracle公司已经上市了。第6版中引入了很多新特性,主要有行级锁、联机热备份等功能,在一定程度上增强了Oracle的可用性。
❑ 1992年6月,Oracle发布了第7版。在该版本中增加的新特性主要有:分布式事务处理能力、对数据库管理功能的增强,同时也提高了数据库的安全性。Oracle在第7版产品的推进下销售额倍增。
❑ 1997年6月,Oracle发布了第8版。Oracle 8支持面向对象的开发及新的多媒体应用,这个版本也为支持Internet、网格计算等奠定了基础。同时,这一版本开始具有同时处理大量用户和海量数据的特性。
❑ 1998年9月,Oracle发布了8i版,“i”代表Internet。该版本中添加了大量为支持Internet而设计的特性。同时,这一版本为数据库用户提供了全方位的Java支持。Oracle 8i成为第一个完全整合了本地Java运行环境的数据库,用Java就可以编写Oracle的存储过程。
❑ 2001年6月,Oracle发布了Oracle 9i。在Oracle 9i的诸多新特性中,最重要的就是Real Application
Clusters(RAC)了。说起Oracle集群服务器,早在第5版时,Oracle就开始开发Oracle并行服务器(Oracle Parallel Server,OPS),并在以后的版本中逐渐完善了其功能,不过,严格来说,尽管OPS算得上是个集群环境,但是并没有体现出集群技术应有的优点。
❑ 2003年9月8日,Oracle发布了10g版本。10g版本是Oracle应用服务器版本,这里的“g”代表“grid”(网格)。在这个版本中加入了网格计算的功能。
❑ 2007年11月,Oracle发布了11g版本。这也是目前最新的版本,该版本大大提高了系统性能的安全性,并有了多项的创新,比如实现了信息生命周期管理、全新的Data Guard将可用性最大化,同时利用数据压缩技术大幅降低了数据存储的支出,缩短了应用程序测试环境部署所花费的时间。
1.3 学习Oracle 11g的新特性
Oracle 11g是目前使用比较多的一个版本,也是性能比较稳定的版本。
1.3.1 数据库管理部分
数据库管理部分是Oracle 11g中的核心,在这一部分,甲骨文公司为Oracle增加了如下8个主要特性。
(1)数据库重放
数据库重放在Oracle 11g中主要体现在两个部分,一个是数据库重放;一个是SQL重放。新的数据库重放工具好似数据库内的DVR。利用该方法,可以方便地以二进制文件格式捕获SQL级别以下的所有数据库活动,然后在同一数据库或不同数据库内进行重放。此外,还可以自定义捕获流程,以包括或排除某些特定类型的活动。SQL重放与数据库重放的特性类似,但只是捕捉SQL负载部分。
(2)SQL计划管理
之前,我们可以使用存储大纲和SQL Profile来帮助我们固定某条SQL语句的执行计划,防止由于执行计划发生变化而导致的性能下降。不过这些技术需要DBA人为的处理,比如存储大纲,需要DBA手工创建,而对于SQL Profile来说,则要DBA手工应用才能生效。从Oracle 11g开始,引入了SQL执行计划管理这个新特性,从而可以让系统自动控制SQL语句执行计划的稳定性,进而防止由于执行计划发生变化而导致的性能下降。
(3)自动存储管理
用于管理ASM实例的新的SYSASM角色,用于降低共享池使用的可变的区大小,以及实例能够读取磁盘组的特定磁盘。
(4)自动的健康检查
Oracle能够自动地对数据库进行健康检查,对于有可能导致数据库在将来出现问题的一些因素,给DBA发送告警信息,并针对潜在问题给出一些建议。这样可以在问题严重之前发现数据库的问题,从而避免灾难性的事件发生。
(5)企业管理器功能的增强
在企业管理器中增加了一个LOGMINER接口,该接口主要用作日志的查询。通过该接口,还可以在企业管理器的GUI页面中获取日志挖掘的图形。
(6)自动诊断知识库
当Oracle探测到重要错误时,会自动创建一个事件,并且捕捉到和这一事件相关的信息,同时自动进行数据库健康检查并通知DBA。
(7)闪回事务
使用闪回事务可以回退事务,即使是已经提交的事务。这对于更正一些用户错误非常有用。比如,用户不小心执行了一些事务,并且在这些事务里对数据库的数据做了一些更改,当用户提交事务后,发现这些更改是错误的,想要回退这些更改,这时就可以使用闪回事务了。DBA只需要简单地将这些事务闪回,即可把用户犯下的错误更正过来。
(8)自动内存优化
在Oracle 11g中,所有内存可以通过只设定一个参数来实现全表自动优化。你只要告诉Oracle有多少内存可用,它就可以自动指定多少内存分配给PGA、多少内存分配给SGA以及多少内存分配给操作系统进程。
1.3.2 PL/SQL部分
PL/SQL部分是指一些SQL语句的变化,通过这些变化,增强了Oracle 11g中SQL语句的功能。下面就简单讲述3个在Oracle 11g中新增加的特性。
(1)触发器
在Oracle 11g中除了以前用的触发器之外,还引入了一个复合触发器。复合触发器就是在一个触发器中使用4部分内容,即申明部分、before过程部分、after each row过程部分和after过程部分。此外,在Oracle 11g中还可以设置触发器的顺序,比如为一个表设置几个触发器,可以指定先执行哪个触发器的内容等。
(2)对象依赖性改进
在Oracle 11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及函数或视图所依赖的属性,都会使函数或视图变为invalid。在Oracle 11g中对这种情况进行了调整,如果表改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。
(3)SQL语法
在SQL语法部分中,我们在调用某一函数时,可以通过=>来为特定的函数参数指定数据。这一语法也同样可以出现在SQL语句中。
除了在数据库管理和PL/SQL部分新增加的特性之外,Oracle 11g还在数据的备份和恢复中增强了RMAN的恢复功能,提供的数据压缩技术可以最多压缩2/3,同时还提供了在线升级等功能。总之,Oracle 11g是Oracle版本中功能最强的版本,由于Oracle 11g提供的新特性很多,这里只列举了几个比较重要的新特性,其他的新特性可以登录Oracle的官方网站查看。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracal从入门到精通(一) 的相关文章

  • 在 Oracle 临时表上放置索引安全吗?

    我读过 不应分析临时表 因为它会破坏其他表的统计信息 指数怎么样 如果我在程序运行期间在表上放置索引 使用该表的其他程序会受到该索引的影响吗 索引是否会影响我的进程以及使用该表的所有其他进程 或者它会单独影响我的过程吗 所有的回复都不是权威
  • 从 oracle 中为每个组选择最新行

    我在留言簿中有一张包含用户评论的表格 列有 id user id 标题 评论 时间戳 我需要为每个用户选择最新行 我尝试使用 group by 执行此操作 但没有管理它 因为我无法在按 user id 分组的同一查询中选择任何其他内容 SE
  • Oracle - 仅当不存在时才创建索引

    有没有什么方法可以在oracle中创建索引 只有当它们不存在时 就像是 CREATE INDEX IF NOT EXISTS ord customer ix ON orders customer id 仅当索引不存在时添加索引 declar
  • 用C++连接oracle数据库

    我正在寻找一种方法来连接到远程 Oracle 数据库并从 C 控制台应用程序中的表中读取一些数据 有人可以给我一些提示吗 谢谢 soci http soci sourceforge net http soci sourceforge net
  • 如何使用 Hibernate Session.doWork(...) 进行保存点/嵌套事务?

    我正在使用 JavaEE JPA 托管事务与 Oracle DB 和 Hibernate 并且需要实现某种嵌套事务 据我所知 此类事情不受开箱即用的支持 但我应该能够为此目的使用保存点 正如建议的https stackoverflow co
  • 在 BEFORE INSERT 触发器中使用 IF EXISTS (SELECT ...) (Oracle)

    我的代码不起作用 Oracle 告诉我创建触发器时出现构建错误 显然我无法获得有关构建错误的更准确信息 我以前确实没有做过很多SQL 所以我对语法不太熟悉 我有一种预感 Oracle 不喜欢我的 IF EXISTS SELECT THEN
  • 如何在 Oracle 上生成版本 4(随机)UUID?

    该博客解释说 输出sys guid 对于每个系统来说不是随机的 http feuerthoughts blogspot de 2006 02 watch out for sequential oracle guids html http f
  • simpleJdbcCall 调用 Pl/SQL 过程 -- ORA-22922 不存在的 LOB 值

    我收到此 SQLException ORA 22922 不存在的 LOB 值 我的场景是 我正在调用一个采用结构数组的过程 该结构体包含三种类型 两种是日期 一种是 Clob 当我使用 Spring 的 simpleJdbcCall 设置
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • 具有连字符的 Oracle 正则表达式在 Windows 上给出的结果与在 Unix 上不同

    我有以下带有正则表达式的查询 select REGEXP REPLACE TEST 3304 V2 lt gt as REG from dual 当通过 SQL Plus 在Windows机器返回以下内容 SQL gt select REG
  • 使用 Hibernate 将 Oracle 日期映射到 Java 对象

    我收到消息 文字与格式字符串不匹配 例如 以下是 Java 类中的一些方法 public String getDateTime public void setDateTime String date time 以下是该类的 Hibernat
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • Oracle:动态设置表中所有 NOT NULL 列以允许 NULL

    我有一个包含 75 多个列的表 几乎所有列都有 NOT NULL 约束 如果执行巨大的更改表修改语句 其中的每一列 我会收到一条错误消息 内容大致为 您不能将此字段设置为 NULL 因为它已经是 NULL 我必须对几个表执行此操作 因此更希
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • PLSql 返回值

    我再次使用一些 PLSql 我想知道 是否有任何方法可以像选择一样使用以下函数 而不必将其转换为函数或过程 这样我就可以从包含它的脚本中看到代码 代码如下 DECLARE outpt VARCHAR2 1000 flow rI VARCHA
  • 如何在PL/SQL中模拟32位有符号整数溢出?

    您知道如何在 Oracle PL SQL 中模拟 32 位整数溢出吗 例如 2147483647 1 2147483648 or 2147483648 1 212147483647 我尝试了 PLS INTEGER 但它引发了溢出异常 我终
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We
  • 如果 Oracle SQL 中存在视图,则删除视图[重复]

    这个问题在这里已经有答案了 我是 Oracle 数据库系统的新手 Oracle 12c 中以下 SQL 语句的等效项是什么 DROP VIEW IF EXIST
  • 存储过程错误 PLS-00201:必须声明标识符“UTL_HTTP”

    我正在尝试创建一个从服务请求一些 XML 数据的存储过程 我在网上找到了几个示例 它们都指向使用这个 UTL HTTP 包 但是 每次我尝试用它来编译我的存储过程时 我都会收到错误 PLS 00201 identifier UTL HTTP
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a

随机推荐

  • js 数组id去重

    可以用下面的方法来去除数组中的重复项 先将数组转换为 Set 类型 然后再转回数组 这种方法的缺点是会丢失原数组的顺序 const arr 1 2 3 3 2 1 const unique new Set arr console log u
  • C语言PTA题目:7-22 1022 利息

    输入存款金额money 存期year和年利率rate 根据下列公式计算存款到期时的利息interest 税前 输入格式 输入可能有多行 每行有3个整数 分别表示金额 存期 年 年利率 百分比数 输出格式 根据money 1 rate yea
  • 服务器怎么把自己的项目放上去,怎么把项目放到云服务器上

    怎么把项目放到云服务器上 内容精选 换一换 云服务器组是对云服务器的一种逻辑划分 云服务器组中的弹性云服务器遵从同一策略 当前仅支持反亲和性 即同一云服务器组中的弹性云服务器分散地创建在不同的主机上 提高业务的可靠性 您可以使用云服务器组将
  • 微信小程序:字体保持大小

    小程序和网页差不多 前台用wxml把内容摆好 然后用css调整样式 所以和web一样 必须要能够精确控制每一个元素的大小 在Web中 通过CSS基本达到了像素级的控制 但在小程序中 情况有所不同 下面是我通过微信提供的事件分析 把近7天访问
  • 数字化转型方法论汇总(学习笔记)

    数字化转型方法论汇总 德勤制造业数字化转型方法论 数字化转型的3大要点 1 从满足利益相关者期望出发 2 以企业价值引领业务模式创新 3 以信息作为企业神经中枢 重塑组织协同 一 关注集团利益相关者 两类利益相关者 集团外部的证监会 国资委
  • 比较2个数组是否一样

    需求 如果两个数组的类型 元素个数 元素顺序和内容是一样的我们就认为这2个数组是一模一样的 请使用方法完成 能够判断任意两个整型数组是否一样 并返回true或者false 分析 1 定义方法 接收2个整型数组 gt 是否需要参数 返回值类型
  • 《Win10——如何进入高级启动选项》

    Win10 如何进入高级启动选项 第一种方法 1 管理员命令提示符输入如下代码 自动重启并进入高级启动选项 shutdown r o f t 00 第二种方法 1 管理员命令提示符输入以下代码 开机时按下F8 进入高级启动选项 bcdedi
  • java基础总结(二十五)--访问修饰符protected

    三 protected 关键字的真正内涵 很多介绍Java语言的书籍 包括 Java编程思想 都对protected介绍的比较的简单 基本都是一句话 就是 被protected修饰的成员对于本包和其子类可见 这种说法有点太过含糊 常常会对大
  • 基于python 自写Tobii VI-T滤波器

    文章目录 官网参考文档 Gap fill in interpolation Eye selection Noise reduction Velocity calculator I VT classifier Merge adjacent f
  • react-router-dom V6

    目录 1 前言 2 变更概览 将 Switch 升级为 Routes 路由匹配组件参数 由 component 改为 element 相对路径识别 子路由不需要补全父路由的path react会自动补全 用 useNavigate 替代 u
  • web开发编码_编码和游戏开发

    web开发编码 As a game enthusiast and a beginner programmer I always wonder what it would be like to develop a game 作为游戏发烧友和初
  • 入门接口测试

    首先 什么是接口呢 接口一般来说有两种 一种是程序内部的接口 一种是系统对外的接口 系统对外的接口 比如你要从别的网站或服务器上获取资源或信息 别人肯定不会把数据库共享给你 他只能给你提供一个他们写好的方法来获取数据 你引用他提供的接口就能
  • gcc 若干安全相关选项

    1 FORTIFY SOURCE buffer over flow 防御 参考 http fedoraproject org wiki Security Features Compile Time Buffer Checks 28FORTI
  • Elasticsearch8.2扩容挪数据master出现异常

    背景 1 ES 8 2 版本集群 从10节点扩到20节点 变更 目标替换老的10个节点 先扩容新节点再下掉老节点 2 挪数据执行exclude API 排除老节点IP 设置迁移速率为800Mb s 默认40Mb s 异常 1 迁移过程中突然
  • python笔记第四章---选择结构

    一 程序的组织结构 fact 任何简单或复杂的算法都可以由顺序结构 选择结构和循环结构这三种基本结构组合而成 顺序结构 计算机的流程控制 选择结构 if语句 循环结构 while语句 for in语句 1 顺序结构 程序从上到下顺序的执行代
  • Linux文件权限的设置

    本文章主要介绍了对Linux文件的权限以及如何设置权限 一 查看文件的权限与属性 ls l 或者 ll查看文件属性 二 可以列出如下图所示的一些信息 rw r r 第一位代表文件类型 d 表示目录 l 表示链接文件 表示普通文件 b 表示快
  • Postman测试webService接口

    1 打开Postman界面如下 设置Content Type text xml 2 设置body 3 请求结果如下 4 至此通过Postman进行webService接口测试测试完毕
  • 使用过滤器和request装饰增强来彻底解决乱码问题

    在客户端以get或者post方式提交数据时 可能会出现客户端与服务端编码集不匹配而发生乱码的现象 在对post方式产生的乱码我们可以用 request setCharacterEncoding utf 8 语句来解决 在对get方式产生的乱
  • maven&​ Plugin ‘org.apache.tomcat.maven:tomcat7-maven-plugin:2.2’ not found​报错解决【问题及解决过程记录】

    目录 什么是 Maven 安装 解压后需要配置环境变量 在path新增路径 验证maven安装成功 Win R打开cmd 输入mvn v 在配置文件中设置本地仓库路径 maven仓库的种类和关系 编辑 maven目录结构 编辑 maven的
  • oracal从入门到精通(一)

    1 1了解最新版本Oracle 11g 可以在Oracle的官方网站www oracle com获取Oracle的版本信息 本书中要讲解的是Oracle 11g的第1版 所以在这里只对Oracle 11g的各版本做以说明 Oracle 11