oracle rman的大小不一定比segment的大小大

2024-04-16 05:52

本文主要是介绍oracle rman的大小不一定比segment的大小大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

rman备份备份使用过的数据块
segment是表分配的数据库,如果表没有被purge,那么这个空间会一直存在
第一步创建一个表空间

SQL> create tablespace dbs datafile '/u01/oracle/oradata/orcl/dbs01.dbf' size 200M;Tablespace created.

备份这个表空间文件

RMAN> backup tablespace dbs;Starting backup at 15-APR-24
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=158 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00008 name=/u01/oracle/oradata/orcl/dbs01.dbf
channel ORA_DISK_1: starting piece 1 at 15-APR-24
channel ORA_DISK_1: finished piece 1 at 15-APR-24
piece handle=/u01/oracle/product/10.2.0.5/dbs/012oa4ka_1_1 tag=TAG20240415T094857 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-APR-24

大小

[oracle@dev1 dbs]$ du -hs 0*
104K    012oa4ka_1_1

这个时候我们查看dba_segments这个表空间大小

SQL> select sum(bytes)/1024/1024 from dba_segments where  tablespace_name='DBS'2  ;SUM(BYTES)/1024/1024
--------------------SQL> 

空记录
接下来我们创建一张表

create table testinfo(id number(12)) 
tablespace dbs
storage(initial 15m)
;

再次查询dba_segments

SQL> select sum(bytes)/1024/1024 from dba_segments where  tablespace_name='DBS';SUM(BYTES)/1024/1024
--------------------15

看到没有分配表空间是15M
这个时候我们继续rman 表空间

RMAN> backup tablespace dbs;Starting backup at 15-APR-24
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=141 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00008 name=/u01/oracle/oradata/orcl/dbs01.dbf
channel ORA_DISK_1: starting piece 1 at 15-APR-24
channel ORA_DISK_1: finished piece 1 at 15-APR-24
piece handle=/u01/oracle/product/10.2.0.5/dbs/022oa5ug_1_1 tag=TAG20240415T101128 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-APR-24

大小变化点变大了点但还是很小

[oracle@dev1 dbs]$ du -hs 0*
104K    012oa4ka_1_1
360K    022oa5ug_1_1

然后删除我们创建的表记住一定要purge,不然的话dba_segments大小不变
删除之后rman备份表空间大小是104K,dba_segments返回记录是空

下面我们对数据做填充,直接把dbs表空间填充满200M
然后我们对数据做delete和truncate操作
直接说结果
truncate之后rman表空间大小只有表初始化大小
(这一点和一开始表没有插入记录不一样多了15M)
184M 062oa8ml_1_
dba_segments大小也是15M

delete之后rman的大小是184M 062oa8ml_1_
dba_segments大小是198M

得出结论:
如果表没写记录,那么创建表但是表的数据块没有使用那么rman不会备份,dba_segments记录数据库分配的块大小
如果表中数据块被使用了,truncate操作会让rman备份表高水位数据以下数据
dba_segments占用大小差不多
如果表中数据块被使用了,delete操作,rman会备份高水位以下记录(delete水位不释放)
dba_segments差不多和rman大小

这篇关于oracle rman的大小不一定比segment的大小大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907952

相关文章

ORACLE 、达梦 数据库查询指定库指定表的索引信息

在Oracle数据库中,索引是一种关键的性能优化工具,通过它可以加快数据检索速度。在本文中,我们将深入探讨如何详细查询指定表的索引信息,以及如何利用系统视图和SQL查询来获取这些信息。 索引在数据库中的重要性 索引是一种数据结构,用于加快数据库表中数据的检索速度。它类似于书籍的目录,可以帮助数据库引擎快速定位数据行,特别是在大型数据集合下,其作用尤为显著。 查询指定表的索引信息 在Orac

oracle数据导出txt及导入txt

oracle数据导出txt及导入txt ORACLE数据导出TXT及从TXT导入: 导出到TXT文件: 1、用PL/SQL DEV打开CMD窗口。 2、spool d:/output.txt; 3、set heading off; --去掉表头 4、select * from usergroup; 5、spool off; www.2ct

Linux开机自动启动ORACLE设置

Redhat init简介: Linux启动时,会运行一个init程序,然后由init来启动后面的任务,包括多用户环境(inittab中设定)和网络等。运行级就是当前程序运行的功能级别,这个级别从1到6,具有不同的功能。这些级别在/etc/inittab(其他发行版这个文件位置不同)中指定,该文件就是init程序寻找的主要文件。最先运行的服务放在/etc/rc.d目录下。

red hat enterprise 下完全删除oracle 数据库

步骤 1     以 oracle 用户登录主、备节点。 步骤 2     关闭 数据库 监听。 > lsnrctl stop 步骤 3     关闭数据库 实例 。 > sqlplus '/as sysdba' > shutdown immediate 步骤 4     以root用户登录数据库 服务器 。 步骤 5     删除Oracle用户。 # userdel -r or

如何查看和修改Oracle数据库服务器端的字符集

Oracle数据库查看和修改服务器端的字符集的方法是本文主要要介绍的内容,接下来救让我们一起来了解一下这部分内容。 A、oracle server 端字符集查询 select userenv(‘language’) from dual 其中NLS_CHARACTERSET 为server端字符集 NLS_LANGUAGE 为 server端字符显示形式 B、查询oracle

C#界面动态布局 界面控件随着界面大小尺寸变化而变化

要想写一个漂亮的界面,光靠利用Anchor和Dock属性是远远不够的,我们需要用到相对布局,就是不管窗口大小怎么变化,控件相对父控件的相对位置保持不变。可惜c#里没有提供按照百分比布局。所以只能自己再resize()事件里调整控件位置。 首先在窗体的构造函数里保存父窗体的长宽,以及每个控件的X,Y坐标的相对位置:  int count = this.Controls.Count * 2 + 2;

嘉楠勘智CanMV-K230的大小核如何操作

摘要:嘉楠勘智CanMV-K230的帮助文档、例子模型说明中,一直在提“大核,小核”,还提到将文件复制到小核并解压,然后在大核中操作,本文介绍一下这两个“核”如何操作。 所需的硬件:CanMV-K230-V1.1,type-c数据线2根,带有hdmi接口的显示屏,hdmi数据线. 软件:win10,putty 操作步骤(小端) 第一步:将type-c数据线将CanMV-K230

如何减小iOS应用程序的大小

转自:http://mobile.51cto.com/hot-434754.htm 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速?本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装程序时)。 AD:51CTO学院:IT精品课程在线看! 本文译自:Reducing the size of my App Q: 怎样才能让我的程序安装包小一

在 Oracle Linux 8.9 上安装中文和日文字体的完整指南

在 Oracle Linux 8.9 上安装中文和日文字体的完整指南 在 Oracle Linux 8.9 上安装中文和日文字体的完整指南前提条件安装步骤1. 更新系统2. 安装字体包安装中文字体安装日文字体 3. 安装字体配置工具4. 更新字体缓存5. 验证安装 可能遇到的问题及解决方案结语 在 Oracle Linux 8.9 上安装中文和日文字体的完整指南 在使用 Ora

oracle创建一个带参数的存储过程:为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水

--创建一个带参数的存储过程--为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水/*beginraisesalary(6755);raisesalary(4456);commit();//这里提交,所以说我们一般不会在存储过程或者存储函数中写提交,end;/*/--host cls--先创建表emp和插入数据,显示表的结构用desc 表名--create table empcr