oracle系统

oracle中的一些基本概念

筅森魡賤 提交于 2020-01-13 03:04:52
  Oracle数据库的物理文件是存储在磁盘上的数据文件、控制文件和日志文件的总称。数据文件和日志文件是数据库中最重要的文件。数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间由数据块组成。那么,数据在数据文件中是如何组织的呢?要了解这些内容我们首先必须理解什么是表空间(tablespace)、段(segment)、区(extent)、块(block),这些都是oracle数据库在数据文件中组织数据的基本单元。    块(block) 是数据存储的物理单位,也是数据文件中最基础的单位。数据直接存储在块上,块是oracle空间分配的最小单位。oracle中的块大小常见的有三种:2KB、4KB、8KB。块的大小在数据库创建时就已经固定下来,数据库中每个块的大小都是相同的,而且所有的块都有相同的格式,由“块头+表目录+行目录+空闲空间+数据空间”组成。块头包含着块类型(比如是表块、还是索引块)的信息、磁盘上块的位置等信息。表目录(table directory),如果有的话,包含着此块中存储各行的表的信息(如果一个块中存有多个表中的数据)。行目录(row directory)包含着数据行的描述信息,它是一个指针数组,指示了每一行在数据块中的物理位置。块头、表目录、行目录统称为块开销(block overhead),是oracle用来统计、管理块本身的

mysql表空间与oracle表空间区别 及mysql表oracle表区别

十年热恋 提交于 2020-01-13 00:17:49
看到 存储引擎发现系统表空间这一章。感到很困惑。它不像oracle表空间那样是共享的。所以就来分析一下,mysql的表空间有什么不同。不同点:mysql:mysql的表空间分为两个文件一个是*.ibd文件存储数据索引...等数据信息。且只针对一张表。还有一个文件是*.frm这个文件是存储表的元数据。oralce:oralce的表空间是共享的。可以存储多个表,也可以存储多个模式下的对象。不仅存储数据信息,而且还存储元数据。以上分析只针对innodb存储引擎。其他引擎根据实际情况来定 一、并发性 并发性是Oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。 Mysql: mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。 虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。 Oracle: Oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以Oracle对并发性的支持要好很多。 二、一致性 Oracle: Oracle支持serializable的隔离级别,可以实现最高级别的读一致性

oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

…衆ロ難τιáo~ 提交于 2020-01-12 17:48:17
数据文件和日志文件是数据库中最关键的文件。它们是数据存储的地方。每一个数据库至少有一个与之相关的数据文件,通常情况下不仅仅一个,有非常多。数据在数据文件里是怎样组织的?要了解这些内容我们首先必须理解什么是表空间(tablespace)、段(segment)、区(extent)、块(block),这些都是oracle数据库在数据文件里组织数据的基本单元。如今我们来理解这些概念。 块是数据存储的物理单位,也是数据文件里最基础的单位,数据直接存储在块上。是oracle空间分配的最小单位。oracle中的块大小常见的有三种,2KB、4KB、8KB。块的大小在数据库创建时就已经固定下来,数据库中每一个块的大小都是同样的,并且全部的块都有同样的格式,由“块头+表文件夹+行文件夹+空暇空间+数据空间”组成。块头包括着块类型(比方是表块、还是索引块)的信息、磁盘上块的位置等信息。表文件夹(table directory),假设有的话,包括着此块中存储各行的表的信息(假设一个块中存有多个表中的数据)。行文件夹(row directory)包括着数据行的描写叙述信息,它是一个指针数组,指示了每一行在数据块中的物理位置。块头、表文件夹、行文件夹统称为块开销(block overhead),是oracle原来统计、管理块本身的。剩下的两部分非常easy,已经存有数据的就是数据空间,临时没存的就是空暇空间。

导入本地的oracle数据库文件

