Oracle TableSpace

谈谈Oracle 数据库的系统权限UNLIMITED TABLESPACE 谈谈Oracle 数据库的系统权限UNLIMITED TABLESPACE作者:赵全文 网名:guest 前日上午,开发同学反馈,应用程序在连接一套Oracle 11.2.0.4.0数据库的生产用户时,一直报“无操作表空间”的权限。于是,我赶紧连到SQLPLUS里进行查看该用户具有什么样的权限(包括系统权限、角色权限和对象权限),没有发现什么异常。大家都知道,一般在建立... 阅读详情
 

  TableSpace 是Oracle空間管理上的邏輯單位,實體上存放資料的是Tablespace裡面的檔案(Data File);而我們所熟悉的Table就放在這 一個一個的檔案裡面。所以TableSpace可以看成是Data File的群組。通常在管理上會把使用者的資料與Oracle系統的物件以不同的Tablespace做切分 。如果一個Oracle上有多個不同的AP系統,以不同的TableSpace做切割,則可以達到管理與備份的目的。但是TableSpace的功用也不僅僅只是簡單的群組分類而已,Oracle 提供了許多功能上的參數來設定TableSpace來達到空間管理與效能增進的目的。

  有必要提的是,TableSpace沒辦法跨資料庫,TableSpace中的Data File沒辦法跨TableSpace,Data File中的Table (Segement)可以跨 Data File,但不能跨TableSpace。簡單的來說,一個Table裡面的資料是有可能因為Oracle的空間分配而分布在同一個TableSpace的 不同的Data File中的;因此一個Data File創出來後,是不能隨便刪除的,這將會造成嚴重的資料損毀的問題。


  • SYSTEM與Non-SYSTEM TableSpace

      當資料庫剛建立起來,系統會建立一個叫做SYSTEM的系統TableSpace,存放SYS、SYSTEM等User重要的系統資料(ex:資料字典與預儲程序等) 如果我們建立Oracle User時,不指定預設的TableSpace,則此User則會以SYSTEM TableSpace作為預設的TableSpace。 這將造成管理上的混亂與嚴重的效能問題,這是必須特別注意的。


  • TableSpace的類型:Permanent、Undo、Temporary
    • Permanent Tablespace

        一般我們創建給AP使用的都是Permanent Tablespace。裡面物件的生命週期不會隨著交易或者 使用者的session結束而消失。


    • Undo Tablespace

        Undo Tablespace是系統用的特殊的Tablespace,用來取代過去的rollback segement的機制, 主要的功用是提供使用者修改資料未commit之前的read consistency的功能以及rollback交易的功能。 也因為undo tablespace主要是取代過去的rollback segement的機制,所以不能存放其他種類的segement。 undo tablespace只能是local managed。


    • Temporary Tablespace

        Temporary Tablespace也是系統用的特殊的Tablespace。當使用者需要做排序時, 有時就會使用Temporary Tablespace,因此裡面的Segement的生命週期都很短,可能交易結束或者 User的Session結束就會消失。每個系統都必須要有一個預設的Temporary Tablespace(Default Temporary Tablespace), 如果沒有的話,忘了指定使用哪個Temporary Tablespace的使用者會以SYSTEM tablespace來當作Temporary Tablespace,這樣就很糟糕。 以下列出幾個Temporary Tablespace的特性。

      1. Temporary Tablespace是NOLOGGING模式,因此若資料庫損毀,做Recovery不需要恢復Temporary Tablespace。
      2. Temporary最好是使用Local managed Tablespace
      3. 若使用local managed模式,UNIFORM SIZE參數最好是Sort_Area_Size的參數,這樣效能比較好。
      4. Uniform size預設1024K,而Sort_area_size預設是512K
      5. Temporary Tablespace不能使用local managed的AUTOALLOCATE參數。

  • TableSpace的Extent空間管理:Local Managed 與Dictionary Managed

      Local Managed 與Dictionary Managed最主要的分別,在於空間管理方式的不同。Local managed 的管理方式是讓 每個TableSpace自己利用bitmaps去管理他自己的空間,而Dictionary Managed則是利用SYSTEM TableSpace的資料字典來做空間管理。 這兩者最大的不同在於Local managed大大的改善了Oracle做空間管理(例如:產生新的Exten或釋放Extent...等)時,搶奪 SYSTEM TableSpace資源的問題。所以Oracle從8i以後已經朝Local managed的方向去走了,所以我們應該盡量使用Local managed的方式才對,所以Dictionary managed的方式不多做介紹了。

    • Local managed tablespace
      1. Local managed使用bitmaps做空間管理。
      2. bitmaps中每個bit代表一個data block或者一堆相鄰的data block(extent)
      3. 從10g開始,SYSTEM Tablespace預設使用local managed -->Oracle建議使用local managed的證據。
      4. 假如SYSTEM TableSpace是local managed,那麼其他TableSpace必須是local managed。
      5. 若沒指定使用local managed或者dictionary managed,則預設使用local managed。
      6. 使用local managed可以增進效能,因為減少了SYSTEM TableSpace的效能競爭。
      7. 使用local managed則不需要做空間縫合(loalescing),因為相鄰的不同大小的extent,辨識extent使用狀態的bits也在一起 ,Oracle可以直接使用這些相鄰的extent。不需要先進行縫合才可以使用。這也可以增進部份效能。

    • local managed的extent空間管理(Extent Management):AUTOALLOCATE與UNIFORM

        AUTOALLOCATE與UNIFORM這兩個參數,是用來設定Local managed的extent大小的參數。 AUTOALLOCATE是讓Oracle自己來決定extent的大小;而UNIFORM則是強制規定TableSpace中extent的為固定的大小。 通常若你明確的知道extent必須多大,才會使用UNIFORM,使用UNIFORM的好處是每個extent的大小都相同,不會產生空間破碎的問題。 但是如果無法預知extent必須多大,使用AUTOALLOCATE會比較好,讓Oracle自己決定使用extent的大小,可以比較符合實際的需求 ,因此會比較節省空間,但是這可能會產生部分空間破碎的問題。使用AUTOEXTENT,Oracle會使用的extent大小為64k、1M、8M、64M。 根據我系統上使用的結果,99.95%的extent都是使用64k、只有少部分使用1M 的extent,所以其實破碎的情況不嚴重,使用AUTOALLOCATE 在我的系統上其實就夠用了。想知道你的TableSpace所使用的Extent有幾種,請用下列的語法:

      Select bytes,count(*) from dba_extents where tablespace_name='your_tablespace_name' group by bytes


    • Local managed中的Segment的空間管理(Segment Space Management ):AUTO與MANUAL

        Tablespace中的Segment的空間管理上,可以設置的參數為AUTO與MANUAL。MANUAL是使用 我們熟悉的PCTUSED、FREELISTS、FREELIST GROUPS的方式來管理Segment中的data block;而AUTO則是 使用bitmaps來管理data block。使用AUTO來管理的話,以往create tablespace或create table時設定的 storage的參數設定都不需要再設定了,因為data block的管理已經是bitmaps了,不再是free list了。如果沒有特別的需求話 ,使用AUTO會比使用MANUAL有更好的空間利用率,與效能上的提升。


    • Local managed中的Create TableSpace範例

      Create Tablespace MYDATA
      Datafile '/u1/oradata/mydb/mydata1.dbf' size 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED ,
                '/u1/oradata/mydb/mydata2.dbf' size 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
      Extent Management Local
      Segment Space Management Auto;


    • dictionary managed中的Create TableSpace範例

      Create Tablespace MYDATA
      Datafile '/u1/oradata/mydb/mydata1.dbf' size 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
      Extent Management Dictionary
      Default Storage (
      Initial 64k
      next 64k
      minextents 2
      maxextents unlimited
      pctincrease 0 );        

