在Oracle EBS R12系统中,在安装完毕Oracle EBS套件之后,根据Oracle EBS 的可选数据库模型OATM(Oracle Applications Tablespace Model),在其后台数据库中一般会自动创建19个表空间,包括:


其中 APPS_ 开头的表空间是属于Oracle EBS的业务表空间。
My Oracle Support中,关于OATM模型表空间的介绍信息:

在日常的Oracle EBS需求开发过程中,使用最多的表空间为 APPS_TS_TX_DATA 和 APPS_TS_TX_IDX ,一个用来存放创建的客户化底层表数据,一个用来存放客户化表上面建立的索引数据。
1、APPS_TS_INTERFACE表空间
这个表空间主要是用来存储接口数据和临时数据以及相关索引,使用比较多的例如:在GL模块中进行日记账导入时,需要先讲日记账数据插入 GL_INTERFACE 接口表中,此表就是位于 APPS_TS_INTERFACE 表空间。
2、APPS_TS_MEDIA表空间
这个表空间是一种特殊的表空间,用于存储与媒体管理功能相关的数据,这包括EBS中的多媒体文件,如图像、视频,导出文件等。例如在Form页面上使用 File > Export 功能导出页面数据时,同样也会占用这个表空间,使用这个功能进行数据导出时,会写入一行记录到 APPLSYS.FND_LOBS 表中,此表就是位于 APPS_TS_MEDIA 表空间。