谁说胖子不能爱 提交于 2020-01-12 10:40:43
之前接触的项目表空间最大也不超过10G,所以导入数据库时一直使用 导入本地的oracle数据库文件 的方法,即根据dmp文件大小设置一个数据文件,设定表空间最大值。 --创建表空间,数据文件为'F:\app\zang\oradata\orcl\charge_zang.dbf',初始大小50M,递增10M,最大递增到2G create tablespace charge_zang datafile 'F:\app\zang\oradata\orcl\charge_zang.dbf'   size 50M   autoextend on next 10M   maxsize 2048M; 生产环境考虑到数据库可能一直增加信息,所以放开表空间大小限制,语句如下: --改变用户表空间容量限制,不做限制 ALTER USER ankangreli QUOTA UNLIMITED ON ankangrelir_data; 但是今天开会讨论了一个问题,公司接手了一个项目,新客户原先使用的系统,数据库大小有2T,现在需要对他的数据库信息进行整理和迁移,首先的步骤是把客户的数据库导入我们的服务器,为此公司特地买了块8T的外接硬盘(不到2000块!),这按我之前的方法导入,即使放开容量限制,也会到达oracle的容量限制,因此需要换种方法来导入。 导入之前了解一些概念: 表空间数据文件容量与DB

Oracle管理表空间和数据文件详解

依然范特西╮ 提交于 2020-01-12 06:45:32
管理表空间和数据文件 介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括表空间、段、区、块 说明: 数据库由表空间构成 而表空间又是由段构成 而段又是由区构成 而区又是由Oracle块构成 这样的一种结果,可以提高数据库的效率 表空间 介绍: 表空间用于从逻辑上组织数据库的数据 数据库逻辑上是由一个或是多个表空间组成的 表空间的作用: 1、控制数据库占用的磁盘空间 2、dba可以将不同数据类型部署到不同的位置。这样有利于提高i/o性能,同时利于备份和恢复等管理操作 建立表空间 建立表空间是使用create tablespace命令完成的,要注意时,一般情况下,建立表空间是特权用户或是dba来执行的,如果用其它用户来创建表空间,则用户必须要具有create tablespace的系统权限 建立数据表空间 在建立数据库后,为便于管理表,最好建立自己的表空间 create tablespace 表空间名 datafile '数据文件路径' size 数据文件的大小 uniform size 区的大小; create tablespace tangtao001 datafile 'd:\t001.dbf' size 20m uniform

再次解决 尝试加载 Oracle 客户端库时引发 BadImageFormatException

你离开我真会死。 提交于 2020-01-12 06:30:38
依旧是32位和64位的问题,解决思路其实还是要保证生成程序是32位程序且Oracle客户端访问使用32位的即可。 环境是WIN10+ VS2017+ORACLE 11G 32客户端 +orcle未知版本数据库 主要尝试了几个地方: 1、VS 修改了 Web里面的服务器,将服务器修改成了“本地IIS”,主要是不知道系统自带的IIS Express运行是以什么应用池版本运行的。用本地IIS可以在IIS管理器上将虚拟目录的应用池控制为32位运行。但是事实证明,我解决了此问题后再把服务器切回 IIS Express依旧可以运行。此尝试可能毫无意义。 2、调整环境变量 这个在之前一次解决这个问题时就是使用的这个方法,绝大部分网上也是这个方法解决的。最关键的是要找到正确的OCI路径。这个有个小技巧就是一般如果有第三方ORACLE管理工具如:PLSQL或者NaviCat时可以从这些工具中找到可以使用的OCI路径。 另外在用户环境变量底下增加了一个 ORACLE_HOME 变量路径和PATH变量相同。 改完尝试依旧无法使用。 最后使用重启大法后,再次尝试就好了。应该是PATH这些环境变量修改后没有生效重启后生效所致。 来源: https://www.cnblogs.com/xxaxx/p/8971529.html

Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLA

久未见 提交于 2020-01-12 05:16:34
问题描述 图形化安装时: 报错: Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed 解决办法 正确的登录方式:在字符界面,直接使用 oracle 用户通过 xstart登录 即可进行安装。或者以图形界面启动系统,再使用 oracle 用户登陆,即可进行安装。 失败的登陆方式:以root用户登录Xwindow,然后su - oralce,这样在进行安装时,就会提示上述那些错误了。 总结:但我当时第一次试着在字符界面通过 oracle 用户 xstart 时,提示错误信息,无法进入图形界面。然后我把 /ect/inittab 改成图形方式启动时,以 oracle 用户登录,可以进入。然后在次将 /ect/inittab 改成字符界面启动,reboot 之后,通过 oracle 用户登陆系统,然后 startx ,这次竟然没有提示错误信息,直接进入图形界面了,不知是什么原因,在小布老师的视频中没出现过这种情况啊,难道必须使用新建的用户先登陆一次图形界面,才能在字符界面启动 startx 吗?不知大家是否遇见过类似情况,期待讨论。 在这里还想请教一个小问题,就是在系统启动时,先要启动一些服务