Create Oracle User, Tablespace and table 总结了Oracle数据库的基本操作命令:1. 创建表空间(包括普通表空间和临时表空间)的语法示例;2. 创建用户并授予DBA权限的方法;3. 在指定表空间创建表并插入数据的操作;4. 最后展示了删除表空间(包含内容)和级联删除用户的操作。这些命令涵盖了Oracle数据库从存储管理到用户权限、对象创建及清理的完整生命周期管理。 阅读详情

相关推荐

通达信量化打板选股指标公式源码副图

X_2:=3*LOW;X_13:=4;X_14:=3;X_15:=2;X_16:=1;

gpzb7的博客 4483

create tablespace之autoextend on和next及maxsize

SQL> create tablespace tbs_roger datafile '/oracle/tbs_roger.dbf' size 1m autoextend on next 2m; Tablespace ...

1761

10BASE-T1S协议中的PLCA机制:实现无碰撞网络传输的关键

本文深入解析了10BASE-T1S协议中的PLCA(物理层冲突避免)机制。作为IEEE 802.3cg标准的关键部分,PLCA通过循环调度与机会传递,从根源上避免了网络碰撞,为工业与汽车等场景提供了确定性的低延迟传输保障,是实现可靠实时通信的核心技术。

weixin_29250403的博客 209

