Oracle表空间使用

Oracle11G的表空间数据文件大小限制问题处理 oracle11g的表空间数据文件容量与DB_BLOCK_SIZE有关,在初始建库时,DB_BLOCK_SIZE要根据实际需要,设置为 4K,8K、16K、32K、64K等几种大小,ORACLE的物理文件最大只允许4194304个数据块(由操作系统决定),表空间数据文件的最大值为 4194304×DB_BLOCK_SIZE/1024M。即:4k最大表空间为:16384M8K最大表空间为:32768M16k最大表空间为:65536M32K最大表空间为:131072M。 阅读详情
Oracle数据库中,表是最基本的内容。可以说,表设计的好坏直接跟数据库的性能相关。所以,在设计表的时候,除了要遵循其固有的数据库准则之外,还需要看个人的数据库管理经验。下面我就把这些经验分享一下,或许对大家有所帮助。

  一、 表该存放在哪里?

  我们都知道,在Oracle数据库中,使利用空间这个概念来管理表对象的。在数据库创建的时候,数据库中已经建立了一些表空间。那么当我们新建立表的时候,这个新表的位置该放在什么地方呢?这就好像吃饭时的坐的位置一样,是有讲究的。一般来说,我们在新建表的时候,至少要遵循如下建议:

  一是在数据库创建的时候,在数据库中已经有了一个System的表空间。一般情况下,这个表空间中,只包含数据字典及Oracle系统对象。如果我们将我们的表建立在这个空间上的话,那是要降低数据库的性能的。所以,一般我们是不建议用户把表格建立在这个空间上。但是,若我们不只一个人维护数据库,如有八个人共同设计数据库系统时,如何才能保证其他用户不在System表空间中建立数据库表格呢?最好的办法就是通过权限控制。如我们可以给每个数据库设计人员指定一个默认的表空间,让他们只能在这个表空间中建立表格。如此的话,就能防止他们在System表空间中建立自己的数据表格,从而对数据库的运行性能产生不良影响。所以,若给每个用户设置默认表空间的话,那么用户在建立具体的表时,不用具体指定表空间了。

  二是我们在为某个应用设计数据库的时候,最好先对表的空间进行规划。一般情况下,不要把数据表随意的分散到不同的表空间中去。如我们在为一个ERP系统设计数据库的时候,若把采购部门相关的表跟销售部门相关的表放到两个不同的表空间中去,这是不明智的做法。这么处理的话,会降低某些数据库管理和维护操作的效率,如数据的备份与恢复操作;而且,也无法集中管理属于某个特定应用的数据。所以,我们一般建议,在规划数据库表空间的时候,把相同应用的表放在同一个表空间中去。如果要区分不同部门或者不同模块的表的话,我们可以在表的命名上动脑子。如我们在设计ERP系统的数据库中,可以根据其应用模块的不同,在前面加上前缀来进行识别。如跟系统基本配置相关的表,我们可以用AD为前缀;而跟销售部门相关的表,我们可以加上SA前缀等等。如此的话,这些表具体是属于哪个模块的,就一清二楚了。完全没有必要为此设置不同的表空间。这是Oracle数据库初学者经常会犯的错误。主要是对Oracle表空间的定义不是很熟悉所导致的。



  二、 对预计存储数量比较大的表时,要给与额外的重视。

  有些表非常的大。我们这边说的大,不一定是说结构复杂,而是指在这个表格中,预期会存储比较多的数据。为了提高对这个表格的处理效率,我们在事先要做出一定的安排。否则的话,后续对这些大表进行查询、插入等操作的话,速度会很慢。所以,我们就有必要在数据库设计的时候,先预先估计一下表的数据存储量,把一些数据量大的表格,做一些额外的设置。如在ERP软件的数据库设置中,一般来说,产品数据与物料清单数据这两个表的数据量会比较大;而从长远看的话,销售订单、采购订单、生产订单、记账凭证等这种单据类相关的表格其数据量也会比较大。一年两年可能感觉不出来,但是,到十年后,这个纪录数量就会很庞大。而像ERP系统这种大型的信息化管理项目,用个几十年时很正常的事情。而且,为了记录的完整性,也不建议用户把以前的数据删除。所以,为这种应用进行数据库设计的时候,要充分考虑这些大表的性能问题。

  具体的来说,设计大表的时候,可以考虑遵循如下的建议。

  一是不要为大表设置存储的限制。在Oracle数据库中,可以为每张表格设置存储配额限制。如此的话,表最大容量就不能超过这个限制。对于一些数据容量比较小的表格,这么设置时合理的,可以提高空间的利用率。但是,若数据量比较大的话,就不建议事先设置表的存储空间了。如ERP系统的销售订单表,其刚开始可能记录量很小,第一年预计只有1G的记录容量,但是,估计在十年后,这个记录容量就会达到10G了。在这种情况下,我们怎么来给其设置存储空间呢?一开就设置10G空间,这也是不合理的。而且,设置存储空间,就意味着有可能产生存储碎片,从而影响到数据查询的效率。所以,在数据库表的设计过程中,若某些应用的表可能会有比较大的数据容量时,建议不要对其存储空间做出任何的限制。


  二是要为这大表分配足够的临时空间。如我们使用ERP系统时,要查询产品资料信息。我们都知道,产品信息的话,有些企业这个纪录数非常的庞大。而且在查询时,我们还会经常的进行排序操作。如有时候会按照产品编码对查询出来的数据进行排序。当记录少的话,还好;但是,当记录多的话,这个排序动作,要求具有比较大的临时存储空间。所以,当某个表预计会有很大的记录数量的时候,我们就要给其分配足够多的临时空间。临时空间的存储参数设置取决于临时表空间的默认储存参数设置。我们可以更改这些参数,以达到我们对要求。若没有给大表分配足够多的临时空间的话,则排序的动作将会很慢,而且很可能不成功。


  三是要考虑将表与表的索引分离存放。大表所对应的索引通常也比较大。一般来说,索引的数量是随着表记录的数量增加而增加,两者是接近于一个正比例的关系。所以,通常表的记录容量大的时候,索引数量也会很庞大。针对这种情况,我们考虑突破我们上面讲的表空间的规则定义。而考虑把表和他的索引分别存储于不同的表空间中,甚至在条件允许的情况下,分别存储于不同的硬盘中。这么做的好处是什么呢?最大的好处是让索引比较容易的获得所需要的连续的存储空间,从而提高输入输入的效率。通俗的说,就是可以提高数据的查询效率。如不这么处理的话,查询大容量的记录的话,数据库可能需要花费30秒;而如此设计的话,就可能把时间缩短为10秒。这是一个很明显的性能改善。



  三、 如何给表命名?

  上面我在讲如何为表分配存储空间的时候,已经讲到过这方面的问题。下面,我就将对这个问题进行详细的描述,以帮助数据库管理员掌握一套好的数据库命名规则。

  首先,毋庸置疑的,在为标命名的时候,要遵循Oracle数据库的基本命名规则,如不能以数字开头为表命名,如不能利用数据库的关键字为表命名,如表的名字不能重复等等。这些是最基本的要求,就不用我多费口舌了。除了要遵循这些基本的命名规则外,在实际工作中,为了数据库后续的维护等方面出发,我们还是要遵循一些额外的规则。这些规则跟Oracle定义的规则不同。我们所讲的规则没有约束力,可以说,只是业界的一些共识而已。你若不怎么处理,Oracle数据库也不会说你错误,只是后续维护的时候,会比较麻烦而已。

  一是在对数据库命名的时候,最好能跟体现表的分类关系。如最常见的,我们在设计数据库的时候,表都是按系统的具体模块来区分的,如根据前端系统要求的不同,数据库的表大致可以分为系统基本配置表、销售模块表、采购模块表、报表模块表等等。我们可以根据这些模块的不同,分别给与不同的前缀来区分。这么做的好处是很明显的。如一看到表最大名字,就可以知道这个表是属于哪个应用的、哪个模块的,这无疑可以提高数据库设计与前台软件开发的效率。同时,数据库中默认的排序规则是按名字来排序的,所以,为表格设置类别前缀的话,可以把同一类的表格排在一起,方便我们察看。

  二是对表格命名的时候,要考虑可读性,而不能随便阿狗阿猫的乱取名字。最常见的是,那些刚学数据库的人,在表命名的时候,如要建几张测试表,就会随便命名如TEST1,TEST2之类的。虽然这只是测试,但是,也不符合我们的命名过则。要做测试的话,那就以TEST开头,然后后面加上具体要测试的内容。如此的话,我们才可以通过表的名字知道该表具体的用途。而不用打开表去看里面具体的结构或者注释才能知道我们需要的信息。所以,在设计表的名字的时候,还要关注一下其的可读性。