Oracle11g搭建DataGuard及主备切换方法总结【亲测可用】

我的未来我决定 提交于 2020-01-12 03:55:56
2019-04-11 分类: Oracle 阅读(2626) 评论(0) 文章目录[隐藏] 一、DataGuard 工作原理 二、搭建环境 三、主库配置 四、备库配置 五、主备切换 一、DataGuard 工作原理 Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数之前的同步,这种同步可以是实时,延时,同步,异步多种形式。Data Gurad 常用于异地容灾和小企业的高可用性方案,虽然可以在Standby 机器上执行只读查询,从而分散Primary 数据库的性能压力,但是Data Gurad 决不是性能解决方案。 Stream 是以Oracle Advanced Queue为基础实现的数据同步,提供了多种级别的灵活配置,并且Oracle 提供了丰富的API等开发支持,Stream 更适用在应用层面的数据共享。 在Data Gurad 环境中,至少有两个数据库,一个处于Open 状态对外提供服务,这个数据库叫作Primary Database。第二个处于恢复状态,叫作Standby Database。运行时primary Database 对外提供服务,用户在Primary Database 上进行操作,操作被记录在联机日志和归档日志中,这些日志通过网络传递给Standby Database。这个日志会在Standby

Oracle 数据库中enq:TX-index contention等待时间浅析 侵删

。_饼干妹妹 提交于 2020-01-11 22:43:53
前言: 该文来自于Oracle RWP团队的领袖Andrew Holdsworth的一个精彩分享,笔者觉得很精彩,便将其梳理成文,并加上了自己的理解,希望能帮助大家更好的理解TX-index contention等待事件。 enq:TX-index contention: enq:TX-index contention是一个非常常见的等待事件,其专指由于索引分裂产生的竞争等待。最常见的索引竞争一般发生在主键索引上,主键值从序列(sequence)中获取,每个事务都会生成一条新的记录,每条记录都要获得一个新的序列号,因为从sequence中取出的值是单向递增的,当索引中插入数据,并且维护索引结构的时候,不得不一直走向索引的最右侧的分支,对于每一个操作,都会想要维护索引中最右边的叶节点,那么所有的操作都会关注同一个内存块,希望能够维护这块内存,这就是一种典型的竞争形式。但在同一时间,只有一个人能够修改这块内存,因此当有一个人在修改的时候,其他所有想修改的人只能处于等待状态。 在一个并发量很大的OLTP系统中,开发者希望记录每个用户的登录和操作情况,因此需要创建基于主键的索引。接下来我们将通过实验说明如何减少这类索引竞争。 首先来看在没有索引的情况下系统的运行状况,系统运行平稳并且性能良好。如下图所示: 接下来我们尝试最简单的B树索引,索引的的值是通过sequence生成的

[转帖]独家!阿里开源自用OpenJDK版本,Java社区迎来中国力量

假装没事ソ 提交于 2020-01-11 16:33:14
独家!阿里开源自用OpenJDK版本,Java社区迎来中国力量 https://blog.csdn.net/cpongo4/article/details/89030039 InfoQ记者独家获悉:阿里巴巴宣布重磅开源OpenJDK长期支持版本Alibaba Dragonwell。众所周知,Oracle对Java 的策略已经发生系列转变,由于Java 用户群体庞大,导致此事在很长一段时间内都是开发者的讨论焦点。作为世界上最大的Java用户之一,阿里巴巴此时选择开源OpenJDK长期支持版本Alibaba Dragonwell是出于哪些考量呢? Oracle撒手,宣布对个人用户 (Personal Users) , Java 8 官方支持时间持续到 2020 年 12 月;对商业用户(Commercial Users),2019 年 1 月之后不再提供免费更新。 红帽喊话,计划在2023年之前继续提供对 OpenJDK 8 的支持。 AWS加入,正式推出 OpenJDK 长期支持版本 Amazon Corretto。 如今,阿里巴巴也宣布重磅开源OpenJDK长期支持版本Alibaba Dragonwell。 这不禁让人感叹:Java生态圈碎片化趋势越来越明显。对开发者而言,既不希望冒风险即刻更换,又希望可以使用具有持续安全更新和完备功能的JDK。此时