如何把表空间的autoextend改为on

修改方法: 执行一下sql即可: alter database datafile '/u01/app/oracle/oradata/orcl/sec_d01.dbf' autoextend on; ORACLE数据文件(autoextend on)上限 1、smallfile Oracle的限制,如果要建普通的datafile,最大的大小就是 (2^22-1)*32K =

paullinjie的博客 3604

避坑指南:vue-print-nb打印隐藏元素与空白页的那些事儿

本文深入解析了使用vue-print-nb插件时,打印出现空白页及隐藏元素问题的根本原因与解决方案。核心在于理解浏览器打印原理,并通过CSS媒体查询精准控制样式。文章提供了从重置根元素高度、处理隐藏元素到控制分页的完整避坑指南,帮助开发者彻底解决打印样式难题。

weixin_29008691的博客 437

sqoop抽取mysql的数据到hive表里面,字段内容被自动截取,导致字段不全的问题解决

今天央视重新转播NBA,写篇博客纪念一下这个重要的日子,湖人的表现就呵呵了!!!! 强行转到博客的主题来 mysql的字段属性:该字段能存下的值比如:“山东” `province` varchar(3) NOT NULL COMMENT '省份' 用sqoop sqoop import --connect "jdbc:mysql://xxxxxx:3306/xxxxxx?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull..

放肆桀骜 963

表空间对应文件的AUTOEXTEND ON NEXT指定的值对性能的影响

创建表空间的时候指定的数据文件可以设为自动扩展,以及每次扩展多少容量,如果发现在大数据量插入的时候非常慢,可能的原因是NEXT指定的值太小. 下面来模拟一下这个过程: 1,创建一个表空间: CREATE TABLESPACE "T" DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\T.DBF' SIZE 5M 默认的话是不自动扩展的: SQ

交换一个思想,能得到俩思想 1万+

Star CCM+ 实战:旋风分离器网格加密策略与湍流模拟优化

本文针对Star CCM+中旋风分离器模拟精度不足的常见问题,深入剖析了网格质量的关键影响。文章重点介绍了通过局部网格加密策略,精准优化旋流核心区与入口区域的网格密度,从而在保证计算效率的前提下,显著提升湍流模拟的准确性与流场细节的捕捉能力,为工程实践提供了一套有效的优化方案。

water的专栏 535

Oracle基础知识整理笔记 一

** Oracle基础知识整理 ** Oracle系统用户介绍 表空间(table space): 表空间是一个逻辑概念。Oracle中的数据逻辑上存储于表空间(tablespace)中,而物理上则存储于属于表空间的数据文件(datafile)中。 Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。 表空间存储的主要是表,所以叫做表空间 创建表空间语法 CREATE ...

qq_43701801的博客 481

“华为杯”研究生数学建模竞赛2020年-【华为杯】D题:无人机集群协同对抗(附获奖论文和MATLAB代码实现)

