扩展SDE表空间容量
- 起因
- 解决
- 总体流程
- 查看表空间基本属性
- 查看表空间物理存储文件位置及状态信息
- 查看表空间中各“段类型(Segment)”
- 创建新的物理存储文件以扩展表空间
- 重设原有数据文件的大小
- 使指定表空间物理文件容量自动增加
- 使表空间自动扩容,但不指定表空间物理文件
起因
创建的ArcSDE —— 基于Oracle12c,无法创建要素类 也无法将要素类导入。
创建要素类报错 000210: 无法创建输出
将要素类导入报错 ORA-01658无法为表空间中的段创建INITIAL区
通过给sde表空间扩容解决问题
解决
总体流程
流程分析在下面,不想看流程分析的可以直接看这里
1、查看并确认当前数据库中SDE的tablespace_name
-- 查询当前数据库中表空间的容量,单位MB
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
2*、找到tablespace_name对应的物理存储文件,此步可选
-- 查看数据库表空间的物理存储文件地址及各种状态信息
select * from dba_data_files;
3、找到对应的tablespace_name对应的物理存储文件地址后,确认是要通过新建物理存储文件、扩容现有物理存储文件或授权自动扩容,这三个方式中的哪个来进行扩容。这里假设要扩容现有的数据存储文件。
```sql
-- 重设原有数据文件的大小
ALTER DATABASE DATAFILE 'D:\APP\ORACLE12C\PRODUCT\12.1.0\DBHOME_1\DATABASE\SDE_TBS01_EXTALUN_1'
RESIZE 1024M;
## 查看表空间容量
查看当前数据库中各个表空间的容量,默认SDE是400M,这里我已经扩容过一次了,所以是500M```sql
-- 查询当前数据库中表空间的容量,单位MB
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
查看表空间基本属性
-- 查询当前数据库中有那些表空间 及其基本属性
select * from v$tablespace;
查看表空间物理存储文件位置及状态信息
-- 查看数据库表空间的物理存储文件地址及各种状态信息
select * from dba_data_files;
查看表空间中各“段类型(Segment)”
-- 查看sde表空间中各“段”所占的空间
select SEGMENT_TYPE,owner,sum(bytes)/1024/1024
from dba_segments
where tablespace_name='SDE_TBS'
group by segment_type,owner;
创建新的物理存储文件以扩展表空间
-- 创建新的数据文件以扩充
alter tablespace SDE_TBS
add datafile 'D:\APP\ORACLE12C\PRODUCT\12.1.0\DBHOME_1\DATABASE\SDE_TBS01_EXTALUN_1'
size 100M;
重设原有数据文件的大小
-- 重设原有数据文件的大小
ALTER DATABASE DATAFILE 'D:\APP\ORACLE12C\PRODUCT\12.1.0\DBHOME_1\DATABASE\SDE_TBS01_EXTALUN_1'
RESIZE 1024M;
数据文件容量变为1424M
使指定表空间物理文件容量自动增加
-- 使指定表空间物理文件容量自动增加
ALTER DATABASE DATAFILE 'F:\SOFT-INSTALL-SOFT\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\HOUTAI.ORA'
AUTOEXTEND ON NEXT 200M
MAXSIZE UNLIMITED;
使表空间自动扩容,但不指定表空间物理文件
-- 使表空间自动扩容,但不指定表空间物理文件
ALTER TABLESPACE SDE
AUTOEXTEND ON NEXT 100M
MAXSIZE UNLIMITED;