千家信息网

给表空间增加数据文件,存储在ASM

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,**管控 10.1.80.174 实例名PGJT2,表空间为ODS已经满了,申请增加数据文件。col tablespace_name for a15;select d.tablespace_name,
千家信息网最后更新 2025年02月03日给表空间增加数据文件,存储在ASM

**管控 10.1.80.174 实例名PGJT2,表空间为ODS已经满了,申请增加数据文件。

col tablespace_name for a15;

select d.tablespace_name,space "sum_space(m)",blocks sum_blocks,space-nvl(free_space,0) "used_space(m)",

round((1-nvl(free_space,0)/space)*100,2) "used_rate(%)",free_space "free_space(m)"

from

(select tablespace_name,round(sum(bytes)/(1024*1024),2) space,sum(blocks) blocks

from dba_data_files

group by tablespace_name) d,

(select tablespace_name,round(sum(bytes)/(1024*1024),2) free_space

from dba_free_space

group by tablespace_name) f

where d.tablespace_name = f.tablespace_name(+) union all

select d.tablespace_name,space "sum_space(m)",blocks sum_blocks,

used_space "used_space(m)",round(nvl(used_space,0)/space*100,2) "used_rate(%)",

nvl(free_space,0) "free_space(m)"

from

(select tablespace_name,round(sum(bytes)/(1024*1024),2) space,sum(blocks) blocks

from dba_temp_files

group by tablespace_name) d,

(select tablespace_name,round(sum(bytes_used)/(1024*1024),2) used_space,

round(sum(bytes_free)/(1024*1024),2) free_space

from v$temp_space_header

group by tablespace_name) f

where d.tablespace_name = f.tablespace_name(+);

------------ASM-----------------------------

select NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;

查看出 ODS 使用率达到99% DATA 剩余1.3T

Select file_name,tablespace_name ,status from dba_data_files where tablespace_name='ODS';

FILE_NAME TABLESPACE_NAME STATUS

+DATA/pgjt/datafile/ods.539.784460919 ODS AVAILABLE

如何查找这个路径呢?

ps -ef | grep smon

会查找到 asm_smon_+ASM2

[oracle]$ export ORACLE_SID=+ASM2

[oracle] $ asmcmd

ASMCMD > lsdg

ASMCMD> cd data

ASMCMD > ls

ASMCMD > cd DATAFILE

ASMCMD> ls

发现了ods.539.784460919

增加数据文件 alter tablespace ODS add datafile '+DATA' size 8G;

(说明:直接加+DATA就可以,不用写/pgjt/datafile/ods.539.784460919,会自动生成。)

验证:用前面的方法还有查看系统日志

0