oracle 添加存储自动扩展数据文件流程(auto)

来源:这里教程网 时间:2026-03-03 19:08:03 作者:

1、查哪些需要关自动扩展(先写好,最后再执行)

datafile set linesize 300 col file_name for a70 select file_name,tablespace_name,autoextensible from dba_data_files where autoextensible='YES' order by tablespace_name; tempfile set linesize 300 col file_name for a70 select file_name,tablespace_name,autoextensible from dba_temp_files where autoextensible='YES' order by tablespace_name; 关datafile的自动扩展 alter database datafile '/home/oracle/app/oradata/jxyth/system11.dbf' autoextend off; 关tempfile的自动扩展 alter database tempfile '/home/oracle/app/oradata/jxyth/system11.dbf' autoextend off;

2、查看哪些表空间需要新建数据文件

set linesize 300 col file_name for a70 select file_name,tablespace_name,autoextensible from dba_data_files order by tablespace_name; set linesize 300 col file_name for a70 select file_name,tablespace_name,autoextensible from dba_temp_files order by tablespace_name;

3、新添加表空间数据文件

datafile alter tablespace PORATAL_HIS add datafile '/newdata/data/poratal_his84.dbf' size 1g autoextend on; tempfile alter tablespace TEMP add tempfile '/newdata/data/temp04.dbf' size 1g autoextend on;

4、关老数据文件的自动扩展

用的1写好的语句

5、再检查一遍

datafile set linesize 300 col file_name for a70 select file_name,tablespace_name,autoextensible from dba_data_files where autoextensible='YES' order by tablespace_name; tempfile set linesize 300 col file_name for a70 select file_name,tablespace_name,autoextensible from dba_temp_files where autoextensible='YES' order by tablespace_name;

6、查看表空间

col tablespace_name format a8 col status format a7 col extent_management format a5 col segment_space_management format a6 col contents format a9 select tpsname,status,mgr,maxsize,c_userd,max_used  from          ( SELECT  d.tablespace_name  tpsname,d.status status,         d.segment_space_management mgr, d.contents type,         TO_CHAR(NVL(trunc(A.maxbytes / 1024 / 1024), 0),'99G999G990') maxsize,         TO_CHAR(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0),'990D00') c_userd,         TO_CHAR(NVL((a.bytes - NVL(f.bytes, 0)) / a.maxbytes * 100, 0),'990D00') max_used         FROM sys.dba_tablespaces d,         (SELECT tablespace_name,sum(bytes) bytes,SUM(case autoextensible when  'NO'  then BYTES when  'YES' then MAXBYTES else null end ) maxbytes            FROM dba_data_files  GROUP BY tablespace_name) a,         (SELECT tablespace_name,SUM(bytes) bytes, MAX(bytes) largest_free   FROM dba_free_space   GROUP BY tablespace_name) f           WHERE d.tablespace_name = a.tablespace_name   AND d.tablespace_name = f.tablespace_name(+)         )         where max_used>0     order by max_used desc;

相关推荐