1.问题重述摘 要:本文针对非线性约束条件下红蓝双方无人机集群协同对抗的最优规划问题,结合贪婪队形、非线性规划、内点法、蒙特卡洛方法和全联立正交配置有限元法,构建了无人机集群协同对抗推演模型。,构建了。我们综合考虑了,和。首先分析红方在集群约束下的贪婪队形和拦截策略,然后我们基于内点法联合MATLAB和AMPL编程求解蓝方突防的非线性规划解,最后基于蒙特卡洛法对整个蓝方突防过程进行推演,得到突防概率图。通过推演,我们提出了两块的区域作为所求区域,并对蓝方的最优突防策略进行分析。

getusushu的博客 1550

具身智能:原理、算法与系统 第18章 模仿学习与人类示范

与基于试错机制的强化学习不同,模仿学习假设存在能够提供高质量轨迹示范的专家策略,学习者的目标是在不直接访问专家内部决策机制的情况下,复现或泛化专家的行为模式。此外,选项 GAIL(Option-GAIL)将分层强化学习与对抗模仿结合,学习选项(Options)级别的策略,能够捕捉专家示范中的多模态行为与高层意图。X-Sim 框架提出从真实到模拟再到真实的迁移路径:首先从人类视频中重建物理仿真环境,在仿真中训练状态级策略,随后通过策略蒸馏获得基于视觉的策略,最后通过在线领域自适应对齐真实与仿真观测。

VectorShift的博客 125

Oracle 常用的简单语句

一. 表空间     1.创建数据表空间几种SQL       create tablespace XXXX       datafile 'E:\oracle\product\10.2.0\oradata\orcl\XXXXX.dbf'   (表空间的放置位置)       SIZE 200M REUSE AUTOEXTEND ON NEXT 100M;       或者:

qingyangwqh的专栏 483

【部署】Docker部署OpenClaw及常见问题解决(win11)

给AI单独开一个隔离的小容器,AI执行所有命令、下载文件都在这个小盒子里,就算AI被诱导执行危险命令,也不会影响你Win11本机的文件和系统,是必开的安全功能。Docker容器里的OAuth回调,会尝试在你Win11本机的1455端口捕获认证信息,但容器和Win11本机的网络隔离,导致浏览器访问不到这个回调地址。「挂载」就是把你Win11本机的文件夹,共享给容器里的「虚拟小电脑」,两边都能读写文件,比如你想让AI操作你D盘里的代码文件,就需要挂载。

海兰 4697

oracle中的tablespace的概念及创建

一、TableSpace管理准则1、使用多个TableSpace* 用户数据与数据字典数据分离,减少竞争 * 应用程序之间的数据分离,防止某个TableSpace脱机后对多个程序造成影响 * 不同磁盘驱动器上存储数据,减少I/O竞争 * 回滚段数据与用户数据分离,防止单磁盘故障造成数据永久丢失 * 可以控制单个TableSpace脱机,提供更高的整体可用性 * 为特定类型数据库使用保留TableSp

何老师的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

oracle unlimit权限,有关UNLIMITED TABLESPACE权限

给oracle添加一个用户时一般都分配个connect、resource 角色就行了如:grant connect,resource to chenwm;但这里connect 角色有一个 UNLIMITED TABLESPACE 权限,也就是chenwm这个用户可以在其他表空间里随意建表。Connected toOracleDatabase 11g Enterprise Edition Rel...

weixin_39799565的博客 1464

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Oracle RMAN SKIP TABLESPACE 功能验证报告

测试目标: 验证 Oracle RMAN 备份时跳过指定表空间的功能测试环境: Oracle 19c (211环境, 10.x.x.211)测试实例测试时间。

喝醉酒的小白 1021

Oracle tablespace

今天我们来聊聊Oracle表空间,首先先了解怎么去创建tablespace: CREATE TEMPORARY tablespace DB_TEMP TEMPFILE ‘/home/oracle/oradata/temp/tmp.dbf’ SIZE 32M AUTOEXTEND ON NEXT 32M MASIZE UNLIMITED EXTENT MANAGEMENT LOCAL; CREATE...

qq_35298337的博客 903

