表空间查看与扩容

    技术2025-04-25  20

    oracle 数据库里查看表空间使用状况;oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下SQL:

    方法一:

    select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocksfrom dba_data_files tgroup by t.tablespace_name) dbf,(select tt.tablespace_name,sum(tt.bytes) / 1024 / 1024 freespace,sum(tt.blocks) freeblocksfrom dba_free_space ttgroup by tt.tablespace_name) dfswhere trim(dbf.tablespace_name) = trim(dfs.tablespace_name)

    方法二:

    SELECT Total.name "Tablespace Name",Free_space, (total_space-Free_space) Used_space, total_spaceFROM(select tablespace_name, sum(bytes/1024/1024) Free_Spacefrom sys.dba_free_spacegroup by tablespace_name) Free,(select b.name, sum(bytes/1024/1024) TOTAL_SPACEfrom sys.v_$datafile a, sys.v_$tablespace Bwhere a.ts# = b.ts#group by b.name) TotalWHERE Free.Tablespace_name = Total.name

    当发现有的表空间不够的错误时,处理如下:1:找出该表空间对应的数据文件及路径

    select * from dba_data_files twhere t.tablespace_name = 'ARD'

    2:增大数据文件

    alter database datafile '全路径的数据文件名称' resize ***M

    3:增加数据文件

    alter tablespace 表空间名称

    add datafile '全路径的数据文件名称' ***M

    注解:表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G

    最新回复(0)