oracle如何分配区 在oracle中,表分区方式
linux下安装oracle如何合理分配分区大小,谢谢!
如果你的单机上装linux来跑oracle。我认为要个swap
创新互联建站专注于企业全网营销推广、网站重做改版、巴南网站定制设计、自适应品牌网站建设、H5开发、商城网站制作、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为巴南等各大城市提供网站开发制作服务。
,
/opt
,/
三个分区即可!swap
一般情况下是内存的2倍,建议不要大于4096M,否则浪费。。。/opt
安装oracle大概会占2G的空间,你再看看你的数据文件会占多大,给它个合理的空间剩下的给
/
分区
Oracle 10g安装过后怎样调整内存分配大小
ORACLE 10g的话看你是否使用ASMM(自动共享内存管理,11g就是AMM了),如果是的话,就设置参数:sga_target、pga_aggregate_target两个参数就O了,至于比例看系统,OLTP系统前者设计大一点,占用整个INSTANCE百分之六七十比较正常,OLAP的时候SGA没有必要要那么大了。
不过你要自己设置每一个细节参数的话,就将上述参数设置为0就会自动关闭ASMM(对应进程MMAN,10g和11g没有变化都是这个进程),然后一般设置一下参数:
1、数据缓冲区:
db_cache_size 数据缓冲区DEFAULT区域大小,也是默认的大小
db_keep_cache_size 数据缓冲区keep区域大小,几乎不会被替换掉的内存区
db_recycle_cache_siez 数据recycle区域大小,几乎用完就回收掉的内存区
2、共享池
shared_pool_size
内部保存SQL信息、数据字典、控制信息,其实这部分最好不用自己去控制,它自己管理就行。里面有个参数:shared_pool_reserved_size适当的时候也可以配置一下。
如果你要用rman相关的东西,要配置一下大池,如果没有JAVA PROD在ORACLE内部,JAVA池几乎无用,做Stream复制,就设置一下stream池。
PGA一般设置一个最大值就行,内部它一般自己去调节(PGA内部一般有一段内存和一些后台进程组成),分专用模式还是共享模式的区别(MTS系统中),内部有些细节参数会根据CPU去配置的(如DBWR最多可以20个,最少是1个,可根据CPU的个数设置,但是一个INSTANCE最多20个),另外可以设置内部的SORT_AREA_SIZE、hash_area_size等等用于用户进程查询时产生的内存开销(超过这个值就会到临时表空间去做了),
oracle表无日期字段怎么自动分区
没有日期字段就用其他的分区方式。
我们用日期分区主要是把每月的数据放在一个分区,那么如果没有分区字段,那么我们就需要用其他的字段分区了,比如hash分区(这个是自动分区,直接将table分成若干个区域,数据会根据字段hash值自动分配到某个区域),列表分区(根据表中的某个字段去进行分区,比如某城有四个区域,那么正好用这四个值去分区就可以了)。
如果有其他的数字字段,那么看看这些数字字段能不能用,如果能用也可以用范围分区,不一定非要是日期字段的。
oracle数据库中表、段、区、块是什么意思?
oracle的逻辑结构包括表空间(tablespace),段(segment),区(extent),数据块(data block)\x0d\x0aoracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块大小的整数倍。\x0d\x0a表空间\x0d\x0a表空间是Oracle数据库最大的逻辑结构,一个Oracle数据库在逻辑上由多个表空间组成,一个表空间只隶属于一个数据库。Oracle中有一个称为SYSTEM的表空间,这个表空间是在创建或安装数据库时自动创建的。主要用于存储系统的数据字典,过程,函数,触发器等;也可以存储用户的表,索引等。一个表空间可以有多数据文件,但是一个数据文件只能属于一个表空间。\x0d\x0a一个表空间就是一片磁盘区域,他由一个或者多个磁盘文件组成,一个表空间可以容纳许多表、索引或者簇等。每个表空间有一个预制的磁盘区域称为初始区间(initial extent)用完这个区间后再用下一个,直到用完表空间,这时候需要对表空间进行扩展,增加数据文件或者扩大已经存在的数据文件\x0d\x0a段\x0d\x0aOracle中的段可以分成4种类型:数据段、索引段、回滚段、临时段。\x0d\x0a数据段用来存储用户的数据,每个表都有一个对应的回滚段,其名称和数据表的名字相同。索引段用来存储系统、用户的索引信息。回滚段用来存储用户数据修改前的值,回退段与事务是一对多的关系,一个事务只能使用一个回退段,而一个回退段可存放一个或多个事务的回退数据。临时段用于order by语句的排序以及一些汇总。\x0d\x0a区\x0d\x0a区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区存储于段中,它由连续的数据块组成。区的分配过程中,每次至分配5个区。如果所剩的空闲空间不够5个区,就会出现错误:ORA-01653。可以通过字典dba_tablespaces查询表空间中区的信息。可以通过字典user_tables查询段中区的信息。可以通过字典user_extents查询区的分配状况。我们可以通过以下SQL语句分别查询表空间、段、区中区的分配信息\x0d\x0aSQLselect * from dba_tablespaces;\x0d\x0aSQLselect table_name, tablespace_name, min_extents, max_extents from user_tables; \x0d\x0aSQLselect * from user_extents;\x0d\x0a数据块\x0d\x0a数据块是数据中中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O 的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的oracle版本DB_BLOCK_SIZE的默认值是不同的。
分区是什么意思Oracle
一、分区的概念
表空间:
是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。
分区表:
当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个“表空间”(物理文件上),这样查询数据时,不至于每次都扫描整张表而只是从当前的分区查到所要的数据大大提高了数据查询的速度。
二、分区类型
本文使用的表为oracle用户hr下的job_history,创建分区使用的表名均为hr_job_history。 job_history表数据为:
范围分区:范围分区将数据基于指定的范围映射到不同分区,创建表时可以创建同时可以创建分区,当范围变大或想让范围变得更小时,可以添加分区。
(1)根据某个字段值(或者maxvalue)创建分区 创建分区表并插入数据
查询各分区记录
(2)按时间划分 建表分区表并插入数据
2.列表分区: 该分区的特点是某列的值只有几个,基于这样的特点我们可以采用列表分区。 建表分区表并插入数据
查询各分区记录
3.散列分区:
这类分区是在列值上使用散列算法,以确定将行放入哪个分区中。当列的值没有合适的条件时,建议使用散列分区。 散列分区为通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,使得这些分区大小一致。
建表分区表并插入数据
查询各分区记录
4.范围-列表分区
这种分区是基于范围分区-列表分区,表首先按某列进行范围分区,然后再按某列进行列表分区,分区之中的分区被称为子分区。 建表分区表并插入数据
查询分区01及其子分区,注意分区与子分区的条数是相等的
5.范围-散列分区
这种分区是基于范围分区和散列分区,表首先按某列进行范围分区,然后再按某列进行散列分区。 建表分区表并插入数据
查询分区01及其子分区,注意分区与子分区的条数是相等的
简要说明oracle数据库体系的内存结构
内存结构 oracle内存结构大致具有四个区:软件代码区、系统全局区、程序全局区和排序区。 1、系统全局区。(SGA) 系统全局区为一组由oracle分配的共享数据结构,它是实例的主要部分,它含有数据维护、SQL语句分析与重做缓存所必须的所有内存结构,系统全局区的数据是共享的,也就是说,多个进程可以在同一时间对SGA中的数据进行访问和修改。它包含以下内容: 1、数据块缓冲区 该区存放最近使用过的数据块,使用LRU(最近最少使用算法)进行管理。 2、字典缓冲区 该区用于保存数据字典中的行,数据字典中存放oracle系统管理自身所需的所有信息。该区也使用LRU算法管理。 3、重做日志缓冲区 任何事务在记录到重做日志之前都先放到该区,数据库系统定期将该区内容写入到联机重做日志中。 4、SQL共享池 存放所有通过SQL语法分析、准备执行的SQL语句。 5、JAVA池 为JAVA命令提供语法分析。 6、多缓冲池 可以在SGA中创建多个缓冲池,能够用多个缓冲池把的数据集与其他的应用程序分开,以减少它们争夺数据块缓冲区相同资源的可 能性。 2、程序全局区(PGA) 包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收。 3、排序区 排序需要内存,这部分空间成为排序区,排序区存在于请求排序的用户进程的内存中,该空间的大小为适应排序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制。 4、软件代码区 用于存储正在执行或可以执行的程序代码。 /FONT/SPAN
本文标题:oracle如何分配区 在oracle中,表分区方式
本文网址:http://ybzwz.com/article/hpogog.html