2024年03月CCF-GESP编程能力等级认证Python编程五级真题解析 下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填入( )。 A. (yr % 400 == 0) or (yr % 4 == 0) B. ( yr % 400 == 0) or (yr % 4 == 0 and yr %100 != 0) C. ( yr % 400 == 0) and ( yr % 4 == 0) D. (yr % 400 == 0) and (yr % 4 == 0 and yr % 100 != 0) 阅读详情

相关推荐

S7-200 Smart 控制运动轴(脉冲电机/伺服)教程

S7-200 Smart 控制运动轴(脉冲电机/伺服) 结合本人刚接触触摸屏时候的踩坑经验,编写S7-200 Smart 控制运动轴(脉冲电机/伺服)的详细流程,给刚接触PLC的朋友提供一些经验指导。 本文详细介绍了S7-200 Smart 控制脉冲步进/伺服电机流程,包含接线方法及梯形图。希望对初学者有所帮助

xjbsw0的博客 5万+

管理好ORACLE数据表的几个建议

ORACLE数据库中,表是最基本的内容。可以说,表设计的好坏直接跟数据库的性能相关。所以,在设计表的时候,除了要遵循其固有的数据库准则之外,还需要看个人的数据库管理经验。下面我就把这些经验分享一下,或许对大家有所帮助。   ORACLE数据库中,表是最基本的内容。可以说,表设计的好坏直接跟数据库的性能相关。所以,在设计表的时候,除了要遵循其固有的数据库准则之外,还需要看个人...