oracle tbs_tmp,Oracle 12.2 设置LOCAL_TEMP_TABLESPACE

12.2 设置LOCAL_TEMP_TABLESPACESQL> select username,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,LOCAL_TEMP_TABLESPACE from dba_users;USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE ...

weixin_39728572的博客 188

Oracle修改Tablespace的Name

Oracle修改TableSpace的Name       在Oracle10g以前,tablespace的name是不可以随意修改的,只能drop掉之后重建,但是在10g之后,oracle加入了修改的功能,除了system和sysaux两个表空间外,其他的表空间都可以改名。今天专门来记录一下这个特性:       为TableSpace改名的举例如下:   SQL> cr...

sjmz30071360的专栏 354

About Oracle UNDOTBS%_TABLESPACE

Oracle UNDOTBS%_TABLESPACE认识 Redo中只会记录少量信息,这些信息足以重演事务;同样Undo中也只记录精简信息,这些信息足以撤销事务。具体来说: 1 对于INSERT操作,回滚段只需要记录插入记录的ROWID,如果回退,那么只需将该记录根据ROWID删除即可; 2 对于UPDATE操作,回滚段只需要记录被更新字段的旧值即可(前镜像),回退时通过旧值覆盖新值即可完成回滚...

你的世界是你创造的结果 304

Oracle/PLSQL: ALTER TABLESPACE statement

The ALTER TABLESPACE statement is used to modify a tablespace or one of its data files or temp files. A tablespace is used to allocate space in the Oracle database where schema objects are stored. The syntax for the ALTER TABLESPACE statement is: ALTER T

yuanlnet的博客 258

Oracle数据库 dba_tablespace_usage_metrics

官方文档对于DBA_TABLESPACE_USAGE_METRICS的解释是:翻译过来是:DBA_TABLESPACE_USAGE_METRICS 描述了所有类型表空间的表空间使用指标,包括永久表空间、临时表空间和撤消表(UNDO)空间。DBA_TABLESPACE_USAGE_METRICS的视图结构DBA_TABLESPACE_USAGE_METRICS的中文描述。

weixin_tank88921的博客 2276

oracle 版本演进,【比较】Oracle不同版本中关于ALTER TABLESPACE的功能演进

1.分别看一下从9i到11gR2版本中关于“ALTER TABLESPACE”的语法。1).11g(R1和R2相同)的语法:ALTER TABLESPACE tablespace{ DEFAULT [ table_compression ] storage_clause| MINIMUM EXTENT size_clause| RESIZE size_clause| COALESCE| SHRIN...

weixin_33869754的博客 601

oracle之undo tablespace

UNDOTBS01.DBF太大的解决方法 最近碰到一个oracle的问题,在网上查了好久,终于找到了解决办法,虽然还在不断的测试,不过就目前测试的情况来看,好像没有不正常,不知道有没有潜在的不安全。不过通过这次问题的发生,我对oracle产生了浓厚兴趣,哈哈,纪念一下                                                            方法一:

362

Oracle User、Schema、Default Tablespace

User和Schema并不是同一个东西,人们很容易把这两个概念混淆:Oracle User :Oracle数据库的账户。Oracle Schema: Oracle User + Oracle User所拥有的数据库对象集合。ASKTOM:LinkYou should consider a schema to be the user account and collection of all obj

田攀的日志 3954

oracle tablespace查询_ORACLE逻辑体系架构

ORACLE逻辑体系介绍ORACLE的逻辑体系可分为如下几块BLOCK(数据块):是ORACLE数据库最小的逻辑单元EXTENT(区):是ORACLE数据库最小的扩展单元SEGMENT(段):与数据表相对应TABLESPACE(表空间):数据库的组成单元ORACLE逻辑结构示意图Block1. ORACLE的最小逻辑数据单元 2. 数据库BLOCK的大小一般要设置为操作系统OS块容量的整数倍,这样...

weixin_42458217的博客 1039
上一篇: Oracle Wallet配置
下一篇: oracle 初探
RegeditNo1
博客等级 码龄16年 2粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值