ITPub博客

首页 > 数据库 > Oracle > 表空间利用率及表空间的补充

表空间利用率及表空间的补充

原创 Oracle 作者:myis55555 时间:2021-01-14 10:51:57 0 删除 编辑
--生成库的表空间占用率一般不会超过90%,下面的脚本执行要查看下,不需要进行实际的修改。
--查看表空间及临时表空间的使用情况
--表空间的使用情况
select a.tablespace_name,
       a.bytes / 1024 / 1024 "sum MB",
       (a.bytes - b.bytes) / 1024 / 1024 "used MB",
       b.bytes / 1024 / 1024 "free MB",
       round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "used%"
  from (select tablespace_name, sum(bytes) bytes
          from dba_data_files
         group by tablespace_name) a,
       (select tablespace_name, sum(bytes) bytes, max(bytes) largest
          from dba_free_space
         group by tablespace_name) b
 where a.tablespace_name = b.tablespace_name
 order by ((a.bytes - b.bytes) / a.bytes) desc;
 
/*
tablespace3  880 848.5 31.5  96.42
tablespace2  770 729.3125  40.6875 94.72
tablespace1  78783.359375  67939.359375  10844 86.24
*/
--临时表空间的使用情况
SELECT d.tablespace_name "Name", d.status "Status", 
       TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
          TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,
       TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
  FROM SYS.dba_tablespaces d,
       (SELECT   tablespace_name, SUM (BYTES) BYTES
            FROM dba_temp_files
        GROUP BY tablespace_name) a,
       (SELECT   tablespace_name, SUM (bytes_cached) BYTES
            FROM v$temp_extent_pool
        GROUP BY tablespace_name) t
 WHERE d.tablespace_name = a.tablespace_name(+)
   AND d.tablespace_name = t.tablespace_name(+)
   AND d.extent_management LIKE 'LOCAL'
   AND d.CONTENTS LIKE 'TEMPORARY';
   
/*
TEMP  ONLINE        6,627.00       6626.00    99.98
TEMP1  ONLINE        4,700.00       4696.00    99.91
*/
--增加表空间,临时表空间,临时表空间组
--根据第4步查询出来的结果,如果Used %大于80%,查询数据文件所在的路径
--查询表空间的数据文件所在的路径
 --查看表空间的名字及文件所在位置
select tablespace_name,
       file_id,
       file_name,
       round(bytes / (1024 * 1024), 0) total_space,
     AUTOEXTENSIBLE
  from sys.dba_data_files
 order by tablespace_name;
/*
tablespace1 8 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace1.DBF 300 YES
tablespace2 9 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace2.dbf 200 YES
tablespace3  6 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/Etablespace3 13248 YES
tablespace4  12  /u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4  32768 YES
*/
--查询临时表空间的数据文件所在的路径
SELECT * FROM DBA_TEMP_FILES;
/*
/oradata/easytongdb/temp01.dbf  1 TEMP  6948913152  848256  ONLINE  1 YES
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/temp1.dbf 2 temp1 4928307200  601600  ONLINE  1 YES
*/
--常用的增加表空间,临时表空间的sql语句
--增加表空间的sql语句(datafile的文件名以查询出来的路径为准)
--手工改变已存在数据文件的大小 分配大小resize
ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4_1.dbf' RESIZE 1024M;
--ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4' RESIZE 1024m;
 
-- 1024M=1G,一个数据文件最大为32G 添加数据文件
--在原有表空间对应的数据文件上扩充的,每次扩50m,
--但是这个数据文件的最大大小是32G,但是每个数据文件会有两个块存储其他信息,指定maxsize为31G。
 ALTER TABLESPACE ET_BASIC ADD DATAFILE  
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4_1.dbf' SIZE 5G
AUTOEXTEND ON NEXT 50M MAXSIZE 31G;
--允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4.dbf'  
AUTOEXTEND ON NEXT 50M MAXSIZE 31G;
--修改临时表空间文件大小
--增加临时表空间大小,增加数据文件
ALTER TABLESPACE TEMP
ADD TEMPFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/temp1.dbf'
SIZE 3G 
AUTOEXTEND ON
NEXT 128M
MAXSIZE 5G;
--将临时数据文件从1G大小调整为2G,根据时间情况修改
ALTER DATABASE TEMPFILE
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/temp1.dbf' RESIZE 8G;
ALTER DATABASE TEMPFILE
'/oradata/easytongdb/temp01.dbf' RESIZE 10G;
--创建临时表空间指定临时表空间组
create temporary TABLESPACE Temp2 tempfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/Temp1.dbf' size 1G tablespace GROUP TempGroup;
create temporary TABLESPACE Temp3 tempfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/Temp2.dbf' size 1G tablespace GROUP TempGroup;
--修改临时表空间到临时表空间组
alter TABLESPACE Temp1 tablespace GROUP TempGroup;
--修改默认临时表空间为临时表空间组
alter database default temporary TABLESPACE TempGroup;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69903557/viewspace-2749891/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-12-22

  • 博文量
    17
  • 访问量
    6418