对此表空间进行清理的步骤:
EBS 清理附件表空间apps_ts_media表空间内附件fnd_lobs
第一步:
设置FND_LOBS附件的expiration_date( 此步的目的在于运行第二步的请求时,他只会删除FND_LOBS里面expiration_date已经过期了的,未过期或者为空的,他是不会删的,而我们这里大部分附件的expiration_date都为空,所以需要先将他们更新为一个过期的日期,这样请求就能把他们都清理掉。)
第二步
在ebs内运行请求“ Purge Obsolete Generic File Manager Data”
-
添加请求,参考 216541.1
Assign the “Purge Obsolete Generic File Manager Data” Concurrent
Program to the Request Group “System Administrator Reports”. -
Access Oracle Applications as the Sysadmin user.
-
Select the System Administrator responsibility.
-
Navigate to the following menus:
Security / Responsibility / Request -
Place the cursor in the “Group” field of the
“Request Groups” form. -
Select “View” from the menu.
Select “Find” from the menu.
Select “System Administrator Reports”. -
Place the cursor in the “Type” column.
Use “File” from the menu to create a “New” record. -
Set the “Type” field to “Program”.
-
Select “Purge Obsolete Generic File Manager Data” for the “Name” field.
-
Select “File” from the menu.
Select “Save and Proceed” from the menu.
Program Parameters:
Expired: Enter “Y” if you want to purge expired data only. Enter “N” if you want the purge to include all data. The default is “Y.”
Program Name: Enter the program name(s) to process. Leave blank to process all programs.
Program Tag: Enter the program tag(s) to process. Leave blank to process all program tags. Tags are identifiers used by the Generic File Manager for categorization purposes.
- 运行请求
用管理员sysadmin本地登录ebs
运行后可以查看fnd_lobs表内那些行已经被删除,不过实际的物理大小还是没有变的
第三步:将数据文件清理
运行上面的请求后,实际的数据并不会变化,只是FND_LOBS内相关行被清理了,实际的附件还是存在数据库内。
此时可以通过move操作或者export/import操作将那些数据通过转移来清空释放。
move方法
首先move表 move完要重建索引
alter table APPLSYS.APPLSYS.FND_LOBS move ;
alter index APPLSYS.FND_LOBS_CTX rebuild;
alter index APPLSYS.FND_LOBS_N1 rebuild;
alter index APPLSYS.FND_LOBS_U1 rebuild;
对应clob字段也就是file_data字段要单独move,在move的过程中会降低高水位线。
查看 file_data 的大小
select t.BYTES/(1024*1024) M,t.owner,t.segment_name,t.segment_type from dba_segments t where t.tablespace_name=upper(‘APPS_TS_MEDIA’) and t.owner=‘APPLSYS’;
找到lob段,根据大小创建一个临时表空间
create tablespace test_tmp datafile ‘路径.dbf’ size 20g;
空间不够的话可以添加
alter tablespace test_tmp add datafile ‘路径.dbf’ size 20g;
把表空间分配给applsys用户
alter user applsys quota unlimited on test_tmp;
移动lob段
alter table applsys.fnd_lobs move log(file_data) store as (tablespace test_tmp);
完了后在移动回去
alter table applsys.fnd_lobs move log(file_data) store as (tablespace APPS_TS_MEDIA);
最后删除表空间
drop tablespace test_tmp
在操作系统里面删除表空间文件
rm test_tmp.dbf;
在查看apps_ts_media 表空间发现使用率已经下降
3、APPS_UNDOTS1表空间
这个表空间主要是用于存储回滚信息的表空间,它通常是系统默认的回滚表空间,用于保证用户在操作数据库时,即使发生系统故障或者用户操作失误,数据库也能够回滚到操作前的状态,保证数据的一致性和完整性。
通常情况下,APPS_UNDOTS1表空间是自动管理的,数据库会自动为其分配回滚信息。然而,在某些情况下,可能需要手动管理APPS_UNDO_TS1表空间,例如,当需要为特定的用户或会话指定一个不同的撤销表空间时。
4、SYSTEM表空间
4.1 基本介绍
System表空间是Oracle数据库中的一个特殊表空间,它在数据库创建时就自动创建了,用于存储数据库的核心系统对象和元数据信息。System表空间中包含了系统表、数据字典、系统视图等重要的数据库对象,这些对象对于数据库的正常运行和管理至关重要。
默认名称:SYSTEM
存储结构:System表空间的存储结构和其他表空间类似,都包括数据段、区和数据文件等组成部分。
4.2 作用
存储核心系统对象 —— System表空间存储了数据库的核心系统对象,包括系统表、数据字典、系统视图等。这些对象对于数据库的正常运行和管理至关重要,因为它们存储了数据库的元数据信息和系统配置信息;
存储数据字典 —— 数据字典是Oracle数据库中的一个重要组成部分,它包含了数据库中所有对象的描述信息和定义信息。数据字典存储在System表空间中,用于支持数据库的各种操作和管理功能;
支持数据库操作和管理 —— System表空间中存储的系统对象和元数据信息支持数据库的各种操作和管理功能。例如,数据库管理员可以通过系统表和视图来查询数据库的状态和配置信息,执行数据库维护任务和性能优化操作;
存储系统索引和约束 —— System表空间还存储了数据库中的系统索引和约束等元数据信息。系统索引用于加速系统表的访问和查询操作,而系统约束用于保证数据的完整性和一致性;
支持数据库恢复和备份 —— System表空间中存储的元数据信息对于数据库的恢复和备份非常重要。在数据库恢复时,数据库引擎需要读取System表空间中的元数据信息来重建数据库的状态;在数据库备份时,数据库引擎需要备份System表空间中的元数据信息来确保备份的完整性和可用性。
总结:Oracle System表空间是数据库的核心组成部分,它存储了数据库的核心系统对象和元数据信息。System表空间对于数据库的正常运行和管理至关重要,因为它包含了诸如数据字典、系统表、系统视图等重要的数据库对象。管理员需要定期监控、维护和优化System表空间,以确保数据库的稳定运行和性能优化。通过正确管理和维护System表空间,可以提高数据库的性能、可用性和安全性,从而更好地满足业务需求和用户需求。
5、SYSAUX表空间
5.1 基本介绍
SYSAUX表空间是Oracle数据库中的一个特殊表空间,它是在Oracle数据库10g版本中引入的。SYSAUX表空间用于存储数据库的辅助系统数据和附加组件数据,包括但不限于以下内容:
Oracle数据库选项和附加组件(如OLAP、文本、空间等)
Oracle Enterprise Manager(OEM)的管理数据
字符集和语言信息
磁盘空间管理(ASM)的元数据
基本信息
默认名称:SYSAUX
存储结构:SYSAUX表空间的存储结构和其他表空间类似,都包括数据段、区和数据文件等组成部分。
5.2 作用
存储辅助系统数据 —— SYSAUX表空间存储了数据库的辅助系统数据,包括数据库选项和附加组件的相关数据。这些数据对于数据库的正常运行和管理至关重要,因为它们包含了数据库的附加功能和扩展功能所需的数据信息;
减轻System表空间的负担 —— 由于System表空间存储了大量的核心系统对象和元数据信息,因此容易出现空间不足的情况。SYSAUX表空间的引入可以将部分辅助系统数据和附加组件数据迁移到另一个表空间中,从而减轻System表空间的负担,提高数据库的性能和可用性;
支持数据库选项和附加组件 —— SYSAUX表空间存储了数据库选项和附加组件所需的相关数据,包括但不限于OLAP、文本、空间等组件。这些数据对于数据库选项和附加组件的正常运行和管理至关重要,因为它们包含了这些组件所需的配置信息和元数据信息;
支持Oracle Enterprise Manager(OEM) —— SYSAUX表空间存储了Oracle Enterprise Manager(OEM)的管理数据,包括监控数据、性能数据、日志数据等。这些数据对于OEM的正常运行和管理至关重要,因为它们包含了OEM所需的配置信息和元数据信息;
存储字符集和语言信息 —— SYSAUX表空间还存储了数据库的字符集和语言信息,用于支持数据库的国际化和本地化功能。这些信息包括字符集配置、语言设置、语言环境文件等,对于数据库的跨地域和跨语言运行至关重要;
存储磁盘空间管理的元数据 —— SYSAUX表空间还存储了磁盘空间管理(ASM)的元数据信息,用于支持数据库的磁盘空间管理功能。这些元数据信息包括ASM实例配置、ASM磁盘组信息、ASM文件映射信息等,对于数据库的磁盘空间管理至关重要。
总结:Oracle SYSAUX表空间是数据库的一个重要组成部分,它存储了数据库的辅助系统数据和附加组件数据,包括数据库选项和附加组件的相关数据、Oracle Enterprise Manager(OEM)的管理数据、字符集和语言信息、磁盘空间管理(ASM)的元数据等。管理员需要定期监控、维护和优化SYSAUX表空间,以确保数据库的稳定运行和性能优化。通过正确管理和维护SYSAUX表空间,可以提高数据库的性能、可用性和安全性,从而更好地满足业务需求和用户需求