abc123098098的博客 271

超详细 Git创建仓库及上传项目至Github操作(Windows系统)

文章目录前言一、Git下载及安装二、创建代码仓库1.配置身份2.创建本地仓库3.提交本地代码三、使用Git上传代码至Github1.创建ssh keys2.在Github中新建仓库3.关联本地仓库与Github仓库4.推送代码至Github仓库总结 前言 本文对于Windows系统上git的安装及基本使用方法进行简单介绍,并介绍如何使用git将仓库中的项目上传至个人的Github中去。内容参考《第一行代码》以及一些博客。 本文适合新手阅读哦~ 一、Git下载及安装 打开网站 git下载 下载安装包(直接

lijianyi0219的博客 2万+

特殊需求:oracle单表插入两亿条数据

业务场景:现在有个需求,模拟大数据量下系统的抗压能力,需要在表C构造两亿条数据。虽然官方建议单表两千万条数据最好,但是想看下系统在不借助其他中间件的情况下,直接进行表操作是否可行。 已有逻辑结构在批量插入非常慢,批量插入5万条数据需要5H左右(因为还有其他链接表,)。 数据场景:表A为主表,表示一个对象,表C是表A的一个属性表。例如表A有一条数据‘TEST001’,该数据有长、宽、高、温度、湿度五个属性,那么在表C中,就有5条数据。 ...

qq_18937429的博客 3298

嵌入式系统启动流程解析:ROM Code、Bootloader与启动代码的协同工作

本文深入解析嵌入式系统从通电到运行的完整启动流程,详细阐述了ROM Code、Bootloader与启动代码三者如何像接力赛般协同工作。ROM Code作为芯片固化的初始引导程序,负责硬件自检并加载Bootloader;Bootloader作为系统总指挥,初始化关键硬件并加载操作系统内核;启动代码则为C语言运行环境铺平道路。理解这三者的分工与协作,是进行系统移植和解决启动问题的关键。

dd012的博客 553

Axure原型模板与元件库APP交互设计素材(附资料)

在Axure中,手机模型是展示APP或小程序界面效果的重要工具。通过导入手机模型元件,设计师可以更加直观地模拟真实设备的显示效果,从而更准确地评估设计的可行性和用户体验。Axure官方及第三方资源库中提供了多种品牌和型号的手机模型,如iPhone、Android等,设计师可以根据项目需求选择合适的模型进行使用。Axure作为一款强大的原型设计工具,为APP和小程序的设计与开发提供了丰富的界面组件元件库和交互设计素材。

招风的黑耳优快云 1980

Oracle系列之五:Oracle表空间

Oracle数据库开创性地提出了表空间的设计理念,SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计,Oracle中很多优化都是基于表空间实现的。

聚集机器学习、信息安全 4023

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

oracle表空间不足影响,oracle表空间不足

oracle表空间不足,一般有两个原因:一,原表空间太小,没有自增长;二,表空间已自增长,而且表空间也已足够大,对于这两种原因分别有各自的解决办法。【检查原因】1、查看表在那个表空间select tablespace_name,table_name from user_talbes where table_name='test';2、获取用户的默认表空间selectusername,DEFAULT...

weixin_33514475的博客 1866

2022-2028年全球与中国玄武岩连续纤维(BCF)行业深度分析

本文研究全球与中国市场玄武岩连续纤维(BCF)的发展现状及未来发展趋势,分别从生产和消费的角度分析玄武岩连续纤维(BCF)的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。 主要生产商包括: Kamenny Vek TESPE Mafic Technobasalt Russian Basalt ISOMATEX SA Sudaglass Basalt Fiber INNEGRA LAVAint

Fj69258的博客 614

游戏开发-GM系统的设计

游戏管理员(gm)作为游戏中拥有更高权限的账号,在游戏开发的过程中,我们需要很早的将gm系统做出来,作为测试游戏逻辑具有不可替代的作用。 内容目录 服务端与客户端通讯基本流程 gm命令格式设计 gm系统的实现 服务端与客户端通讯基本流程 服务端与客户端通信,如果基本的网络框架搭建完成,那么我们只需要写好命令就可以了 服务器完成一条命令的添加需要3个过程。 (1)命令格式的定义

微不足道 4616

Oracle重建表空间

Oracle重建表空间操作实例     由于环境维护或者性能测试需要,经常需要对表空间进行重建操作。重建表空间操作主要分3中情况介绍,分别是业务表空间、临时表空间和回滚段表空间的重建。   重建业务表空间   由于业务规划要求,重建后的业务表空间名需要与原有的一致。操作上和重建临时表空间和重建回滚段表空间有不同。 1、备份当前需要使用的数据库,可以使用Oracle自带的expdp或者e...

小楼一夜听春雨,深巷明朝卖杏花 2234

关于 Nginx 监听地址 0.0.0.0 的详细解释

0.0.0.0在Nginx配置中表示监听服务器所有网络接口(包括公网IP、内网IP和本地回环地址),这是默认配置。当使用listen 80;时,Nginx会接受通过服务器任何IP地址的80端口访问请求。相比只监听特定IP,这种配置更通用,但也意味着服务会对外网开放,需注意安全风险。可通过netstat命令验证监听状态,显示0.0.0.0:80即表示正确配置。

weixin_43674738的博客 1564

oracle使用表空间语句,oracle表空间语句

Oracle表空间创建语句,急//创建临时表空间 create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management lo...

weixin_29166013的博客 2794

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle 表空间(tablespace)

​ 在oracle中,表空间是Oracle数据对象和数据存储的容器,是一个逻辑概念。若干操作系统文件就可以组成一个表空间。表空间统一管理空间中的数据文件(通常,文件的后缀名是dbf),一个数据文件只能属于一个表空间;而一个数据库空间由若干个表空间组成。表空间是ORACLE数据库恢复的最小单位。Oracle表空间之作用表空间的作用能帮助DBA用户完成以下工作:1.决定数据库实体的空间分配;2.设置数据库用户的空间份额;3.控制数据库部分数据的可用性;4.分布数据于不同的设备之间以改善性能;

22 | Nothing is impossible 7857

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

oracle(表空间分类、表空间操作、默认表空间)

-删除名为tp_hr的表空间,但是这个语法只是将表空间和数据库的“联系”删除了,不会删除实际的数据文件。--删除名为tp_hr的表空间,并且把数据文件也删除掉。,可以在这个表空间上创建各种对象,如创建表、索引等。一般在完成Oracle系统的安装并创建Oracle实例后,Oracle系统会自动建立多个表空间。例:如下,创建一个名为tp_hr的表空间,有两个数据文件,自动扩展大小,初始大小是30M(兆)。integer是你自己输入的一个数字,指定文件的大小,K是千字节大小,M是兆字节大小。

睡不醒的每天 1570

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

oracle扩容temp表空间,解决oracle临时表空间的报错

报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652:无法通过128 (在表空间TEMP中)扩展temp段原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误。因为oracle总是尽量分配连续空间,一旦没有足够的可分配空间或者分配不连续就会出现上述的现象。回忆下临时表空间的作用:临时表空间主要用途是在...

weixin_30007303的博客 1万+

Oracle 表空间详解

目录目录 表空间概述 表空间的分类 默认表空间 查看默认的永久表空间 查看默认的TEMP表空间 查看默认的表空间类型 逻辑结构到物理结构的映射 对表空间的操作 查看表空间使用情况 查看数据库拥有的表空间 查看表空间中的数据文件 查看用户拥有的表空间 创建表空间 修改表空间 修改用户的默认和临时表空间 修改表空间的状态 修改表空间的数据文件 删除表空间 用户表空间限额表空间概述Oracle的表空间属于

烟云的计算 4万+

Oracle表空间的作用

Oracle表空间的作用 一 Oracle表空间的概念 ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。 一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件,但一个数据库文件只能与一个表空间相联系。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。 每个ORACL...

qq_44638076的博客 4301

oracle删除表空间流程,oracle 删除表空间的操作

删除表空间的操作一个用户要删除数据库的表空间,首先该用户要具备drop tablespace的权限在当前用户下执行以下语句来查询确认select a2.username,a1.privilege from dba_sys_privs a1 ,user_role_privs a2where a1.privilege = 'DROP TABLESPACE'and a1.grantee =a2.gran...

weixin_36082346的博客 1811

oracle表空间

 对应关系 select username,default_tablespace from dba_users;总的大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;剩

ArduousBonze的专栏 2926

oracle表空间总结,Oracle表空间维护总结

1. 概念:表空间:最大的逻辑存储文件,与物理上的一个或多个数据文件对应,每个数据库至少拥有一个表空间,表空间的大小等于构成表空间的所有数据文件的大小总和,用于存储用户在数据库中存储的所有内容。2. 种类:分为基本表空间、临时表空间、大文件表空间、非标准数据块表空间和撤销表空间。基本表空间:用于存储用户的永久性数据临时表空间:排序、汇总时产生的临时数据大文件表空间:存储大型数据,如LOB非标准数据...

weixin_35682082的博客 395

Oracle表空间介绍

Oracle培训教程:表空间,在数据库系统中,存储空间是较为重要的资源,合理利用空间,不但能节省空间,还可以提高系统的效率和工作性能。Oracle可以存放海量数据,所有数据都在数据文件中存储。而数据文件大小受操作系统限制,并且过大的数据文件对数据的存取性能影响非常大。同时Oracle是跨平台的数据库,Oracle数据可以轻松的在不同平台上移植,那么如何才能提供统一存取格式的大容量呢?Oracle采

oraclestudyroad的博客 2703

Oracle的表空间

Oracle表空间 1 表空间的概述 ORACLE数据库被划分成称作为表空间的逻辑区域,形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等 2 表空间的作用 决定数据库实体的空间分配...

weixin_30847865的博客 205

查看oracle表空间自增,Oracle表空间使用查询

--查询表空间使用情况SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "自增表空间大小(G)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(G)",TO_CHAR(ROUND(((D.TOT_GROOTTE_MB - F.TOTAL_BYTES)*100) / DDF.MAX_BYTES ,2),'...

weixin_36309562的博客 1080

oracle 表空间单位,ORACLE 表空间

数据库可以在不影响使用的情况下必须online的表空间:system / temporary / undo数据库不可以设置read only的表空间:undo / system / sysaux / temp表空间日志:1. temporary / undo 表空间不记日志;2. 表空间级日志属性会被表级,Index级,实体化视图等覆盖;3. 及时表空间为nologing模式,仍旧会产生redo ...

weixin_34063855的博客 422
上一篇: 【转】Toplink JPA简介
下一篇: 基本概念
abestone
博客等级 码龄20年 36粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值