`
blueyanghualong
  • 浏览: 227409 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

oracle存储介绍

 
阅读更多

数据库的存在一定需要有永久性存储方式和介质。Oracle自然也不例外,在Oracle10g中,有4种存储形式,分别是操作系统文件,裸分区,自动存储管理,集群系统OCFS(RAC)。下面分别说一下这4种存储形式。

        1 操作系统文件。 这种是大家最常用的方式了,也是非商业运行模式(比如开发或者开发阶段的测试环境)下最常用的形式。当大家安装Oracle的时候,如果选用了操作系统文件的存储形式,那么就会把Oracle的数据存储在操作系统中,以文件的形式存在。就好像我们玩某些单机版游戏,你的存档就是操作系统的文件一样。用文件形式存储数据,带来的优点就是易于数据库移动。比如你把Oracle的数据文件直接copy到一台电脑上,就可以很快复制出一个一样的数据库系统出来。在文件的读写的时候,操作系统通常会提供缓存形式进行读写,避免过多读写硬盘对磁盘造成很大伤害。所以用操作系统文件形式存储数据,等于先天性获得了操作系统的缓存功能。

        2 裸分区。裸分区就是把数据库直接写在磁盘上,不再经过操作系统这一层,Oracle专门来对这个分区进行读写。因为没有了操作系统这一层,所以读写起来的速度和性能是质一般的飞跃的,在某些对Oracle读写非常频繁的数据库应用中,采用裸分区形式存储数据甚至可以提高30%以上的性能。当然,如果数据存储是采用的操作系统文件,如果在Unix下采用RAID对于文件读写操作频繁的情况下也是一个可以提高性能的手段。

        3 自动存储管理。 自动存储管理通常也被称为ASM,是在Oracle 10g以后才提供的一种新的存储形式。这种存储形式貌似是前两种存储形式的折中。既不是用的host操作系统的文件系统,也不是裸分区的形式直接由Oracle读写。而是可以看作为一种Oracle特有的文件系统形式。在ASM上可以存储数据文件,控制文件,日志文件等等,在ASM中,这些也是以文件的形式存在的,只不过这个时候的文件格式是Oracle自有的ASM形式。在Linux中和ASM有点相似的就是LVM(逻辑Volume管理),也是可以看作是一种自有的新的文件系统形式。

        4 集群系统OCFS(RAC)。RAC的全称是什么呢,就是Real Application Cluster,是一种在集群的环境下实现共享的一种数据库存储形式。在通常我们的数据库,如果是单机版的数据库,当数据文件磁盘不能访问,那么这个数据库就挂掉了。如果是集群共享数据库的话,其中一种方法就是在某个节点存放数据文件,其余的数据库都通过NFS或者Samba来进行共享,虽然数据库的数据处理能力得到了很大的提高,不过如果这个存储节点挂掉的话,同样数据库也就宕掉了。而OCFS则是一种无断点恢复的存储形式,在整体给人的感觉就是每台数据服务器都有自己的文件系统,但是这些文件系统又仿佛只是同一个文件系统,因为数据更新或者其他的操作都是很统一的。即使某台电脑挂了,其余的服务器照样运行,不会出现数据库的异常,而如果想新加入一台服务器也是很简单的事。特别适合于商用的7X24这种服务形式。

        Oracle10g中的4种数据存储方式都介绍完了,我们最常用的自然是第一种形式,不过后面三种形式在商用环境下比较多。特别在大型商用对可靠性要去很高应用中,第四种RAC形式的使用是比较多的。当然,这里只是很简要的介绍了一下几个文件系统的概念。如果要仔细了解的话,当然是要好好查阅Oracle技术手册了。

分享到:
评论

相关推荐

    oracle存储过程学习经典入门

    本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...

    oracle 存储过程导出excel

    oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel

    oracle存储过程unwrap解密工具.zip

    Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...

    oracle存储过程解锁

    以下是对“oracle存储过程解锁”这一主题的深入解析。 ### 标题:“oracle存储过程解锁” #### 解析: 在Oracle数据库中,存储过程是一种预先编译并存储在数据库中的SQL代码块,用于执行复杂的业务逻辑或数据处理...

    oracle存储过程常用技巧

    Oracle存储过程常用技巧 Oracle存储过程是一种强大的数据库对象,它可以帮助开发者简化复杂的业务逻辑,并提高数据库的安全性和性能。在 Oracle 中,存储过程是一种特殊的 PL/SQL 程序,它可以接受输入参数,执行...

    帆软报表Oracle存储过程解决storeParameter1参数试用插件

    总结起来,"帆软报表Oracle存储过程解决storeParameter1参数试用插件"主要是针对在调用无参数Oracle存储过程时出现的异常问题提供的一种解决方案。通过安装并配置这个插件,用户可以顺利地在帆软报表中调用不包含...

    oracle存储过程加密破解

    oracle存储过程加密破解 0

    oracle存储过程-帮助文档

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL语句和PL/SQL块,形成可重复使用的代码单元。这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程...

    oracle 存储过程 函数 dblink

    本文主要介绍了Oracle存储过程的概念、创建和调用方法,以及如何使用DBLink实现跨库操作。存储过程提供了强大的数据库处理能力,而DBLink则使得不同数据库实例之间的交互变得更加方便和高效。掌握这些技术对于提高...

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    SQLServer存储过程转为oracle存储过程的工具

    可以将SQL Server存储过程转为oracle存储过程的工具

    hibernate query调用oracle存储过程

    以下是一个简单的示例,展示了如何调用一个不带参数的Oracle存储过程: ```java Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session....

    C# 传入自定义列表List 到Oracle存储过程

    本文将详细讲解如何在C#中使用自定义列表(List)作为参数调用Oracle存储过程,以及实现这一功能的关键技术和注意事项。 首先,我们需要了解Oracle数据库中的PL/SQL类型,例如VARCAR2、NUMBER等,它们对应于C#中的...

    oracle 存储过程批量提交

    ### Oracle存储过程批量提交知识点详解 在Oracle数据库中,存储过程是一种重要的数据库对象,它可以包含一系列SQL语句和控制流语句,用于实现复杂的业务逻辑处理。存储过程不仅可以提高应用程序性能,还可以确保...

    ORACLE存储过程最全教程

    Oracle存储过程是数据库管理系统Oracle中的一个关键特性,它允许开发者编写一组预编译的SQL和PL/SQL语句,以实现特定的业务逻辑或数据库操作。这篇教程将深入讲解Oracle存储过程的各个方面,帮助你从基础到高级全面...

    Oracle存储过程调用bat批处理脚本程序

    本话题将详细探讨如何在Oracle存储过程中调用外部的批处理脚本,如Windows系统的BAT文件,以实现数据库操作与系统命令的集成。 首先,`Oracle存储过程`是一种预编译的SQL和PL/SQL代码集合,可以被多次调用以执行...

    pb中执行oracle存储过程脚本

    标题中的“pb中执行oracle存储过程脚本”指的是在PowerBuilder(简称PB)环境中调用Oracle数据库的存储过程。PowerBuilder是一种可视化的开发工具,常用于构建数据驱动的应用程序。Oracle存储过程则是在Oracle数据库...

    Oracle存储过程返回结果集

    本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...

    shell脚本编译Oracle存储过程

    linux系统中使用shell脚本对oracle存储过程进行编译

Global site tag (gtag.js) - Google Analytics